facebook twitter hatena line email

「Android/webview/ローカル表示」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
 
(同じ利用者による、間の4版が非表示)
行1: 行1:
webviewでローカルのassets内のhtmlを表示
+
==webviewでローカルのassets内のhtmlを表示==
  
 
*app/src/MainActivity.java
 
*app/src/MainActivity.java
行14: 行14:
 
  }
 
  }
  
*app/assets/index.html
+
*app/src/main/assets/index.html
 
  <html><head><meta http-equiv='content-type' content='text/html;charset=UTF-8'>
 
  <html><head><meta http-equiv='content-type' content='text/html;charset=UTF-8'>
 
  <title>test</title></head><body>
 
  <title>test</title></head><body>
行23: 行23:
 
*app/assets/ic_launcher.png
 
*app/assets/ic_launcher.png
  
*build.gradle
 
sourceSets{
 
  main{
 
    assets.srcDirs = ['assets']
 
  }
 
}
 
  
 
参考:
 
参考:
 
http://growsic.com/blog/androidlocalhtml/
 
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 <b>192</b> points.</body></html>";
 +
webview.loadData(summary, "text/html", null);
 +
 +
==ウェブページへのアクセス不可 net::err_file_not_foundと出る場合==
 +
appの下にassetsなどをおいてないか。main/src/assetsへ置いてるか確認。

2020年8月26日 (水) 14:53時点における最新版

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