android 获取手机中的所有图片或某一目录下的图片方法
获取手机中的所有图片,并过滤获取某一目录下的图片。(注释掉的代码可以按照目录分组)
privatevoidgetAllPhotoInfo(){
newThread(newRunnable(){
@Override
publicvoidrun(){
//ListmediaBeen=newArrayList<>();
HashMap>allPhotosTemp=newHashMap<>();//所有照片
UrimImageUri=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};
finalCursormCursor=getContentResolver().query(mImageUri,
projImage,
MediaStore.Images.Media.MIME_TYPE+"=?or"+MediaStore.Images.Media.MIME_TYPE+"=?",
newString[]{"image/jpeg","image/png"},
MediaStore.Images.Media.DATE_MODIFIED+"desc");
if(mCursor!=null){
while(mCursor.moveToNext()){
//获取图片的路径
Stringpath=mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));
intsize=mCursor.getInt(mCursor.getColumnIndex(MediaStore.Images.Media.SIZE))/1024;
StringdisplayName=mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
//用于展示相册初始化界面
if(path.contains("/storage/emulated/0/messageBoard/photoImgs")){
mediaBeen.add(newMediaBean(path,size,displayName));
}
////获取该图片的父路径名
//StringdirPath=newFile(path).getParentFile().getAbsolutePath();
//
////存储对应关系
//if(allPhotosTemp.containsKey(dirPath)){
//Listdata=allPhotosTemp.get(dirPath);
//data.add(newMediaBean(path,size,displayName));
////Log.e(TAG,"getAllPhotoInfo"+data.size()+",path="+data.get(0).getPath()+",name="+data.get(0).getDisplayName());
//continue;
//}else{
//Listdata=newArrayList<>();
//data.add(newMediaBean(path,size,displayName));
//allPhotosTemp.put(dirPath,data);
////Log.e(TAG,"getAllPhotoInfoelse"+data.size()+",path="+data.get(0).getPath()+",name="+data.get(0).getDisplayName());
//}
}
mCursor.close();
}
//更新界面
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
//...
Log.e(TAG,"mediaBeen="+mediaBeen.size());
albumAdapter=newAlbumAdapter(AvaterActivity.this,mediaBeen);
gvAlbum.setAdapter(albumAdapter);
gvAlbum.setOnItemClickListener(newAdapterView.OnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView>parent,Viewview,intposition,longid){
IntentcropIntent=newIntent(mContext,CropImgActivity.class);
cropIntent.putExtra("status",status);
cropIntent.putExtra("takepath",mediaBeen.get(position).getPath());
startActivity(cropIntent);
}
});
}
});
}
}).start();
}
以上这篇android获取手机中的所有图片或某一目录下的图片方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。