Android保存图片到本地或者数据库,并通知相册更新
16lz
2021-12-04
Android保存图片到media,并更新相册
//保存到本地 public static void savePhoto(Context context, Bitmap bitmap){ File photoDir = new File(Environment.getExternalStorageDirectory(),"MeiTuanApp"); if (!photoDir.exists()){ photoDir.mkdirs(); } String fileName = System.currentTimeMillis()+".jpg"; File photo = new File(photoDir,fileName); try { FileOutputStream fos = new FileOutputStream(photo); bitmap.compress(Bitmap.CompressFormat.JPEG,100,fos); fos.flush(); fos.close(); }catch (FileNotFoundException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } updatePhotoMedia(photo,context); } //保存到数据库 public static void savePhotoToMedia(Context context, Bitmap bitmap){ String uriString = MediaStore.Images.Media.insertImage(context.getContentResolver(), bitmap, null, null); File file = new File(getRealPathFromURI(Uri.parse(uriString),context)); updatePhotoMedia(file,context); } //更新图库 private static void updatePhotoMedia(File file ,Context context){ Intent intent = new Intent(); intent.setAction(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); intent.setData(Uri.fromFile(file)); context.sendBroadcast(intent); } //得到绝对地址 private static String getRealPathFromURI(Uri contentUri,Context context) { String[] proj = { MediaStore.Images.Media.DATA }; Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); String fileStr = cursor.getString(column_index); cursor.close(); return fileStr; }
更多相关文章
- Android(安卓)Studio Error:Could not find com.android.tools.b
- 導入android項目出錯問題解決
- android studio更新提示网络连接失败的解决办法
- 【Android】数据存储之Files
- Android(安卓)教你如何通过 LocationManager 获取得到当前位置坐
- Android更新ADT到R17以后,不能用第三方jar包了
- android录音相关
- Google Maps Android(安卓)API V2 版本更新导致的科研瓶颈
- Android模仿Buttonbar(style="@android:style/ButtonBar")