/* * 按相册获取图片信息 */ public static List<TPhotoAlbum> getPhotoAlbum(Context context) { List<TPhotoAlbum> aibumList = new ArrayList<>(); Cursor cursor = MediaStore.Images.Media.query( context.getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, STORE_IMAGES); Map<String, TPhotoAlbum> countMap = new HashMap<>(); TPhotoAlbum pa = null; while (cursor.moveToNext()) { String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)); String id = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media._ID)); String dateMills = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN)); String dir_id = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_ID)); String dir = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_DISPLAY_NAME)); String longitude = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.LONGITUDE)); String latitude = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.LATITUDE)); if (!countMap.containsKey(dir_id)) { pa = new TPhotoAlbum(); pa.setName(dir); pa.setBitmap(Integer.parseInt(id)); pa.setCount("1"); pa.getBitList().add(new TPhotoItem(Integer.valueOf(id), path, longitude, latitude, dateMills)); countMap.put(dir_id, pa); } else { pa = countMap.get(dir_id); pa.setCount(String.valueOf(Integer.parseInt(pa.getCount()) + 1)); pa.getBitList().add(new TPhotoItem(Integer.valueOf(id), path, longitude, latitude, dateMills)); } } cursor.close(); Iterable<String> it = countMap.keySet(); for (String key : it) { aibumList.add(countMap.get(key)); } return aibumList; } /** * 得到本地缩略图,图片文件 * @param context * @return */ public static ArrayList<HashMap<String,String>> getAllPictures(Context context) { ArrayList<HashMap<String,String>> picturemaps = new ArrayList<>(); HashMap<String,String> picturemap; ContentResolver cr = context.getContentResolver(); //先得到缩略图的URL和对应的图片id Cursor cursor = cr.query( MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, new String[]{ MediaStore.Images.Thumbnails.IMAGE_ID, MediaStore.Images.Thumbnails.DATA }, null, null, null); if (cursor.moveToFirst()) { do { picturemap = new HashMap<>(); picturemap.put("image_id_path",cursor.getInt(0)+""); picturemap.put("thumbnail_path",cursor.getString(1)); picturemaps.add(picturemap); } while (cursor.moveToNext()); cursor.close(); } //再得到正常图片的path for (int i = 0;i<picturemaps.size();i++) { picturemap = picturemaps.get(i); String media_id = picturemap.get("image_id_path"); cursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{ MediaStore.Images.Media.DATA }, MediaStore.Audio.Media._ID+"="+media_id, null, null ); if (cursor.moveToFirst()) { do { picturemap.put("image_id",cursor.getString(0)); picturemaps.set(i,picturemap); } while (cursor.moveToNext()); cursor.close(); } } return picturemaps; }
图片的本地获取
最新推荐文章于 2022-04-14 15:46:03 发布