
第6章 网络通信
第6章 网络通信

6.1Web视图
6.1 Web视图

6.1.1浏览器引擎NebKit >WebKit:是一个开源的浏览器引擎。 Webkit内核具有非常好的网页解析机制, 很多应用系统都使用WebKit作浏览器的 内核。 >Androidi对Webkit作了进一步的封装, 并提供了丰富的API。Android平台的 WebKit模块由Java层和WebKit库两个部 分组成,Java层负责与Android应用程序 进行通信,而WebKit类库负责实际的网 页排版处理
6.1.1 浏览器引擎WebKit ➢WebKit是一个开源的浏览器引擎。 Webkit内核具有非常好的网页解析机制, 很多应用系统都使用WebKit作浏览器的 内核。 ➢Android对 Webkit作了进一步的封装, 并提供了丰富的API。Android平台的 WebKit模块由Java层和WebKit库两个部 分组成,Java层负责与Android应用程序 进行通信,而WebKit类库负责实际的网 页排版处理

VebKit包中的几个重要类 类名 说明 WebSettin 用于设置WebViewl的特征、属性等。 gs WebView 显示Web页面的视图对象,用于网页数据载 入、显示等操作 WebViewCl 在Web视图中帮助处理各种通知、请求事件。 ient WebChrome Google浏览器Chrome的基类,辅助WebView Client 处理JavaScript.对话框、网站的标题、网 站的图标、加载进度条等
WebKit包中的几个重要类 类 名 说 明 WebSettin gs 用于设置WebView的特征、属性等。 WebView 显示Web页面的视图对象,用于网页数据载 入、显示等操作 WebViewCl ient 在Web视图中帮助处理各种通知、请求事件。 WebChrome Client Google浏览器Chrome的基类,辅助WebView 处理JavaScript对话框、网站的标题、网 站的图标、加载进度条等

6.1.2Web视图对象 1、WebView-类 >WebViewa类是WebKit模块Java层的视图类,所 有需要使用Web浏览功能的Android应用程序都 要创建该视图对象,用于显示和处理请求的网 络资源。 >WebKit:模块支持HTTP、HTTPS、FTP以及 javascript请求。WebView作为应用程序的UI 接口,为用户提供了一系列的网页浏览、用户 交互接口,客户程序通过这些接口访问WebKit 核心代码
6.1.2 Web视图对象 1、WebView类 ➢ WebView类是WebKit模块Java层的视图类,所 有需要使用Web浏览功能的Android应用程序都 要创建该视图对象,用于显示和处理请求的网 络资源。 ➢ WebKit模块支持HTTP、HTTPS、FTP以及 javascript请求。WebView作为应用程序的UI 接口,为用户提供了一系列的网页浏览、用户 交互接口,客户程序通过这些接口访问WebKit 核心代码

ebView类的常用方法 方法 说明 WebView(Context context) 构造方法 loadUrl(String url) 加载URL网站页面 loadData(String data,String 显示HTML格式的web视图 mimeType,String encod) reload() 重新加载网页 getSettings() 获取WebSettings对象 goBack() 返回上一页面 goForward() 向前一页面 clearHistory() 清除历史记录 addJavascriptInterface (Object 将对象绑定到Javascript,允 obj, 许从网页控制Android程序, String interfaceName) 从网页调用该对象的方法
WebView类的常用方法 方 法 说 明 WebView(Context context) 构造方法 loadUrl(String url) 加载URL网站页面 loadData(String data, String mimeType, String encod) 显示HTML格式的web视图 reload() 重新加载网页 getSettings() 获取 WebSettings对象 goBack() 返回上一页面 goForward() 向前一页面 clearHistory() 清除历史记录 addJavascriptInterface (Object obj, String interfaceName) 将对象绑定到Javascript,允 许从网页控制Android程序, 从网页调用该对象的方法

2、使用VebView的说明 (1)设置WebView基本信息: >如果访问的页面中有Javascript,则webview必须设 置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true); >触摸焦点起作用 requestFocus(); >取消滚动条 this.setScrollBarStyle(SCROLLBARS OUTSIDE O VERLAY);
2、使用WebView的说明 (1)设置WebView基本信息: ➢如果访问的页面中有Javascript,则webview必须设 置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true); ➢触摸焦点起作用 requestFocus(); ➢取消滚动条 this.setScrollBarStyle(SCROLLBARS_OUTSIDE_O VERLAY);

(2)设置WevView要显示的网页: >互联网用: webView.loadUrl("http://www.google.com"); >本地文件用: webView.loadUrl("file:///android_asset/XX. html");本地文件要存放在项目的assets目 录中
(2)设置WevView要显示的网页: ➢互联网用: webView.loadUrl("http://www.google.com"); ➢本地文件用: webView.loadUrl("file:///android_asset/XX. html"); 本地文件要存放在项目的assets目 录中

(3)用webview点击链接看了很多页面以 后,如果不做任何处理,点击系统 “Back”键,浏览器会调用finish()而 结束自身的运行;如果希望浏览的网页 回退而不是退出浏览器,需要在当前 Activity中覆盖Activity类的 onKeyDown(int keyCoder,KeyEvent event)方法处理该Back事件
(3)用webview点击链接看了很多页面以 后,如果不做任何处理,点击系统 “Back”键,浏览器会调用finish()而 结束自身的运行;如果希望浏览的网页 回退而不是退出浏览器,需要在当前 Activity中覆盖Activity类的 onKeyDown(int keyCoder,KeyEvent event)方法处理该Back事件

【例6-1】应用NebView对象浏览网页。 >(代码详见教材) Qex61(ebir显示网页) www.baidu.com 打开网页 Ba欲度 百度一下 文库图片知道新闻视频 应用地图贴吧a0123更多, 客户端丨百度搜索百度应用地图 小说游戏下载
【例6-1】应用WebView对象浏览网页。 ➢(代码详见教材)