android webview学习总结
androidwebview要点
1:权限
2:html资源位置加载方式(loacal或net)
3:webView的加载方式两种
4:webseting
5:webviewclient
6:webchromeclient
7:js和android间调用
1:权限
在Androidmainfest.xml中添加权限
<uses-permissionandroid:name="android.permission.INTERNET"/>
(如果加载的是本地的资源的话可以不加)
2:html资源位置加载方式(loacal或net)
资源在本地,放在assets中加载方式
webview.loadUrl("file:///android_asset/XXX.html");
资源在网络服务器
webView.loadUrl("http://www.google.com");
3:webView的加载方式两种
第一种:在布局文件中配置,然后通过findviewbyid加载。
第二种:在程序中动态生成.
WebViewwebview=newWebView(this);
setContentView(webview);
4:websetting
设置webview的相关属性
WebSetting常用方法
setAllowFileAccess启用或禁用WebView访问文件数据
setBlockNetworkImage是否显示网络图像
setBuiltInZoomControls设置是否支持缩放
setCacheMode设置缓冲的模式
setDefaultFontSize设置默认的字体大小
setDefaultTextEncodingName设置在解码时时候用的默认编码
setFixedFontFamily设置固定使用的字体
setJavaScriptEnabled设置是否支持Javascript(很重要,长会用到)setLayoutAlgorithm设置布局方式
setLightTouchEnabled设置用鼠标激活被选项
setSupportZoom
5:webviewclient
WebViewClient主要处理关于页面跳转,页面请求等操作
常用方法
doUpdateVisitedHistory更新历史记录
onFormResubmission应用程序重新请求网页数据
onLoadResource加载指定地址提供的资源
onPageFinished网页加载完毕
onPageStarted网页开始加载
onReceivedError报告错误信息
onScaleChangedWebView发生改变
shouldOverrideUrlLoading控制新的连接在当前WebView中打开(常用于解决webview中点击连接打开浏览器问题)
6:webchromeclient
其实对于WebChromeClient,主要处理关于脚本的执行,或progress等操作
onCloseWindow关闭WebView
onCreateWindow创建WebView
onJsAlert处理Javascript中的Alert对话框
onJsConfirm处理Javascript中的Confirm对话框
onJsPrompt处理Javascript中的Prompt对话框
onProgressChanged加载进度条改变
onReceivedlcon网页图标更改
onReceivedTitle网页Title更改
onRequestFocusWebView显示焦点
7:js和android间调用
js调java方法(可有返回值)
java代码
webview.addJavascriptInterface(newObject(){
publicvoidprintln(finalintj){//将要调用的方法
System.out.println("A");
}
},"demo");//demo为对象的别名
js中代码
<aonclick="window.demo.println()">b.c</a>
java调用js方法(无返回值,时间较长用户体验不好建议少用)
js代码
<scripttype="text/javascript">
functional(){
alert("aaaaaaaa");
}
</script>
java代码
webview.loadUrl("javascript:al()");