android 獲取手機中的所有圖片或某一目錄下的圖片方法
更新時間:2018年02月02日 10:28:51 作者:liuye066
下面小編就為大家分享一篇android 獲取手機中的所有圖片或某一目錄下的圖片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
獲取手機中的所有圖片,并過濾獲取某一目錄下的圖片。(注釋掉的代碼可以按照目錄分組)
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();
//
// //存儲對應(yīng)關(guān)系
// 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 獲取手機中的所有圖片或某一目錄下的圖片方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android webview注入JS代碼 修改網(wǎng)頁內(nèi)容操作
這篇文章主要介紹了Android webview注入JS代碼 修改網(wǎng)頁內(nèi)容操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
android實現(xiàn)點擊按鈕切換不同的fragment布局
這篇文章主要為大家詳細介紹了android實現(xiàn)點擊按鈕切換不同的fragment布局,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
Flutter應(yīng)用集成極光推送的實現(xiàn)示例
這篇文章主要介紹了Flutter應(yīng)用集成極光推送的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02
Android選擇與上傳圖片之PictureSelector教程
這篇文章主要介紹了在Android中對于圖片的選擇與上傳方法,本文介紹了PictureSelector的相關(guān)使用教程,學習Android的同學進來看看吧2021-08-08

