当前位置: 首页 > 知识库问答 >
问题:

如何设置MEDIASTORE从android上的特定文件夹获取图像

禹兴安
2023-03-14

因此,我有以下代码用于使用mediastore获取图像:

int dataIndex = mMediaStoreCursor.getColumnIndex(MediaStore.Files.FileColumns.DATA );

mMediaStoreCursor.moveToPosition(position);
String dataString = mMediaStoreCursor.getString(dataIndex);
Uri mediaUri = Uri.parse("file://" + dataString);
return mediaUri;

这是一个很好的获取图片文件夹中所有图片的工具,我想把它改为获取特定文件夹中的所有图片,这些图片将作为字符串传递。e、 g{android/picture/specificfolder/}

共有3个答案

籍英叡
2023-03-14

您可以使用以下方法-

public List<String> getFromSdcard()
{
    ArrayList<String> imagePaths = new ArrayList<String>();// list of file paths
    File[] listFile;
    File file= new 

    File(android.os.Environment.getExternalStorageDirectory(),"android/picture/specificfolder/");

    if (file.isDirectory())
    {
        listFile = file.listFiles();


        for (int i = 0; i < listFile.length; i++)
        {

            imagePaths.add(listFile[i].getAbsolutePath());

        }
    }
    return imagePaths;
}

要检索图像,请使用

List<String> sample = getFromSdcard();

    for(int i=0; i<sample.size() ; i++){
      final Uri image = Uri.parse("file://"+sample(i).toString());
    }
锺高翰
2023-03-14

查看此帖子

它建议您使用光标并传递投影中所需的文件夹。

来自teh post的相关回答:

mediaCursor = getContentResolver().query( MediaStore.Files.getContentUri("external"),
                null,
                MediaStore.Images.Media.DATA + " like ? ",
                new String[] {"%YOUR_FOLDER_NAME%"},
                null);
咸昊昊
2023-03-14
val DIRECTORY_NAME = "%your_folder_name%"

val selection = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
    MediaStore.MediaColumns.RELATIVE_PATH + " like ? "
else MediaStore.Images.Media.DATA + " like ? "

val selectionArgs = arrayOf(APP_RESOURCE_DIRECTORY_NAME)

val cursor = context.contentResolver.query(
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
        null,
        selection,
        selectionArgs,
        null)
 类似资料:
  • 我正在为我的应用程序创建一个更新,其中有一个文件夹,其中包含保存的图像,我想在GridView中显示。我已经在使用离子库了。库的创建者(Koush Dutta)已经有了一个示例,可以做我想要的事情,并在GridView中显示SD卡中的所有图像。。 我想做的是在GridView中仅显示SD卡上特定文件夹(称为漫画)中的图像。我直接使用上面示例中的代码,只修改了一些名称。 我的问题是,我无法仅将SD卡

  • 问题内容: 如何在文件夹上设置777权限。 我需要将以下文件夹的权限设置为777:admin \ includes \ module_installation 我不知道如何在窗口7中的特定文件夹上设置权限777? 请帮我如何设置?我正在使用Windows 7。 问题答案: 是基于Unix的系统中的权限,对所有者,组和所有人具有完全的读/写/执行权限。通常,我们将此权限授予不需要在Web服务器上公开

  • 嗨,我想从特定文件夹中获取图像。现在我使用此代码: 现在,有了这个uri,我看到了最近的,我必须手动打开文件夹。我尝试设置uri。用我的文件夹路径解析输入,但我还是得到了我最近的。如何自动打开文件夹?

  • 问题内容: 基本上,我想做的是允许用户自己制作folder,然后转到activity包含的button来启动camera。 从这里我希望能够启动camera并将camera图像保存到新创建的文件夹中。 我在将camera图像保存到新创建的文件夹的最后一部分时遇到麻烦。 这是我的Code: 从这里我过渡到此活动: public class Press extends Activity { 请告诉我如

  • 有没有类似于的东西,但在pathlib中?

  • 问题内容: 我正在使用此代码 将图片从我的android应用上传到用户的google驱动器帐户。 但是,如何修改代码以将图像上传到名为“ myFolder”的文件夹? 表示该文件夹存在,如果不存在,请创建该文件夹,然后将图像上传到该文件夹​​。 问题答案: 你需要为文件上传到特定的文件夹,做的是文件夹的ID添加到该文件的父母(参考文档的)。 因此,您需要做的全部事情是: 在驱动器中找到文件夹 创建