基于Webview组件的Andriod平台网页封装程序设计

2013-04-29 20:39王运生聂芬
智能计算机与应用 2013年6期
关键词:网页

王运生 聂芬

摘要:目前,Andriod智能手机平台已经成为人们获取信息的重要方式之一,但在使用过程中,经常遇到在手机平台上登陆某个网址需要输入较复杂的URL地址,造成使用不便。WebView是Andriod平台基于WebKit引擎的浏览器组件,用来显示网页或者显示应用的在线内容。基于WebView可以快速开发浏览器的上层应用,响应网页的加载和脚本的交互。本文将介绍使用Webview组件将固定网址封装成一个Andriod程序的方法。

关键词:Andriod; Webview组件; 网页; 封装

中图分类号:TP311 文献标识码:A文章编号:2095-2163(2013)06-0104-03

0引言

Android手机平台是美国Google公司开发的基于Linux平台的开源智能手机操作系统,内含操作系统、中间件和应用程序,由于源代码开放,该系统可以移植到不同的硬件平台上,目前已被国内外手机制造商广泛采用[1]。

WebView是Android平台上一个能够加载显示网页的组件,是一个浏览器控件,通过这个控件可以直接访问网页,或者把输入的HTML字符串显示出来,功能较为强大,并主要表现为如下五个优点[2]:

(1)功能强大,支持CSS,Java?script等HTML语言,使得页面更加漂亮;

(2)能够对浏览器控件进行非常详细的设置,比如字体大小,背景色,滚动条样式等;

(3)能够捕捉到所有浏览器操作,比如点击URL,打开或关闭URL;

(4)能够很好地融入布局;

(5)甚至,webView还能和JS进行交互。

1 Webview组件主要内容

使用Webview组件在Android平台上加载显示网页,首先要在manifest.main文件中创建一个Webview,然后在activity中定义Webview,主要内容如下[3]:

(1)添加权限:AndroidManifest.xml中必须使用许可“android.permission.INTERNET”,否则会出现Web page not available错误;

(2)要在Activity中生成一个WebView组件:WebView webView = new WebView(this);

(3)如果WebView中需要用户手动输入用户名、密码或其他,则Webview必须设置支持获取手势焦点:Webview.requestFocusFromTouch();

(4)如果访问的页面中有Javascript,则Webview必须设置支持Javascript,否则显示空白页面。Java代码:Webview.getSettings().setJavaScriptEnabled(true);

(5)WebView 加载界面主要调用“LoadUrl”方法,可直接加载网页、图片并显示;

(6)如果页面中存在链接,而点击链接却要求继续在当前browser中响应,而不是在新开Android系统的browser中响应该链接,则必须覆盖Webview的WebViewClient对象。Java代码如下:

(7) 如果不做任何处理,在显示用户的Brower UI时,点击系统“Back”键,整个Browser会作为一个整体回退(“Back”)到其他Activity中,而不是在Browser的历史页面中实现回退(“Back”)。如果需要在历史页面中实现Back,则要在当前Activity中处理并消费掉该Back事件。相应的Java代码如下:

2实现Webview的两种方法

2.1在Activity中实例化WebView组件

首先,该方法要在Activity中实例化WebView组件[5]:

WebView webView = new WebView(this);

其次,要调用WebView的loadUrl()方法,设置WevView将显示的网页,本文以要访问“山西水利职业技术学院全国计算机等级考试成绩查询”为例,URL地址为:http://60.222.229.72:94/cjcx/index.asp,则调用WebView的loadUrl()方法语句为:

webView.loadUrl("http://60.222.229.72:94/cjcx/index.asp");

最后,调用Activity的setContentView( )方法来显示网页视图,在计算机上访问该网页,如图1所示。

经调试,该方法在Andriod模拟平台上可以正常打开网页,效果如图2所示。

经调试,同样可以得到图1的结果,最后,在eclipse[7]环境下,将源代码打包生成Andriod平台的APK安装文件,而在Andriod手机平台安装完成后即可付诸使用,具体如图3所示。

3结束语

上述两种方法,均可实现将复杂的网页URL地址封装成一个Andriod程序,从而进行快速浏览[8],特别需要注意的是:

(1)在用WebView链接成功后,为了使WebView支持回退功能,需要覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退按键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面。

(2)需要在AndroidManifest.xml文件中添加权限:,否则会出现Web page not available错误。

参考文献:

[1]韩超.Android经典应用程序开发[M].北京:电子工业出版社,2012:115-121.

[2]林城.Android 2.3应用开发实战[M]. 北京:机械工业出版社,2013:132-142.

[3]白文江.基于Android平台的移动应用开发研究[J].太原:太原大学学报,2011(3):117-120.

[4]张小东,李惠.基于Android的PKM平台的设计与实现[J].贵州大学学报(自然科学版),2011(6):70-74.

[5]孙伟,丁永尚, 何福男.Web Service技术在移动平台中的应用[J]. 苏州市职业大学学报, 2012(9):38-41.

[6]刘彬.Web Service技术在移动平台中的应用[D].广州:中山大学, 2011:32-40.

[7]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用, 2008,17(11):110-112.

[8]熊文阔.基于Android平台手机图形编辑软件的设计与实现[D].北京:北京邮电大学, 2011:35-39.

猜你喜欢
网页
基于特征加权ML-kNN的网页浏览业务KQI预测
基于HTML5与CSS3的网页设计技术研究
基于网页挖掘的网页作弊检测技术
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于URL和网页类型的网页信息采集研究
搜索引擎怎样对网页排序
浅谈WAP时代的网页前端设计
网页制作在英语教学中的应用
10个必知的网页设计术语