我在assets文件夹中有一个.gif文件,类似于assets/Files/android.gif。当我试图打开文件时,它在第二行抛出一个异常
AssetManager mngr=getAssets();
InputStream is2=mngr.open("Files/android.gif");
那么,我是不是试图打开一个图像文件,尽管如果我试图打开一个文本文件,同样的代码也可以工作?这里会有什么问题呢?
发布于 2011-12-14 17:36:41
这些线路工作得很好--
InputStream assetInStream=null;
try {
assetInStream=getAssets().open("icon.png");
Bitmap bit=BitmapFactory.decodeStream(assetInStream);
img.setImageBitmap(bit);
} catch (IOException e) {
e.printStackTrace();
} finally {
if(assetInStream!=null)
assetInStream.close();
}
如果你的图像非常大,那么你应该在解码成位图之前缩放你的图像。See How to display large image efficiently
发布于 2009-12-20 02:38:48
我怀疑您正在收到有关未处理的异常类型IOException的投诉。如果是这种情况,则需要将对mgr.open的调用放在一个try-catch块中,以处理在检索InputStream对象时可能发生的异常。
AssetManager mngr = getAssets();
try {
InputStream is2 = mngr.open("Files/android.gif");
} catch (final IOException e) {
e.printStackTrace();
}
发布于 2009-12-19 22:29:48
我不知道事情是否发生了变化,但我在Android 1.1中有一个应用程序,它可以打开图标,然后在视图中显示它们,我是这样做的:
BufferedInputStream buf = new BufferedInputStream(mContext.openFileInput(value));
Bitmap bitmap = BitmapFactory.decodeStream(buf);
https://stackoverflow.com/questions/1933015
复制相似问题