2012年7月13日

【Android】Gallaryからファイルパスを取得する

前回、GallaryからBitmapの取得方法の記事を書きましたが、
今回はファイルパスの取得方法です。

ファイルパスを取得してDBにでも保存しておけば、
別口で保存する必要が無く、SDカードの容量を抑えられます。

では、その方法を


onActivityResult()メソッドでIntentを受け取っている前提でお話させていただきます。
// get file path
ContentResolver cr = getContentResolver();
String[] columns = {MediaStore.Images.Media.DATA};
Cursor c = cr.query(intent.getData(), columns, null, null, null);
c.moveToFirst();

Log.d(TAG, "Image File Path: " + c.getString(0));

で終了です。

ContentResolverでデータの指定カラム(MediaStore.Images.Media.DATA)を取得し、
その先頭カーソルのカラムインデックス0の文字列を取得すれば
ファイルパスになります。