#WebView
##作用
加载HTML的一些信息
使用的原因:
1.兼容已有的项目
2.可以动态更新
##缺点
耗电,加载慢,手机发热
##基本用法
WebView wv=(WebView) findViewById(R.id.wv);
wv.loadUrl(url);//加载网页
wv.getSettings().setDefaultTextEncodingName("utf-8");//设置编码格式
wv.getSettings().setJavaScriptEnabled(true); //设置支持Javascript
##常用方法
### wv.setWebViewClient(new WebViewClient());
1.shouldOverrideUrlLoading
1.当页面发生2次跳转时调用,默认返回false
2.返回fase时就是当前WebView处理全部跳转
3.返回true时代表当前的应用处理跳转(1.重新调用loadUrl方法打开2.隐士意图跳转浏览器打开)
2.onPageStarted 开始进度,可以显示进度条
3.onPageFinished 结束进度,可隐藏进度条
4.onReceivedError网页加载错误时回调
1.加载一个本地的错误页面
2.隐藏WebView,显示含有错误信息的TextView
### wv.setWebChromeClient(new WebViewClient());
1.onProgressChanged 进度改变调用,可更新进度条
2.onReceivedTitle 获得当前网页的title,加载时调用,返回时不调用
### wv.setDownloadListener(new DownloadListener());
1.onDownloadStart 下载文件
1.自己下载
2.隐式意图跳转系统下载
##Android与JS交互
1)JS调用Android方法
webView.addJavascriptInterface(Object obj,String name).
2)Android调用JS的方法
webView.loadUrl("javascript:方法名('参数')");
##加载本地html文件
1.如果html文件存于assets:则加前缀:file:///android_asset/
2.如果html文件存于sdcard:则加前缀:content://com.android.htmlfileprovider/sdcard/
注意:content前缀可能导致异常,直接使用file:///sdcard/ or file:/sdcard也可以
##作用
加载HTML的一些信息
使用的原因:
1.兼容已有的项目
2.可以动态更新
##缺点
耗电,加载慢,手机发热
##基本用法
WebView wv=(WebView) findViewById(R.id.wv);
wv.loadUrl(url);//加载网页
wv.getSettings().setDefaultTextEncodingName("utf-8");//设置编码格式
wv.getSettings().setJavaScriptEnabled(true); //设置支持Javascript
##常用方法
### wv.setWebViewClient(new WebViewClient());
1.shouldOverrideUrlLoading
1.当页面发生2次跳转时调用,默认返回false
2.返回fase时就是当前WebView处理全部跳转
3.返回true时代表当前的应用处理跳转(1.重新调用loadUrl方法打开2.隐士意图跳转浏览器打开)
2.onPageStarted 开始进度,可以显示进度条
3.onPageFinished 结束进度,可隐藏进度条
4.onReceivedError网页加载错误时回调
1.加载一个本地的错误页面
2.隐藏WebView,显示含有错误信息的TextView
### wv.setWebChromeClient(new WebViewClient());
1.onProgressChanged 进度改变调用,可更新进度条
2.onReceivedTitle 获得当前网页的title,加载时调用,返回时不调用
### wv.setDownloadListener(new DownloadListener());
1.onDownloadStart 下载文件
1.自己下载
2.隐式意图跳转系统下载
##Android与JS交互
1)JS调用Android方法
webView.addJavascriptInterface(Object obj,String name).
2)Android调用JS的方法
webView.loadUrl("javascript:方法名('参数')");
##加载本地html文件
1.如果html文件存于assets:则加前缀:file:///android_asset/
2.如果html文件存于sdcard:则加前缀:content://com.android.htmlfileprovider/sdcard/
注意:content前缀可能导致异常,直接使用file:///sdcard/ or file:/sdcard也可以