Android获取本地图片和相册

本文介绍如何在Android应用中获取手机中的所有图片并按相册ID进行分类。通过ContentResolver获取图片信息,使用ImageProvider和ImageLoader类进行图片管理和加载。首次使用需调用loadImageBucketList()构建相册列表,后续可直接使用getImageBucketList()获取更新后的列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天在做一个Android相册的Demo,需要获取手机中所有的图片,并把相同文件夹下的图片归类到同一个相册里面。我使用ImageProvider类来完成这项工作。但这个类获取的图片只包含ID和路径等,真正加载图片需要使用另一个类ImageLoader。本文主要通过ContentResolver这个类得到手机中所有的图片,通过对比图片的相册ID来对图片进行归类。代码如下:

/**
 * Created by YangHao on 2015/7/14.
 * 异步线程提供相册和照片
 */
public class ImageProvider extends AsyncTask<Object, Object, Integer> {
   
   

    //相册列表
    private List<ImageBucket> mImageBucketList = new ArrayList<>();
    //相册列表加载完成后的回调
    private OnLoadedBucketListListener onLoadedBucketListListener;

    //单例模式
    private static ImageProvider mImageProvider = null;

    public static ImageProvider getInstance() {
        if (mImageProvider == null)
            mImageProvider = new ImageProvider();
        return mImageProvider;
    }

    /**
     * 获得相册列表。
     * 如果在这之前没有调用过 loadImageBucketList()方法来加载列表,则不能获取到正确的相册列表
     * 可以通过调用 hasLoadBucketList()方法来检查是否加载过相册列表
     * 若要刷新列表,请调用@loadImageBucketList
     *
     * @return 相册列表
     * @see #loadImageBucketList(Context, OnLoadedBucketListListener)
     */
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值