我应该把图像的资源文件? BitmapFactory.decodeFile()(Where do

2019-09-28 08:33发布

我试图用这个:

BitmapFactory.decodeFile( “logo.jpg”)

我似乎不具有文件:logo.jpg在正确的地方相比,我的APK。 它应该去哪里?

PS我得到的错误是:

编辑

我现在使用这样的:> BitmapFactory.decodeResource(getActivity()getResources(), “logo.jpg”)

现在我得到的是说,一个编译器错误:

该方法getActivity()是未定义的类型砖(砖是类的名称)

我不在乎哪种解决方案,只要其中一人做工作

Answer 1:

我认为你正在尝试做的是把一个JPG文件到通过Java代码项目和负载,是正确的。

如果是这样,你需要把你的logo.jpg到你的assets的文件夹,

并使用类似的方法加载它,因为这SO答案表示:

https://stackoverflow.com/a/8502231/763459


为了您的方便我粘贴为下面的代码:

InputStream bitmap=null;

try {
    bitmap=getAssets().open("logo.png");
    Bitmap bit=BitmapFactory.decodeStream(bitmap);
    img.setImageBitmap(bit);
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if(bitmap!=null)
    bitmap.close();
}


Answer 2:

你想在哪里把你的“logo.jpg”文件?

  1. 如果您想将它放在绘制的文件夹,然后使用:

     BitmapFactory.decodeResource(getResources(), R.drawable.logo); 
  2. 如果你想放在什么地方你的设备的内存中,然后使用:

     BitmapFactory.decodeResource("/sdcard/logo.jpg"); 

下面是一些指南,帮助您开始: http://developer.android.com/reference/android/graphics/BitmapFactory.html



文章来源: Where do I put the image resource file? BitmapFactory.decodeFile()