SDカードからサムネイル画像を取り出す getThumbnailメソッド
SDカードから画像を取り出す場合、利用する画像が元画像ではなくてよい場合やサムネイル画像の場合、縮小画像にする場合などは、元画像をそのまま取得すると遅くなります。
Android 2.1以降より組み込まれたgetThumbnailメソッドを使用すると、縮小された画像を得ることができます。
MediaStore.Images.Thumbnails.getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options)
画像は
MediaStore.Images.Media
MediaStore.Images.Thumbnails
の2種類で得ることができますが、MediaStore.Images.Thumbnailsはサムネイル画像がなければ取得することができません。
ところがgetThumbnailメソッドで取得すると、サムネイル画像がなければ生成して返してくれます。
ContentResolver cr = getContentResolver(); Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; Cursor c = this.managedQuery(uri, null, null, null, null); Bitmap bmp; long id; if(c.moveToFirst()){ do{ id = c.getLong(c.getColumnIndexOrThrow("_id")); bmp = MediaStore.Images.Thumbnails.getThumbnail(cr, id, MediaStore.Images.Thumbnails.MICRO_KIND, null); ………… …… ………… }while(c.moveToNext()); }
MINI_KIND | 512×384 |
MICRO_KIND | 96×96 |
関連記事
- ListViewにArrayAdapterを渡すサンプルコード(一覧項目から選択する場合のUI)
- assetsフォルダのファイルを扱う方法 AssetManager
- SDカードが接続されているかどうか知る方法 書き込み可能かどうか 読み込み可能かどうか
- SDカードの空き容量を調べる方法
- 文字列の置き換えを行う方法 (replaceAllで気をつけること)
- 文字列の部分一致検索を行う方法
- 処理中を表すプログレスダイアログを表示する
- Java メモリー使用量を取得する方法
- SDカードに保存したファイルをギャラリーなどに反映させる方法
- 実行中のメソッド名やクラス名を取得する方法
- Singletonパターンを使ってクラスのインスタンスを1つにする(共有クラスのリソースを削減する方法)
- AndroidアプリでTextViewに使用できるフォントの一覧
- TextViewに独自フォントを使用する方法
- assetsフォルダには1MB以上の非圧縮ファイルを設置できない
- EditTextのソフトキーボードの『完了』を虫メガネアイコンなどに変更する方法
- Viewの表示・非表示を切り替える方法
- ファイルのテキストデータを読み込む
- テキストデータをファイルに書き込む BufferedWriterの使用例
- Webからダウンロードして保存する DefaultHttpClientの使用例
- ファイルをコピーする InputStream,OutputStreamの使用例
- 画像を拡大縮小する方法
- LinearLayout をスクロールさせる方法(ScrollViewの使用方法)
- アプリ起動時にスプラッシュ画面を表示させる方法
- WebViewの設定一覧
- WebViewを使ってWebサイトを表示する方法 WebKitからアプリ、アプリからWebKitへの連携処理
- 暗号化・複合化を行う ブロック暗号
- base64変換の一覧とその詳細サンプルコード
- 型変換の一覧(キャスト)
- 動画を再生する方法 MediaPlayer
- 動画を再生する方法 VideoView
- Androidでマルチスレッド処理をする方法
- 処理を一定時間停止させる方法
- SDやdata、downloadなど各種ディレクトリパスの取得方法
- ファイルの拡張子を取得する
- 実機内やエミュレータ内のファイルを操作する DDMS、adbとサンプルコード
スポンサーリンク