以字符串形式显示图像位置的图像

时间:2013-06-09 01:40:40

标签: java android eclipse imageview

我正在尝试在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)

2 个答案:

答案 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" />