前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android 获取手机中的所有图片或某一目录下的图片方法

android 获取手机中的所有图片或某一目录下的图片方法

作者头像
砸漏
发布2020-11-02 12:23:00
2.7K0
发布2020-11-02 12:23:00
举报
文章被收录于专栏:恩蓝脚本

获取手机中的所有图片,并过滤获取某一目录下的图片。(注释掉的代码可以按照目录分组)

代码语言:javascript
复制
private void getAllPhotoInfo() {
new Thread(new Runnable() {
@Override
public void run() {
//        List<MediaBean  mediaBeen = new ArrayList< ();
HashMap<String,List<MediaBean   allPhotosTemp = new HashMap< ();//所有照片
Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projImage = { MediaStore.Images.Media._ID
, MediaStore.Images.Media.DATA
,MediaStore.Images.Media.SIZE
,MediaStore.Images.Media.DISPLAY_NAME};
final Cursor mCursor = getContentResolver().query(mImageUri,
projImage,
MediaStore.Images.Media.MIME_TYPE + "=? or " + MediaStore.Images.Media.MIME_TYPE + "=?",
new String[]{"image/jpeg", "image/png"},
MediaStore.Images.Media.DATE_MODIFIED+" desc");
if(mCursor!=null){
while (mCursor.moveToNext()) {
// 获取图片的路径
String path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));
int size = mCursor.getInt(mCursor.getColumnIndex(MediaStore.Images.Media.SIZE))/1024;
String displayName = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
//用于展示相册初始化界面
if(path.contains("/storage/emulated/0/messageBoard/photoImgs")){
mediaBeen.add(new MediaBean(path,size,displayName));
}
//            // 获取该图片的父路径名
//            String dirPath = new File(path).getParentFile().getAbsolutePath();
//            
//            //存储对应关系
//            if (allPhotosTemp.containsKey(dirPath)) {
//              List<MediaBean  data = allPhotosTemp.get(dirPath);
//              data.add(new MediaBean(path,size,displayName));
////              Log.e(TAG,"getAllPhotoInfo "+data.size()+",path="+data.get(0).getPath()+",name="+data.get(0).getDisplayName());
//              continue;
//            } else {
//              List<MediaBean  data = new ArrayList< ();
//              data.add(new MediaBean(path,size,displayName));
//              allPhotosTemp.put(dirPath,data);
////              Log.e(TAG,"getAllPhotoInfo else "+data.size()+",path="+data.get(0).getPath()+",name="+data.get(0).getDisplayName());
//            }
}
mCursor.close();
}
//更新界面
runOnUiThread(new Runnable() {
@Override
public void run() {
//...
Log.e(TAG,"mediaBeen="+mediaBeen.size());
albumAdapter = new AlbumAdapter(AvaterActivity.this,mediaBeen);
gvAlbum.setAdapter(albumAdapter);
gvAlbum.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?  parent, View view, int position, long id) {
Intent cropIntent = new Intent(mContext, CropImgActivity.class);
cropIntent.putExtra("status",status);
cropIntent.putExtra("takepath",mediaBeen.get(position).getPath());
startActivity(cropIntent);
}
});
}
});
}
}).start();
}

以上这篇android 获取手机中的所有图片或某一目录下的图片方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档