将相机位图保存到存储,并使用位图设置图像

时间:2013-03-12 21:33:35

标签: android imageview android-camera

我知道如何拍照并将其设置为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时,我想检查一下这个图像是否存在并将其分配给{{1} }}

2 个答案:

答案 0 :(得分:1)

您必须使用某种持久性存储来引用该文件以检查它是否存在。我只是将它作为字符串存储在首选项中并读取它,然后检查它是否存在等等。从onCreate()开始就足够了。

答案 1 :(得分:1)

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

我会在这里尝试解释一下我做了什么。

  1. 尝试将图片完整路径保存到存储区域或共享偏好。
  2. 下次如果您调用活动,请检查图片是否已存在以及是否可以使用它。
  3. 在xml布局中准备一个可见性为“已消失”的ImageView,如果点(2.)为真,则可以将可见性更改为可见并在视图中设置图像。
  4. 如果点(2.)为假,则切换到相机视图(SurfaceView)以拍摄新照片