android.content.ContentResolver で端末内の
画像ファイルの情報を取得する為のキー一覧は、以下のとおりである。
良く判ってないものが多くてこれから少しずつでも、調べられらたら。。。と思う。
取得キー |
内容 |
_id |
ContentResolver の query で返る ID |
_data |
ファイルパス |
_size |
サイズ、、単位は byte ? |
_display_name |
画面表示名 |
mime_type |
mime-type 例: image/jpeg |
title |
画像のタイトル |
date_added |
ファイル作成日付、1970年1月1日からの秒で、ミリ秒でないことに注意が必要 |
date_modified |
ファイル更新日付、1970年1月1日からの秒で、ミリ秒でないことに注意が必要 |
description |
説明 |
picasa_id |
? |
isprivate |
? |
latitude |
緯度 (これは付加情報?) |
longitude |
経度 (これは付加情報?) |
datetaken |
? |
orientation |
向き、縦/ 水平方向 を示す値 |
mini_thumb_magic |
? |
bucket_id |
? |
bucket_display_name |
? |
width | 幅 |
height | 高さ |
取得方法は、、
ContentResolver contentResolver = getContentResolver();
// 内部SDカード URI の場合、
Uri uri = MediaStore.Images.Media.INTERNAL_CONTENT_URI;
// 外部SDカード URI
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projections = new String[]{
MediaStore.MediaColumns.DISPLAY_NAME
, MediaStore.MediaColumns.MIME_TYPE
, MediaStore.MediaColumns.TITLE
, MediaStore.MediaColumns.DATE_ADDED
, MediaStore.MediaColumns.DATE_MODIFIED
, "width"
, "height"
};
ContentResolver contentResolver = getContentResolver();
Cursor c = contentResolver.query(uri, projections, null, null, null);
if (c.moveToFirst()){
do{
String s = c.getString(c.getColumnIndexOrThrow(MediaStore.MediaColumns.DISPLAY_NAME);
}while(c.moveToNext());
}
このように取得できる。