xinwei94 2023-11-19 11:07 采纳率: 0%
浏览 31
已结题

Android查询相册里加入收藏的图片

Android开发怎么查询相册里加入收藏的图片?
类似于朋友圈选图片有个我的收藏文件夹

  • 写回答

19条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-11-19 16:56
    关注
    获得0.90元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    查询相册里加入收藏的图片可以通过以下步骤来实现:

    1.获取存储权限:首先,在AndroidManifest.xml文件中添加存储权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>,并在运行时请求权限。

    2.查询图片数据:使用ContentResolverMediaStore.Images类来查询相册中的图片数据。可以通过以下代码实现:

    // 构建查询的 Uri 和投影
    Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    String[] projection = {MediaStore.Images.Media.DATA};
    String selection = MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " = ?";
    String[] selectionArgs = {"我的收藏"}; // 收藏文件夹的名字
    
    // 执行查询
    Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs,
            MediaStore.Images.Media.DATE_ADDED + " DESC");
    
    // 遍历查询结果
    if (cursor != null) {
        while (cursor.moveToNext()) {
            String imagePath = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));
            // 在这里可以对查询到的图片路径进行处理
        }
        cursor.close();
    }
    

    这段代码会查询相册中名为"我的收藏"的文件夹中的图片数据,并按照添加日期的降序排列。

    3.处理查询到的图片数据:在上述代码中的循环中,可以对查询到的图片路径进行处理。例如,可以将路径存储在一个列表中,以便后续使用。

    List<String> favoriteImages = new ArrayList<>();
    if (cursor != null) {
        while (cursor.moveToNext()) {
            String imagePath = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));
            favoriteImages.add(imagePath);
        }
        cursor.close();
    }
    

    4.显示收藏的图片:可以使用第三方库,如Glide或Picasso,来加载和显示收藏的图片。例如,使用Glide来加载图片的示例代码如下:

    // 添加依赖库
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
    
    // 在代码中加载图片
    ImageView imageView = findViewById(R.id.imageView);
    String imagePath = favoriteImages.get(0); // 假设要显示第一张收藏的图片
    Glide.with(this).load(new File(imagePath)).into(imageView);
    

    这段代码会使用Glide加载并显示第一张收藏的图片。你可以将其放在适当的地方,例如在Activity的onCreate方法中。

    综上所述,以上就是查询相册里加入收藏的图片的具体实现步骤。你可以根据实际需求进行适当的调整和扩展。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 赞助了问题酬金15元 11月19日
  • 赞助了问题酬金15元 11月19日
  • 创建了问题 11月19日