1
所以实际上我有一个应用程序,在那里你可以拍一张照片你自己,那么它的保存在手机内的照片,在一个名为MyCameraApp一个创建的文件夹。在imageView中显示上次拍摄的照片? (相机)
我想将MyCameraApp文件夹中最后一次捕获的照片显示在我的活动中的图像视图中。
我不知道如何做到这一点,我创建的每个教程或例子对我来说看起来都很复杂,经过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)
你的意思是s像这样? bitmap = BitmapFactory.decodeFile(pictureFile); ImageView im3 =(ImageView)findViewById(R.id.imageView3); im3.setImageBitmap(bitmap); –
是的,它保存在onPictureTaken当然 – Sam
然后我不知道我做错了什么,但与此代码我得到“decodeFile(java.lang.String)在BitmapFactory不能应用于(java.io.file )“错误。 –