如何打开存储在android中Assets下的文件夹中的图像

时间:2014-09-11 19:30:09

标签: android bitmap assets

我在Android工作室的App with Build,Libs和Src下创建了一个资源文件夹目录,我已经在其中放置了文件夹,每个文件夹中都有图像。我有一个问题,我无法使用该文件名或路径找到该文件,但我知道它是正确的,请告诉我该怎么做,因为我难倒。该文件位于此目录assets / profileicon / 26.png中,该数字由profileIconTag(在本例中为26)确定,现在我为.open()做了正确的路径名吗?

AssetManager assetManager = getAssets();
    InputStream istr = null;
    try {
        istr = assetManager.open("/profileicon/" + profileIconTag + ".png");
    } catch (IOException e) {
        e.printStackTrace();
    }
    Bitmap bitmap = BitmapFactory.decodeStream(istr);

    profileIcon.setImageBitmap(bitmap);

2 个答案:

答案 0 :(得分:0)

检查assets文件夹是否在正确的路径中。

InputStream bitmap=null;
try {
    bitmap=getAssets().open(profileIconTag +".png");
    Bitmap bit=BitmapFactory.decodeStream(bitmap);
    profileIcon.setImageBitmap(bit);
} catch (IOException e) {
    e.printStackTrace();
} finally {
   try{
    if(bitmap!=null)
    bitmap.close();
   }catch(Exception ex) {}
}

答案 1 :(得分:0)

您可以使用AssetManager使用InputStream方法获取open(),然后使用BitmapFactory的decodeStream()方法获取位图。检查this link

private Bitmap getBitmapFromAsset(String strName)
{
    AssetManager assetManager = getAssets();
    InputStream istr = null;
    try {
        istr = assetManager.open(strName);
    } catch (IOException e) {
        e.printStackTrace();
    }
    Bitmap bitmap = BitmapFactory.decodeStream(istr);
    return bitmap;
}