所以实际上我有一个应用程序,您可以在其中拍摄自己的照片,然后将照片保存在手机内,名为MyCameraApp的创建文件夹中。
我想将MyCameraApp文件夹中最后拍摄的照片显示在我的活动中的imageview中。
我不知道如何做到这一点,我创建的每个教程或示例对我来说都很复杂,经过3-4小时的搜索我认为最好问这个社区,希望有人可以提供帮助我:)
这是我的代码:
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = getOutputMediaFile();
if (pictureFile == null) {
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
};
private static File getOutputMediaFile() {
File mediaStorageDir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
"MyCameraApp");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("MyCameraApp", "failed to create directory");
return null;
}
}
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());
File mediaFile;
mediaFile = new File(mediaStorageDir.getPath() + File.separator
+ "IMG_" + timeStamp + ".jpg");
return mediaFile;
}
我知道这听起来很愚蠢,但我想要这样的事情:
Get last created mediafile
imageView.setBitmap(lastCreatedMediaFile)
答案 0 :(得分:1)
该过程可能如下:
Bitmap
setImageBitmap()
从存储中加载是通过BitmapFactory.decodeFile(*)
使用相同的文件对象(在您的情况下为pictureFile
)来实现的