我正在尝试在android中显示图像。我创建了一个名为“ image ”的imageview的新布局。有问题的字符串是“ SelectedImage = / storage / sdcard0 / DCIM / Camera / IMG_20130602_133933.jpg”代码看起来像这样:
ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
Bitmap bm = BitmapFactory.decodeFile(SelectedImage, options);
imageView1.setImageBitmap(bm);
setContentView(R.layout.image);
当我运行它时它会崩溃。日志说
06-08 21:24:41.192: I/System.out(7642): Not a DRM File, opening notmally
06-08 21:24:41.192: I/System.out(7642): buffer returned
06-08 21:24:41.232: D/AndroidRuntime(7642): Shutting down VM
06-08 21:24:41.232: W/dalvikvm(7642): threadid=1: thread exiting with uncaught exception (group=0x414c1438)
答案 0 :(得分:1)
确保您在清单中设置了相应的权限,并尝试以下操作:
// This is the layout file that includes the imageview
setContentView(R.layout.image);
String selectedImage = Environment.getExternalStorageDirectory() + "/DCIM/Camera/IMG_20130602_133933.jpg";
File f_path = new File(selectedImage);
InputStream fis = new FileInputStream(f_path);
ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
Bitmap bm = BitmapFactory.decodeStream (fis, null, options)
imageView1.setImageBitmap(bm);
答案 1 :(得分:1)
首先检查是否添加Android清单文件的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />