在Android中从内部内存中读取图像

时间:2012-01-05 05:55:24

标签: android android-image

我已将图像保存在内存中。例如,我将其保存为test.jpg。现在我想在imageview中显示它。我试过这个:

ImageView img = (ImageView)findViewById(R.id.imageView1);
try {                       
    img.setImageDrawable(Drawable.createFromPath("test.jpg"));                 
} catch (Exception e) {
    Log.e(e.toString());
}

在LogCat中获取以下消息:

SD卡可用于读写truetrue

请帮助或参考?

2 个答案:

答案 0 :(得分:5)

public class AndroidBitmap extends Activity {

private final String imageInSD = "/sdcard/er.PNG";

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      Bitmap bitmap = BitmapFactory.decodeFile(imageInSD);
      ImageView myImageView = (ImageView)findViewById(R.id.imageview);
      myImageView.setImageBitmap(bitmap);

  }
}

    final Bitmap bm = BitmapFactory.decodeStream( ..some image.. ); 
// The openfileOutput() method creates a file on the phone/internal storage in the context of your application 
final FileOutputStream fos = openFileOutput("my_new_image.jpg", Context.MODE_PRIVATE); // Use the compress method on the BitMap object to write image to the OutputStream 
bm.compress(CompressFormat.JPEG, 90, fos);

希望它有效......

答案 1 :(得分:0)

查看doc ..

您无需“知道”图像的存储位置。你只需要保留你保存它的内容,然后你就可以再次阅读它。

问题是......你在那里保存了文件吗?或者您是否将此与您编译到应用程序中的图像混淆?如果是后者,文档还会讨论如何阅读这些文档,它们与您写入设备的文件不同,它们是应用程序包的一部分。

欢迎来到Stack!如果您发现有用的答案,请不要忘记对它们进行投票,并在解决问题时将其标记为“正确”。

干杯。