android原生应用,用webview加载应用中的网页,并且java代码与js代码可以互相操作。
这是混合开发的基石,最基本也最重要的东西,实验代码在这里。
概括说说——
java调js:调用webView.load("javascript:someFunction()");
这样可以调用webView里页面上的全局方法。这不是什么新鲜东西,你在网页中也可以这么做,试试在浏览器地址栏输入javascript:alert("427studio");也可以在浏览器地址栏里调用全局方法。
js调java:调用webView.addJavascriptInterface(somePOJO, "varName");
让一个java对象成为webview里面网页的window对象的varName属性,就好像执行了window.varName = somePOJO一样,因为window是全局上下文,js即可以用访问全局变量的方式访问这个java对象了,然后调用这个对象的函数即可,如果somePOJO这个对象有个public void doIt()方法,则可以这样调用它:someButton.οnclick=function(){varName.doIt();}
具体的代码:看这里和