イモケンピウスの辞書

脳の記憶容量がフロッピーディスク2枚分しかないのでここに残しておくことにしました。Android、Unityについての記事が多いです

Picassoでストレージから画像読み込む

こんばんわ

今回は備忘録です。

Android開発者にとって頼もしい存在Square大先生のライブラリ「Picasso

ImageViewを使用した画像を表示する過程をすんげえ簡単にしてくれます。 すんげえ簡単になるし、めんどくさい手間みたいなのを代わりに背負ってくれるのですんげえです。

サーバー上の画像を非同期で表示するのが一般的な使用法っぽいのですが 向き先はサーバー以外にも自身のストレージに保存された画像もOKみたいです。

忘れないようにメモメモ。。

// ContentResolverを使用してストレージにアクセス
ContentResolver resolver = context.getContentResolver();
Cursor cursor = resolver.query(
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
        null, null, null, null);
cursor.moveToFirst();

ArrayList<Uri> list = new ArrayList<>();
// 一枚一枚見ていく
for (int i = 0; i < cursor.getCount(); i++) {
    long id = cursor.getLong(cursor.getColumnIndex(MediaStore.Images.Media._ID));
    // 画像のURIを取得
    Uri imageUri = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, String.valueOf(id));
    
    // URIをリストに追加
    list.add(imageUri);

    cursor.moveToNext();
}
cursor.close();

あとはリストの中のURIをPicasoインスタンスのloadメソッドに渡すだけ。

Picasso.with(context).load(imageUri).fit().into(imageView);

すんげえ簡単