« ホームページ リニューアル | メイン | Android Toastが固まるのを回避する方法 »

Android sdcardディレクトリの取得

現在発売されている、G1や、Dev Phoneでは、SDカードディレクトリは、/sdcardにマウントされますが、これらのマウントポイントは将来変更されたり、機種によっては違う値の可能性もあります。
このため、Android SDKでは、外部ストレージディレクトリの取得メソッドが用意されています。

Environment.getExternalStorageDirectory()

SDカードにファイルを書き込む場合は、この、getExternalStorageDirectoryメソッドで返された値に、自分のアプリケーションで使用するためのディレクトリ名を付加して、その下に書き込みを行うのが通常の処理となります。
ちなみに、Dev Phoneでは、SDカードがマウントされていても、いなくても/sdcardの値を返します。
マウントされているかの判断は、Environment.getExternalStorageState()を使用します。

Environment.getExternalStorageState

外部ストレージがマウントされていると、Environment.MEDIA_MOUNTEDを返します。
マウントされていない場合は、Environment.MEDIA_REMOVEDを返します。
書くまでもないが、以下のようなコードとなります。


	public static boolean isSdCardWriteable(){
		String status = Environment.getExternalStorageState();
		if (status.equals(Environment.MEDIA_MOUNTED)) {
			return true;
		}
		return false;
	}

ブログ内の関連する記事

トラックバック

このエントリーのトラックバックURL:
http://www.taosoftware.co.jp/mt/mt-tb.cgi/177