温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在android中获取手机中的所有图片

发布时间:2021-03-02 15:05:16 来源:亿速云 阅读:567 作者:戴恩恩 栏目:移动开发

本文章向大家介绍怎么在android中获取手机中的所有图片的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

获取手机中的所有图片,并过滤获取某一目录下的图片

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中获取手机中的所有图片的全部内容了,希望大家多多支持亿速云!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI