我在哪里放置图像资源文件? BitmapFactory.decodeFile()

时间:2013-04-11 02:32:39

标签: android bitmap resources directory bitmapfactory

我正在尝试使用它:

  

BitmapFactory.decodeFile( “logo.jpg”)

我似乎没有文件:logo.jpg在正确的位置与我的apk相比。它应该去哪里?

P.S。我得到的错误是:enter image description here

修改

我现在正在使用它:> BitmapFactory.decodeResource(getActivity()。getResources(),“logo.jpg”)

我现在收到的编译错误是:

  

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

只要其中一个解决方案

,我不关心哪个解决方案有效

2 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分:0)

您想将“logo.jpg”文件放在哪里?

  1. 如果您想将其放在drawable文件夹中,请使用:

    BitmapFactory.decodeResource(getResources(), R.drawable.logo);
    
  2. 如果您想将它放在设备的内存中,请使用:

    BitmapFactory.decodeResource("/sdcard/logo.jpg");
    
  3. 以下是帮助您入门的指南:http://developer.android.com/reference/android/graphics/BitmapFactory.html