0

我尝试了几乎所有可能将图像设置为image-view来自存储文件路径的方法。

它们都不起作用。图像是从其他活动的图库中选择的,图像路径存储到数据库中。

图像类型为 .jpg .jpeg .png

存储在数据库中的图像路径,路径不带任何扩展名

eg.  /external/storage/media/carimagename

当我尝试将图像设置为imageview使用此代码时没有错误但未设置图像。

for(int i=0;i<n;i++)
 {
 Bitmap pic = BitmapFactory.decodeFile(listview_arraypro1[i]);
 carpict.setImageBitmap(pic);

    /// File imgFile =new File("listview_arraypro1[i]");
    // carpict.setImageBitmap(BitmapFactory.decodeFile(imgFile.getAbsolutePath()));



          // Bitmap carpic = BitmapFactory.decodeStream(is);
          // carpic = Bitmap.createScaledBitmap(carpic, 72, 70, false); 

 }

如何将具有路径格式的图像设置/external/storage/media/carimagenameimageview

我使用以下内容获取先前活动中的图像路径

             Uri selectedImage = imageReturnedIntent.getData();

           String  selectedImagePath = selectedImage.getPath();

我从 selectedImagePath 得到错误的路径吗?

这是我使用没有 mnt/sdcard 的路径

  private String getRealPathFromURI(Uri contentURI) {
    Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);
    if (cursor == null) { // Source is Dropbox or other similar local file path
        return contentURI.getPath();
    } else { 
        cursor.moveToFirst(); 
        int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); 
        return cursor.getString(idx); 
    }
}



    File imageFile = new File(getRealPathFromURI(selectedImage));
           String path= imageFile.toString();
4

3 回答 3

4

主要的是,首先你必须在你的图像路径中提到你的图像类型......

然后您可以使用该图像路径检索:

String img_path = "image will be with image type";       
Bitmap bmp= BitmapFactory.decodeFile(img_path);
ImageView iv= (ImageView)findViewById(R.id.img);
iv.setImageBitmap(bmp);

您应该向清单文件添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
于 2013-08-27T08:43:33.280 回答
2

看看这个

你可以使用ImageView.setImageURI(..)方法。

preview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Echo/Images/"+file_name));
于 2013-08-27T08:08:02.667 回答
1
Image paths stored in database with paths without any extensions

您需要在路径中提及图像类型。e. 图像.png

你可以试试下面的例子。

String imagePath = "your image path with image type";   //eg. /sdcard/img.PNG      
  Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
  ImageView myImageView = (ImageView)findViewById(R.id.imageview);// your imageview
  myImageView.setImageBitmap(bitmap);
于 2013-08-27T08:04:03.660 回答