近期一直在做nwjs的东西,所以整理android的时间比较少;今天将webview相关的知识点整理上来。
现在越来越多的的项目中会采用webview的形式的展示自己的页面,通过这种形式的最大优点是展示的内容的可控性非常强,服务器可以通过更新服务端html文件来展示最新的内容。有些复杂html页面不单单是展示内容,可能还会有一些按钮,点击按钮后会跳转到android的本地页面,这个时候就需要通过js来调用android的本地代码了。核心代码如下:
一。JavaScript调用Java代码
WebView mMainWV = (WebView) findViewById(R.id.wv_main);
WebSettings settings = mMainWV.getSettings();
settings.setJavaScriptEnabled(true);
mMainWV.addJavascriptInterface(new WykJavaScriptOnClick(),"wyk");//注册js中响应事件的对象
mMainWV.loadUrl("file:///android_asset/test.html");
上述代码为webview的初始化:
1.setJavaScriptEnabled(true)是必须要添加的,目的是为了webview允许执行js的事件。
2.addJavascriptInterface(new WykJavaScriptOnClick(),"wyk")中的WykJavaScriptOnClick是一个自定的类,响应js的事件全部定义