4

私が使用している画像は test.png と呼ばれ、Java クラス (Cherry.java) と xml クラス (cherry.xml) があります。また、/res/raw フォルダーに htmltest.html という html ファイルがあります。 . 私がやろうとしているのは、ユーザーが前のページのボタンをクリックしてから、cherry.xml に移動したときです。これはすべて webview です。Java クラスでは htmltest ファイルを開くだけで、html ファイルでは通常の Web ベースのレイアウトになります。私はhtmlファイルに画像を表示したいので、インターネットを使用せずにドローアブルフォルダーにある画像などを表示します。(インターネット許可を使用したくない)。以下は、私が持っている3つのファイルのコードです。

チェリー.xml

<WebView 
    android:id="@+id/webviewHelp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  />

チェリージャバ

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Cherry extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cherry);

        WebView webview = (WebView) findViewById(R.id.webviewHelp);
        webview.loadData(readTextFromResource(R.raw.htmltest), "text/html", "utf-8");   

    }

    private String readTextFromResource(int resourceID)
    {
        InputStream raw = getResources().openRawResource(resourceID);
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        int i;
        try
        {
            i = raw.read();
        while (i != -1)
        {
            stream.write(i);
            i = raw.read();
        }
        raw.close();
         }
         catch (IOException e)
         {
        e.printStackTrace();
         }
        return stream.toString();
    }



}

htmltest.html

<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<h2>Pictures</h2>
<img border="0" src="file:///android_drawable/test.png" alt="nothing" width="304" height="228" />

</body>
</html>

これ以上質問があれば、できるだけ早く返信します。表示できない画像だけで、すべてが正常に機能します。

4

4 に答える 4

10

まず第一に、stackoverflowへようこそ。

次に、HTMLや画像などをAssetsフォルダー内に配置します。そして、次のコードを使用します。

Cherry.java

WebView webview = (WebView) findViewById(R.id.abtus_webView);
webview.loadUrl("file:///android_asset/index.html");

htmltest.html

<img src="images/abc.png">

アセットフォルダの画像フォルダに画像を入れました。これは正しく機能しています。お役に立てば幸いです。

于 2012-06-01T03:59:14.300 に答える
3

このディレクトリを作成しますassets/www

次に、HTMLや画像などをwwwフォルダ内に配置します。そして、次のコードを使用します。

Cherry.java

webview.loadUrl("file:///android_asset/www/htmltest.html");

htmltest.html

<img border="0" src="../res/drawable-hdpi/test.png" alt="nothing" width="304" height="228" />
于 2012-06-01T02:25:11.080 に答える
1

画像が小さい場合。それらを Base64 コーディングに変換します。

ここで説明: http://dean.edwards.name/my/base64-ie.html

于 2015-02-20T22:17:20.160 に答える