Android BitmapFactory无法解码流。致命的空指针错误

Android BitmapFactory无法解码流。致命的空指针错误,android,Android,我对解码流有问题。我正在尝试将文件夹/MyApp/图标中的图像放入imageView。我犯了一个致命的错误 05-11 22:21:22.319: E/BitmapFactory(7981): Unable to decode stream: java.io.FileNotFoundException: /MyWeather/icons/a04n.png: open failed: ENOENT (No such file or directory) 我试着设置了一个“icons/。”、“/i

我对解码流有问题。我正在尝试将文件夹/MyApp/图标中的图像放入imageView。我犯了一个致命的错误

05-11 22:21:22.319: E/BitmapFactory(7981): Unable to decode stream: java.io.FileNotFoundException: /MyWeather/icons/a04n.png: open failed: ENOENT (No such file or directory)
我试着设置了一个“icons/。”、“/icons/。”和许多其他选项,但任何人都不行

public class Notifications extends Activity{



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.notification);

        ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
        Bundle extras = getIntent().getExtras();
        String ikona = extras.getString("icon");

        Bitmap bm = BitmapFactory.decodeFile("MyWeather/icons/a"+ikona+".png");
        imageView1.setImageBitmap(bm);

    }

}
有人能告诉我,我如何从这个文件夹中获取这个图标并将其设置在我的imageView中吗? 谢谢

将文件夹放在project的根目录下并不意味着它会将文件夹放在Android设备的根目录下…
那么,在您的情况下,我建议您将文件保存在assets文件夹中,并使用AssetManager加载文件。

下面是一个例子:

将“图标”文件夹放入资产文件夹。

使用以下代码解码图像文件:

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.notification);

    ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
    Bundle extras = getIntent().getExtras();
    String ikona = extras.getString("icon");

    AssetManager assetManager = getAssets();
    Bitmap bm;
    try {
        InputStream is = assetManager.open("icons/a"+ikona+".png");
        bm = BitmapFactory.decodeStream(is);    
    } catch (IOException e) {
        e.printStackTrace();
        // put your exception handling code here.
    }
    imageView1.setImageBitmap(bm);
}

/例如MyWeather/icons/a04n.png。你确定吗?您的日志显示该文件不存在…或者您对该文件有权限问题,您是否尝试过在adb shell中使用chmod o+x/MyWeather/icons/a04n.png?是否在SD卡中使用MyWeather?MyWeather是一个android项目,icons是该项目中的文件夹。亲爱的,我认为您无法读取这样的文件。像这样把你的图标放到
assest
文件夹中,非常感谢。这就是工作;)