本文章向大家介绍怎么在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中获取手机中的所有图片的全部内容了,希望大家多多支持亿速云!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。