这两天一直在研究WebView加载html文件,并显示服务器端数据得问题,其中很关键的一个问题就是需要在java代码中将从服务器端接收到的数据,传递到WebView的HTML页面中,并通过JavaScript函数来将数据显示出来。在查看了Android的API文档以后,发现WebView有两种方式可以和JavaScript做交互。
方式一:
//先加载html文件,然后调用html文件中的javascript函数
webView.loadUrl("file:///android_asset/show.html");
webView.loadUrl("javascript:pushNewsData('"+strHtml+"')");
方式二:
//在Java代码中添加javascript的接口,然后在html文件中调用java中的对象
webView.addJavascriptInterface(strHtml, "MyContent");
HTML文件
html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
funcion pushNewsDate(dataText){
document.write(dataText);
}
window.MyContent;