【发布时间】:2023-03-21 22:28:02
【问题描述】:
您好,我正在尝试加载存储在卡上的图像,并认为加载位图更好,但我希望同时拥有完整路径和缩略图路径。我怎么做?我希望我的适配器向我显示缩略图列表,但是当我单击时我需要重定向到预览,所以我还需要一个完整路径。所以如果我的对象是Image,我需要同时加载imagePath和imageThumbPath。
这是我现在加载它们的方式:
new Image(data) 其中 data 是实际图像的路径。如何将拇指路径同时加载到同一个对象中?
public static List<Image> getCameraImages(Context context) {
final String[] projection = { MediaStore.Images.Media.DATA };
final String selection = MediaStore.Images.Media.BUCKET_ID + " = ?";
final String[] selectionArgs = { CAMERA_IMAGE_BUCKET_ID };
final Cursor cursor = context.getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI,
projection,
selection,
selectionArgs,
null);
List<Image> result = new ArrayList<Image>(cursor.getCount());
if (cursor.moveToFirst()) {
final int dataColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
do {
final String data = cursor.getString(dataColumn);
result.add(new Image(data));
} while (cursor.moveToNext());
}
cursor.close();
return result;
}
public static final String CAMERA_IMAGE_BUCKET_NAME =
Environment.getExternalStorageDirectory().toString()
+ "/DCIM/Camera";
public static final String CAMERA_IMAGE_BUCKET_ID = getBucketId(CAMERA_IMAGE_BUCKET_NAME);
public static String getBucketId(String path) {
return String.valueOf(path.toLowerCase().hashCode());
}
【问题讨论】:
标签: android image camera thumbnails