最近做webview,遇到2种需求,一种是在自己服务器上的HTML中获取数据,另一种是通过自己服务器上的HTML中的超链接跳到另一个站点的HTML中,并获取数据。
于是,总结了2种通过webview获取网页上的数据的方式:
第一种:简单点的,直接通过js调java,在调用方法的过程中将数据通过方法的参数传递给Android端,(前提:服务端有对应的faxun对象,而且调用的方法是showImages(String[] imgUrls))。
class MyJavaScriptInterface {
MyJavaScriptInterface() {
}
/**
* js调java,显示图片
*
* @param imgUrls
*/
@JavascriptInterface
public void showImages(String[] imgUrls) {
LogUtils.i(TAG, "imgUrls = " + imgUrls[0]);
NewsDetailWebviewActivity.this.imgUrls = imgUrls;
}
}
...
webView.addJavascriptInterface(new MyJavaScriptInterface(), "faxun");
第二种:有点复杂,通过webview注册一个本地接口后,然后通过java调js,拿到document对象后,解析HTML标签,然后数

本文总结了两种通过WebView获取网页数据的方法。第一种是通过JS调用Java,将数据作为参数传递;第二种是注册本地接口,解析HTML获取数据。当HTML未实现JS调Java时,第二种方式适用于获取如title等信息。
最低0.47元/天 解锁文章
8988

被折叠的 条评论
为什么被折叠?



