Java Android:如何从res/drawable中检索图像并将其放入WebView.loadUrl()中

Java Android:如何从res/drawable中检索图像并将其放入WebView.loadUrl()中,java,android,Java,Android,我已经尝试了以下方法,但没有成功。 我的项目使用API级别4 这是我的密码: webView.loadUrl("android.resource://com.package.name.from.manifest/" + R.drawable.pic); 我在WebView小部件中发现以下错误: 网页不可用 该网页位于 安卓resource://com.package.name.from.manifest/2130837504 可能是 暂时关闭,或者可能已永久移动到新站点 地址 我错过什么

我已经尝试了以下方法,但没有成功。 我的项目使用API级别4

这是我的密码:

webView.loadUrl("android.resource://com.package.name.from.manifest/" + R.drawable.pic); 
我在WebView小部件中发现以下错误:

网页不可用

该网页位于 安卓resource://com.package.name.from.manifest/2130837504 可能是 暂时关闭,或者可能已永久移动到新站点 地址

我错过什么了吗?我是否应该创建一个html页面,其中包含一个指向资源的链接,如标记?

我希望这是有帮助的。。 用于从res/drawable获取图像

Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.myimage);
我希望这对你有帮助。。 用于从res/drawable获取图像

Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.myimage);

我认为您应该将您的绘图表放在资产/文件夹中,然后通过
URI的形式引用它们file:///android_asset/drawable_name.png
,例如。

我认为您应该在资产/文件夹中放置绘图表,然后通过URI以
的形式引用它们file:///android_asset/drawable_name.png
,例如。

最后,我做了以下工作:

我在参考资料中有每个图像的文件扩展名数组。 然后我可以用资源ID和文件扩展名调用下面的方法

protected String getResourceURL(int resourceId, String extension) {
    String resName = getResources().getResourceName(resourceId);
    int index = resName.indexOf("/");
    resName = resName.substring(0, index);
    index = resName.indexOf(":");
    String resType = resName.substring(index + 1);

    StringBuilder link = new StringBuilder(128);
    link.append("file:///android_res/");
    link.append(resType).append("/");
    link.append(getResources().getResourceEntryName(resourceId));
    link.append(".").append(extension);
    return link.toString();
}

最后,我做了以下工作:

我在参考资料中有每个图像的文件扩展名数组。 然后我可以用资源ID和文件扩展名调用下面的方法

protected String getResourceURL(int resourceId, String extension) {
    String resName = getResources().getResourceName(resourceId);
    int index = resName.indexOf("/");
    resName = resName.substring(0, index);
    index = resName.indexOf(":");
    String resType = resName.substring(index + 1);

    StringBuilder link = new StringBuilder(128);
    link.append("file:///android_res/");
    link.append(resType).append("/");
    link.append(getResources().getResourceEntryName(resourceId));
    link.append(".").append(extension);
    return link.toString();
}

你可以得到这样的图像路径

file:///android_res/drawable/YOUR_FILE_NAME


将此路径传递给html中的标记。它将起作用。

您可以获得如下图像路径

file:///android_res/drawable/YOUR_FILE_NAME


将此路径传递给html中的标记。它将起作用。

我想您不明白我的问题。loadUrl(字符串url)。我怎样才能收到Drawable的链接?我想你不明白我的问题。loadUrl(字符串url)。如何从Drawable接收链接?这可能会起作用,但我不想检索文件,因为文件可以是不同的扩展名,但名称相同。例如:在一些情况下,文件可以是01.png,在另一个情况下可以是01.jpg,这意味着我需要一个链接,该链接将直接通过资源id而不是文件名检索资源。这可能会起作用,但我不想检索文件,因为文件可以是不同的扩展名,但名称相同。例如:在一些时候,文件可以是01.png,在另一些时候可以是01.jpg,这意味着我需要一个链接,它将直接通过资源id而不是文件名检索资源