先上效果图:
简单说明一下:上面是一个webview控件,加载的是一个存放在本地的html文件(文件存放在main/assets/test.html)。点击的时候,调用的html中定义的js函数,然后在js函数中,执行android中定义的方法,android方法中开启子线程请求网络,然后在主线程中将请求到的结果通过js传递给html进行展示。
代码如下:
test.html文件:
Activty主要代码:
这里的jsObj和html中的window.jsObj是对应的。jsObj是Demo对象的一个别称。
Demo代码:
其中的方法需要添加注解@android.webkit.JavascriptInterface,这样才能够被js调用。getDataFromNet是请求网络数据的方法。
请求到数据以后,再使用webview加载html的JavaShow函数打印结果就可以了。以上就是小弟的一点理解,如有不当之处,还望见谅!