0

我有这段代码可以从 SD 卡中检索图像。但它没有显示任何图片ImageView。我确定图像在 SD 卡上。

File f = new File("/mint/sdcard/e.jpg");

Bitmap bitmap = BitmapFactory.decodeFile(f.getAbsolutePath());
Toast.makeText(this, bitmap + "", 3).show();
bmImage.setImageBitmap(bitmap);
4

4 回答 4

1

它不是mint它的mnt。让你的线,

File f = new File("/mnt/sdcard/e.jpg");
于 2013-01-07T13:44:09.850 回答
1
public Bitmap readImageFromExternalMemory(String name) throws IOException
{
    File file = new File(Environment.getExternalStorageDirectory().toString()+"/"+name, userId + ".jpg");
    FileInputStream inStream = new FileInputStream(file);

    Bitmap bitmap = BitmapFactory.decodeStream(inStream);
    inStream.close();

    return bitmap;
}

您不必使用"/mnt/sdcard/e.jpg". 您必须使用此方法:

Environment.getExternalStorageDirectory().toString()

因为它将返回外部目录的正确路径。制造商可以将其重命名为其他名称,因此您必须使用上述方法。

于 2013-01-07T13:53:48.857 回答
0

改成这样

File f = new File("/mnt/sdcard/e.jpg");   
Bitmap bitmap = BitmapFactory.decodeFile(f.getAbsolutePath());
bmImage .setImageBitmap(bitmap);
于 2013-01-07T13:39:20.797 回答
0

最好的办法是使用这个:

File sdcard = Environment.getExternalStorageDirectory();

File f = new File(sdcard+"/e.jpg");

现在它适用于所有 Android 手机

于 2013-01-07T13:54:58.540 回答