1

我正在尝试使用这个:

BitmapFactory.decodeFile("logo.jpg")

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

PS我得到的错误是:在此处输入图像描述

编辑

我现在正在使用这个:>BitmapFactory.decodeResource(getActivity().getResources(),"logo.jpg")

现在我收到一个编译器错误,上面写着:

对于 Brick 类型,方法 getActivity() 未定义(Brick 是类的名称)

我不在乎哪种解决方案有效,只要其中一个有效

4

2 回答 2

1

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

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

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

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

这里有一些指南可以帮助您开始:http: //developer.android.com/reference/android/graphics/BitmapFactory.html

于 2013-04-11T02:43:20.970 回答
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();
}
于 2013-04-11T12:03:39.917 回答