在写这篇文章之情,参考了很多,js与native的交互的资料,下面先给出我参考的一些东西,然后在给我我的代码。
使用场景:
1.)添加权限
<uses-permission android:name="android.permission.INTERNET" />
2.)布局文件
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
3.)数据加载
加载本地资源
webView.loadUrl("file:///android_asset/example.html");
加载网络资源
webView.loadUrl("www.xxx.com/index.html");
添加请求头信息(另外一种重载 loadurl() )
Map<String,String> map=new HashMap<String,String>();
map.put("User-Agent","Android");
webView.loadUrl("www.xxx.com/index.html",map);
也可以加载html片段
String data = " Html 数据";
webView.loadData(data, "text/html", "utf-8");
实测会发现loadData会导致中文乱码,所以一般情况使用如下代码
String data = " Html 数据";
webView.loadDataWithBaseURL(null,data, "text/html", "utf-8",null);
// mWebView.loadUrl("https://baidu.com");
// mWebView.loadUrl("file:android_asset/javascriptDemo.html");
String data = "<div style=\"text-align:center;\">《静夜思》· 李白<br />床前明月光,<br />疑是地上霜。 <br />举头望明月, <br />低头思故乡。<br /><img src=\"http://www.xiexingcun.com/Poetry/6/images/53e.jpg\" alt=\"\" /><br /><img src=\"http://www.xiexingcun.com/Poetry/6/images/53.jpg\" alt=\"\" /><br /><br /><img src=\"http://www.xiexingcun.com/Poetry/6/images/53b.jpg\" alt=\"\" /><br /></div>\n" +
"!";
// mWebView.loadData(data,"text/html","utf-8");
mWebView.loadDataWithBaseURL(null,data,"text/html","utf-8",null);
这篇文章写的例子,很好的解决了问题。
https://blog.csdn.net/zhyh1986/article/details/42169159
主要是这个2个类方法的说明
https://blog.csdn.net/lanxingfeifei/article/details/52045082
WebView webView;
webView =(WebView) findViewById(R.id.webview);