【发布时间】:2014-07-14 15:06:00
【问题描述】:
我正在尝试检索我(认为)我在 Android 的片段(噩梦)中使用表面视图保存的图像。在这里,我尝试保存图像并列出目录中的所有图像。我完全不知道目录在哪里(storate/emulated/0 等)。除了像这样列出它们之外,我永远无法在任何地方找到这些图像。这表明它们可能存在?
jpegCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
// Create an image file name
File image = null;
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
try {
image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir /* directory */
);
} catch (IOException e) {
e.printStackTrace();
}
String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString();
Log.d("Files", "Path: " + path);
File f = new File(path);
File file[] = f.listFiles();
Log.d("Files", "Size: "+ file.length);
String filename = "";
for (int i=0; i < file.length; i++)
{
Log.d("Files", "FileName "+i+" :" + file[i].getName());
filename = file[i].getName();
}
Bitmap myBitmap = BitmapFactory.decodeFile(file[0].getAbsolutePath()+"/"+filename);
ImageView taken_pic = (ImageView) view.findViewById(R.id.taken_pic);
taken_pic.setImageBitmap(myBitmap);
}
};
这只是给我一个图像名称列表和“SkImageDecoder::Factory returned null”消息。我可能使用文件名字符串使事情变得更糟,但即使在列表中回显的文件之一中进行硬编码,我也会得到相同的结果。图像是否应该基于此代码的结果存在?我怎样才能真正将图像再次作为位图获取?有一个更好的方法吗。我已经尝试了所有可以找到并阅读每个主题的示例。
【问题讨论】:
标签: android surfaceview android-bitmap