您的位置:首页 > 移动开发

android 关于webview的小小总结

2013-12-02 16:54 549 查看
1.android提供了webView控件专门用来浏览网页。然后在程序中装载webView控件,设置属性,比如:颜色、字体、要访问的网址等。通过loadUrl方法设置当前webView需要访问的网址。在创建WebView时,系统有一个默认的设置,我们可以通过WebView.getSettings来得到这个设置。2.下面是设置一些常用属性、状态的方法WebSettings常用方法:setAllowFileAccess 启用或禁止WebView访问文件数据setBlockNetworkImage 是否显示网络图像setBuiltInZoomControls 设置是否支持缩放setCacheMode 设置缓冲的模式setDefaultFontSize 设置默认的字体大小setDefaultTextEncodingName 设置在解码时使用的默认编码setDomStorageEnabled(true);// 用来支持百度地图显示setFixedFontFamily 设置固定使用的字体setJavaSciptEnabled 设置是否支持JavascriptsetLayoutAlgorithm 设置布局方式setLightTouchEnabled 设置用鼠标激活被选项setSupportZoom 设置是否支持变焦WebViewClient常用方法:doUpdate VisitedHistory 更新历史记录onFormResubmission 应用程序重新请求网页数据onLoadResource 加载指定地址提供的资源onPageFinished 网页加载完毕onPageStarted 网页开始加载onReceivedError 报告错误信息onScaleChanged WebView发生改变shouldOverrideUrlLoading 控制新的连接在当前WebView中打开WebChromeClient常用方法:onCloseWindow 关闭WebViewonCreateWindow 创建WebViewonJsAlert 处理Javascript中的Alert对话框onJsConfirm处理Javascript中的Confirm对话框onJsPrompt处理Javascript中的Prompt对话框onProgressChanged 加载进度条改变onReceivedlcon 网页图标更改onReceivedTitle 网页Title更改onRequestFocus WebView显示焦点3. android webView相关知识@下面的代码通过loadUrl方法设置当前webView需要访问的网址:mWebView=(WebView) findViewById(R.id.WebView01);mWebView.loadUrl(“http://www.sogou.com”);@在android中专门通过WebSettings来设置WebView的一些属性、状态等。在创建WebView时,系统有一个默认的设置,我们可以通过WebView.getSettings来得到这个设置:WebSettings webSettings=mWebView.getSettings();//取得对象WebSettings和WebView都在同一个生命周期中存在,当WebView被销毁后,如果再使用WebSettings,则会抛出异常。@使用WebViewClient来完成在应用程序中自定义网页浏览程序:WebViewClient是辅助WebView处理各种通知、请求等事件的类。通过WebView的setWebViewClient方法指定WebViewClient对象。WebView可以通过覆盖WebViewClient方法来辅助WebView浏览网页:
public Boolean shouldOverrideUrlLoading
(WebView view,String url){view .loadUrl(url);return true;}
4. android webView实例实例中使用EditText输入网址,用Button来确认连接,用webView显示网页内容。这里使用了WebViewClient来辅助WebView处理一些事件,因此我们显示的网页都是在一个WebView控件中。可以通过goBack和goForward方法设置前进和后退,先检查是否可以前进和后退:
if((keyCode==keyEvent.KEYCODE_BACK)&&mWebView.canGoBack())
{
mWebView.goBack()//返回前一个页面
return true;
}
5、关于WebViewClient的方法解释设置WebChromeClient子类,WebChromeClient会在一些影响浏览器ui交互动作发生时被调用,比如WebView关闭和隐藏、页面加载进展、js确认框和警告框、js加载前、js操作超时、webView获得焦点等等,详见WebChromeClient设置WebViewClient子类,WebViewClient会在一些影响内容喧嚷的动作发生时被调用,比如表单的错误提交需要重新提交、页面开始加载及加载完成、资源加载中、接收到http认证需要处理、页面键盘响应、页面中的url打开处理等等,详见WebViewClientpublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。2)、public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) {handler.proceed();}重写此方法可以让webview处理https请求。3)、public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {return super.shouldOverrideKeyEvent(view, event);}}重写此方法才能够处理在浏览器中的按键事件。4、 public void onLoadResource(WebView view, String url) {// TODO Auto-generated method stubif (DEBUG) {Log.d(TAG, " onLoadResource ");}super.onLoadResource(view, url);}在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。5、 public void onPageStarted(WebView view, String url, Bitmap favicon) {// TODO Auto-generated method stubif (DEBUG) {Log.d(TAG, " onPageStarted ");}if (url.endsWith(".apk")) {download(url);//下载处理}super.onPageStarted(view, url, favicon);}在页面加载开始时调用。6、public void onPageFinished(WebView view, String url) {public void onPageFinished(WebView view, String url) {// TODO Auto-generated method stubif (DEBUG) {Log.d(TAG, " onPageFinished ");}super.onPageFinished(view, url);}// TODO Auto-generated method stubif (DEBUG) {Log.d(TAG, " onPageFinished ");}super.onPageFinished(view, url);}在页面加载结束时调用。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: