facebook twitter hatena line email

Android/webview/ローカル表示

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

webviewでローカルのassets内のhtmlを表示

  • app/src/MainActivity.java
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       WebView webview = new WebView(this);
       webview = (WebView)activity.findViewById(R.id.webview);
       webview.setWebViewClient(new WebViewClient());
       webview.loadUrl("file:///android_asset/index.html");
   }
}
  • app/src/main/assets/index.html
<html><head><meta http-equiv='content-type' content='text/html;charset=UTF-8'>
<title>test</title></head><body>
helloworld<img src='ic_launcher.png'>です。
<a href='link.html'>リンク</a>のテスト
</body></html>
  • app/assets/ic_launcher.png


参考: http://growsic.com/blog/androidlocalhtml/

appの下にassetsを入れたい場合

以下を入れるとapp/src/main/assetsでなくapp/assetsにアクセスする。

  • app/build.gradle
android {
  sourceSets{
    main{
      assets.srcDirs = ['assets']
    }
  }
}

htmlをそのまま入れる場合

String summary = "<html><body>You scored 192 points.</body></html>";
webview.loadData(summary, "text/html", null);

ウェブページへのアクセス不可 net::err_file_not_foundと出る場合

appの下にassetsなどをおいてないか。main/src/assetsへ置いてるか確認。