【问题标题】:How can one get the ID of a jpg saved in res/drawable-hdpi folder?如何获取保存在 res/drawable-hdpi 文件夹中的 jpg 的 ID?
【发布时间】:2013-05-29 20:50:32
【问题描述】:

我有一个 jpeg。我将它拖到 res 文件夹下名为 drawable-hdpi 的自动生成文件夹中。 所有教程都只使用“R.drawable.myimage”,但我收到错误“无法解析为变量” 以下是我的代码:

import android.R;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.View;

public class MyCanvas extends View{

    Bitmap bmp;

    public MyCanvas(Context context) {
        super(context);
        BitmapFactory.Options opt = new BitmapFactory.Options();
        opt.inJustDecodeBounds = true;
        bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.85849);   
    }

}

注意我的jpg文件的名字是85849

【问题讨论】:

    标签: android bitmap bitmapfactory


    【解决方案1】:

    你有两个问题。首先,您需要使用正确的R。摆脱线

    import android.R;
    

    或者使用您的应用程序包名称限定decodeResource 调用中的R(或导入正确的R)。

    其次,你的资源文件名不能以数字开头。它们必须是合法的 Java 标识符。

    【讨论】:

    • @323go - 就它所拥有的信息而言,它从来都不是错误的;只是不完整。 :)
    • 编辑:成功了!万分感谢。在你走之前,什么是“R”,它有什么作用?为什么删除该语句有效?我完全迷路了。
    • 抱歉重复评论。我做了一些实验,发现我将图像放入的哪个预制可绘制文件夹(drawable-hdpi、drawable-mdpi 等)我可以从所有这些文件夹中引用它。此外,每个可绘制文件夹中都有一个名为 ic_launcher 的文件夹。所以问题就变成了,如果我写了 R.drawable.ic_launcher,哪个图像会被引用?我真的很感激。就两个问题。我不想把这个变成讨论。你已经回答了我的问题,我真的很感激。
    • @user2316667 - Android 构建工具会自动从您的资源文件中生成一个R.java 文件,并将其添加到您的项目包中(如清单中所声明的那样)。 R.drawable.ic_launcher 引用的图像取决于执行代码时有效的特定设备配置。 (ic_launcher.jpg 的所有副本都包含在 .apk 文件中。)有关详细信息,请参阅指南主题 Providing Resources
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多