将存储在 phone/memory 卡中的图库图像导入 recyclerview
import gallery images which are stored in phone/memory card into recyclerview
我正在尝试从图库图像填充 recyclerview,因为 Instagram 会导入图库图像,而您 select 从列表中上传图像。我想实现类似的东西。关于如何 访问 phone/memory 卡片上的图库图像并填充 recyclerview 的任何建议。也请建议任何实现类似 Instagram 界面的方法,select上传图片。
您可以使用 Android 媒体商店来挑选图片、视频和音频
图像示例代码:
private void imageMediaQuery() {
String[] projection = new String[]{
MediaStore.MediaColumns.DATA,
//MediaStore.Images.Media._ID,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
MediaStore.Images.Media.DATE_TAKEN
};
Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String BUCKET_GROUP_BY =
"1) GROUP BY 1,(1";
String BUCKET_ORDER_BY = MediaStore.Images.Media.DATE_TAKEN + " DESC";
Cursor cur = this.getContentResolver().query(images,
projection, // Which columns to return
BUCKET_GROUP_BY, // Which rows to return (all rows)
null, // Selection arguments (none)
BUCKET_ORDER_BY // Ordering
);
if(cur!=null){
Log.i("ListingImages", " query count=" + cur.getCount());
}
if (cur!=null&&cur.moveToFirst()) {
String bucket;
String path;
int bucketColumn = cur.getColumnIndex(
MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
int pathColumn = cur.getColumnIndex(
MediaStore.MediaColumns.DATA);
do {
bucket = cur.getString(bucketColumn);
path = cur.getString(pathColumn);
} while (cur.moveToNext());
cur.close();
}
}
在上面的代码中,您获取了每个图像的路径,并在您的 recyclerview 适配器的 onBindViewHolder 中使用该路径来显示 images.hope 这有帮助。
我正在尝试从图库图像填充 recyclerview,因为 Instagram 会导入图库图像,而您 select 从列表中上传图像。我想实现类似的东西。关于如何 访问 phone/memory 卡片上的图库图像并填充 recyclerview 的任何建议。也请建议任何实现类似 Instagram 界面的方法,select上传图片。
您可以使用 Android 媒体商店来挑选图片、视频和音频
图像示例代码:
private void imageMediaQuery() {
String[] projection = new String[]{
MediaStore.MediaColumns.DATA,
//MediaStore.Images.Media._ID,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
MediaStore.Images.Media.DATE_TAKEN
};
Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String BUCKET_GROUP_BY =
"1) GROUP BY 1,(1";
String BUCKET_ORDER_BY = MediaStore.Images.Media.DATE_TAKEN + " DESC";
Cursor cur = this.getContentResolver().query(images,
projection, // Which columns to return
BUCKET_GROUP_BY, // Which rows to return (all rows)
null, // Selection arguments (none)
BUCKET_ORDER_BY // Ordering
);
if(cur!=null){
Log.i("ListingImages", " query count=" + cur.getCount());
}
if (cur!=null&&cur.moveToFirst()) {
String bucket;
String path;
int bucketColumn = cur.getColumnIndex(
MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
int pathColumn = cur.getColumnIndex(
MediaStore.MediaColumns.DATA);
do {
bucket = cur.getString(bucketColumn);
path = cur.getString(pathColumn);
} while (cur.moveToNext());
cur.close();
}
}
在上面的代码中,您获取了每个图像的路径,并在您的 recyclerview 适配器的 onBindViewHolder 中使用该路径来显示 images.hope 这有帮助。