2012-02-21 14 views
0

私はすでに以下を試してみましたが、成功しませんでした。 私のプロジェクトはここAPIレベル4Android:res/drawableからイメージを取得してWebView.loadUrl()に挿入する方法

from stackoverflow

from android documentation

を使用していることは私のコードです:

webView.loadUrl("android.resource://com.package.name.from.manifest/" + R.drawable.pic); 

そして私はWebViewのウィジェットでは、次のエラーを持っている:

Webページが利用できません

android.resourceでWebページ://com.package.name.from.manifest/2130837504が一時的にダウン かもしれませんか、それは新しいウェブ アドレスに移動した可能性があり。

何か不足していますか?私は< img ...>タグとしてリソースへのリンクを含むhtmlページを作成する必要がありますか?

答えて

2

私は、リソースの画像のそれぞれのファイル名の拡張子の配列を持っていました。 そして、リソース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(); 
} 
-3

は、私はあなたが、資産/フォルダにドローアブルを持って、その後、フォームにURIを介してそれらを参照する必要があると考えてい

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

あなたは私の質問を理解していないと思います。 WebView.loadUrl(String url)。 Drawableからリンクを受け取るにはどうすればいいですか? – Genry

2

...それが参考になっ.. のres /描画可能から画像を取得するためであると思います例えば、file:///android_asset/drawable_name.pngである。私は次のことを行っているエンドで

+0

これはおそらく動作しますが、ファイルは異なる拡張子でも同じ名前である可能性があるので、ファイルを取得したくありません。例えば:何度もファイルを01.pngにすることができます。01.jpg – Genry

+1

つまり、ファイル名ではなくリソースIDでリソースを直接取得するリンクが必要です。 – Genry

1

このような画像パスを取得できます。

ファイル:/// android_res /描画可能/ YOUR_FILE_NAME

がhtml.Itにタグ付けするために、このパスを渡しが動作します。

関連する問題