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);
すんげえ簡単