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へ置いてるか確認。