Opening a File from assets folder in android
I have a .gif file inside the assets folder like this assets/Files/android.gif. when I try to open the file it throws an exception at the second line
AssetManager mngr=getAssets();
InputStream is2=mngr.open("Files/android.gif");
so Is it that I'm trying to open an image file despite that the same code works if I try to open a text file ? what can be the problem here.
These Lines are working perfectly--
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();
}
If your image is very big then you should scale your image before decoding it into Bitmap. See How to display large image efficiently
I suspect you are getting complaints about unhandled exception type IOException. If that's the case, you need to put the call to mgr.open in a try-catch block to handle the exception that may occur when retrieving the InputStream object.
AssetManager mngr = getAssets();
try {
InputStream is2 = mngr.open("Files/android.gif");
} catch (final IOException e) {
e.printStackTrace();
}
Don't know if things have changed or not but I had an app in Android 1.1 that opened icons to then display them in a view and I did it like so:
BufferedInputStream buf = new BufferedInputStream(mContext.openFileInput(value));
Bitmap bitmap = BitmapFactory.decodeStream(buf);