1.安卓手机中内置了一款webkit内核的浏览器,在SDK中封装为WebView组件。
2.该组件可以在自己的应用程序中显示本地或者Internet上的网页,也可以把它当作一个浏览器来时用。
3.WebView支持html/css/javascript,而且可以实现和java代码的相互调用。
4.可以使用该组件来加载html页面作为用户界面。
5.该组件显示网页的两种方式:
//web页面 loadUrl("http://www.baidu.com"); //本地文件,将html文件放在指定的文件夹下 loadUrl("file:///android_asset/xxx.html");
6. 也可以直接加载html的代码放在String里面让内核去解析。
loadData(String data, String mimeType, String encoding) // data:这个网页的代码保存成一条字符串在data里面 // mimeType:表示文件类型,比如"text/html","image/jpeg" // encoding: 编码方式,为了保证汉字不会乱码可选择:"utf-8"
7. android提供了webView控件专门用来浏览网页。然后在程序中装载webView控件,设置属性,比如:颜色、字体、要访问的网址等。通过loadUrl方法设置当前webView需要访问的网址。在创建WebView时,系统有一个默认的设置,我们可以通过WebView.getSettings来得到这个设置。
//下面是设置一些常用属性、状态的方法 WebSettings常用方法: setAllowFileAccess 启用或禁止WebView访问文件数据 setBlockNetworkImage 是否显示网络图像 setBuiltInZoomControls 设置是否支持缩放 setCacheMode 设置缓冲的模式 setDefaultFontSize 设置默认的字体大小 setDefaultTextEncodingName 设置在解码时使用的默认编码 setFixedFontFamily 设置固定使用的字体 setJavaSciptEnabled 设置是否支持Javascript setLayoutAlgorithm 设置布局方式 setLightTouchEnabled 设置用鼠标激活被选项 setSupportZoom 设置是否支持变焦 WebViewClient常用方法: doUpdate VisitedHistory 更新历史记录 onFormResubmission 应用程序重新请求网页数据 onLoadResource 加载指定地址提供的资源 onPageFinished 网页加载完毕 onPageStarted 网页开始加载 onReceivedError 报告错误信息 onScaleChanged WebView发生改变 shouldOverrideUrlLoading 控制新的连接在当前WebView中打开 WebChromeClient常用方法: onCloseWindow 关闭WebView onCreateWindow 创建WebView onJsAlert 处理Javascript中的Alert对话框 onJsConfirm处理Javascript中的Confirm对话框 onJsPrompt处理Javascript中的Prompt对话框 onProgressChanged 加载进度条改变 onReceivedlcon 网页图标更改 onReceivedTitle 网页Title更改 onRequestFocus WebView显示焦点
8. 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;}