Android Q:如何从特定目录中获取图像列表

阿博塞拉伊

Android Q:我需要从我在其中保存图像的特定目录中获取图像列表,并在我的应用程序上显示这些图像。

保存图片代码:

final String relativeLocation = Environment.DIRECTORY_PICTURES + File.separator + "MyMedia" + File.separator + "Photo";
            ContentResolver resolver = context.getContentResolver();
            ContentValues contentValues = new ContentValues();
            contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, name);
            contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpg");
            contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, relativeLocation);
            Uri imageUri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
            fos = resolver.openOutputStream(Objects.requireNonNull(imageUri));
            bmp.compress(Bitmap.CompressFormat.JPEG,100, fos);
            Objects.requireNonNull(fos).close();
            Objects.requireNonNull(fos).flush();

获取图片代码:

Uri externalUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
                String[] projection = {
                        MediaStore.Files.FileColumns._ID,
                        MediaStore.Images.Media.DATE_TAKEN,
                        MediaStore.MediaColumns.TITLE,
                        MediaStore.Images.Media.MIME_TYPE,
                        MediaStore.MediaColumns.RELATIVE_PATH
                };
                Cursor cursor = context.getContentResolver().query(externalUri, projection, null, null,  MediaStore.Images.Media.DATE_TAKEN +" DESC");


            int idColumn = cursor.getColumnIndex(MediaStore.MediaColumns._ID);
            int titleColumn = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.TITLE);
            int relativePathColumn = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.RELATIVE_PATH);

            while (cursor.moveToNext()) {
                Uri photoUri = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, cursor.getString(idColumn));

            }

我需要一个直接查询来获取保存在 RELATIVE_PATH 中的所有图像的列表,(“MyMedia/Photo”)而不添加,如果游标循环中的条件检查相对路径列是否等于“MyMedia/Photo”,因为所有图像的循环在用户的设备中!我们有没有办法直接从我的目录中获取图像列表?

黑应用
String path = "MyMedia/Photo";           

String selection = MediaStore.Files.FileColumns.RELATIVE_PATH + " like ? " ;

String selectionargs []= new String[]{"%" + path + "%"};  

.query(externalUri, projection, selection, selectionars,  MediaStore.Images.Media.DATE_TAKEN 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在android中获取包含图像的目录列表

如何从Android Q中的图库获取图像?

如何获取android q中android文档目录的路径?

如何从Android Q中的Uri获取图像的实际路径?

android,如何获取目录列表?

如何获取Android目录中文件的列表?

在android中获取文件和目录列表

android:从隐藏目录中获取文件列表

如何从Android中的目录中删除图像

如何在 android studio for mac 中获取颜色列表?(Windows 上的 ctrl q)

Android Q:从图库中获取图像并进行处理

如何从Android中的特定相册获取图像信息(图像名称,日期,时间)

Android:如何从任何URl或LINK中获取或获取特定图像,例如facebook?

如何从Android中的XML获取图像的大小

如何在Android Q中从Mediastore获取专辑?

如何从列表 Android 中获取属性

如何从Android中的Firebase获取列表的值?

如何从 Android 中的 List<Pair> 获取列表

从Android Kotlin中的文件夹获取图像列表

如何在Android中获取列表视图的特定项目的ID?

如何直接将文件下载到Android Q(Android 10)的下载目录中

Firebase Android:如何获取特定孩子内部的列表?

如何获取列表项在android setOnTouchListener android中的位置?

如何在Android中获取内部Downloads目录的路径?

如何在Android中获取子目录?

如何在PhoneGap将看到的android目录中获取文档

如何在列表视图android中删除特定的列表项?

如何从Xamarin Android中的图库中获取选定的图像名称

如何从 Android 中的外部存储中获取图像?