保存相机位图到存储,并设置图像与位图



我知道如何拍摄照片并将其设置为ImageView的基础知识。

photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);

我想做更多的事情。

我将它保存到SD卡上的一个文件夹中。我已经成功地完成了这个:

// intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(intent, CAMERA_REQUEST);

这是我的下一个问题:

不知道如何做到这一点:我接下来要做的是:下次我来到这个Activity时,我想检查该图像是否存在并将其分配给imageView

前几天我在一个应用程序中遇到了这个问题。

我在这里试着解释一下我所做的事情。

  1. 尝试将图片完整路径保存到存储区域或sharedpreferences。
  2. 下次如果你调用你的活动,然后检查图片是否已经存在,如果你可以使用它。
  3. 在你的xml布局中准备一个ImageView的可见度="gone",如果点(2.)是真的,那么你可以改变可见度为可见,并设置视图中的图像。
  4. 如果点(2.)为假,则切换到相机视图(SurfaceView)以便拍摄新照片

您必须使用某种持久化存储来引用文件以检查它是否存在。我只是将它作为字符串存储在首选项中并读取它,然后检查它是否存在,等等。很容易做到从onCreate()

最新更新