有时候需要获取到系统所有图片,但一次性获取太多了,需要分批分页获取,网上很多资料都没有说到分页,作为一个数据库达人,怎么能受此折磨,因此尝试出来了以下方案:

/**

* 从本地获取相册列表

* @param context

* @param pageIndex 从0开始

* @param pageSize 页码大小

*/

public void getLocalAlbumList(Context context, int pageIndex, int pageSize) {

Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

// 获得图片

try {

Cursor mCursor = context.getContentResolver().query(mImageUri, null,

MediaStore.Images.Media.MIME_TYPE + "=? or "

+ MediaStore.Images.Media.MIME_TYPE + "=? ",

new String[]{"image/jpeg", "image/png"}, MediaStore.Images.Media.DATE_MODIFIED + " limit " + (pageIndex * pageSize) + "," + pageSize);

while (mCursor.moveToNext()) {

String path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));

Log.e(TAG, "path=" + path);

}

} catch (Exception e) {

e.printStackTrace();

}

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐