android提供了内置的浏览器,该浏览器使用了开源的webkit引擎。webkit不仅能够搜索网址、查看电子邮件,而且能够播放视频节目。在android中,要使用内置的浏览器,需要通过webview组件来实现。通过webview组件可以轻松实现显示网页功能。
如何在android中使用webview组件:
webview组件使用方法同其它组件一样,既可以使用xml布局文件配置,也可以在java文件中通过new关键字创建。推荐使用xml布局文件配置,配置方法:
web组件的常用方法:
loadurl(string url) 用于加载指定url对应的网页
loaddata(string data,string mimetype,string encoding) 用于将指定的字符串数据加载到浏览器中
loaddatawithbaseurl(string baseurl,string data,string mimetype,string encoding,string historyurl) 用于基于url加载指定的数据
capturepicture() 用于创建当前屏幕的快照
goback()执行后退操作,相当于浏览器上后退按钮的功能
goforward()执行前进操作,相当于浏览器上前进按钮的功能
stoploading()用于停止加载当前页面
reload()用于刷新当前页面
下面利用几个实例说明webview的应用
(1)例子1:使用webview组件浏览指定网页
res/layout/main.xml:
mainactivity:
别忘记在androidmanifest.xml中加入访问网络的权限:
运行结果如图
(2)例子2:使用webview加载html代码
在进行android开发时,对于一些游戏的帮助信息,使用html代码进行显示比较实用,不仅可以让界面更加美观,而且可以让开发更加简单、快捷。
需要使用loaddatawithbaseurl()方法加载html代码,基本语法格式如下:
loaddatawithbaseurl(string baseurl,string data,string mimetype,string encoding,string historyurl)
其中各项参数说明如下:
baseurl:用于指定当前页面使用的基本url。如果为null,则使用默认的about:blank,即空白页
data:用于指定要显示的字符串数据
mimetype:用于指定要显示的mime类型。如果为null,则默认使用text/html
encoding:用于指定数据的编码方式
history:用于指定当前的历史url,也就是进入该页前显示页的url。如果为null,则使用默认的about:blank。
下面用一个实例来说明如何使用webview组件加载html代码:
mainactivity:
(3)例子3:让webview支持javascript
在默认的情况下,webview是不支持javascript的,但是有些网页有需要实现javascript功能。这个时候要为webview加入兼容javascript的功能。利用以下两个步骤:
a.使用webview组件的websettings对象提供的setjavascriptenabled()方法让javascript可用。
webview.getsettings().setjavascriptenabled(true);//设置webview组件兼容javascript
b.通过上面的设置,大部分javascript可用,但是对于通过window.alert()方法弹出的对话框不可用。要想显示弹出的对话框,需要使用webview组件的setwebchromeclient()方法来处理javascript的对话框,具体代码如下:
webview.setwebchromeclient(new webchromeclient());
下面通过一个具体的实例来说明如何让webview组件支持javascript
运行结果为图
(4)整合项目:利用webview打造功能实用的浏览器
实现一个包含前进、后退功能并支持javascript的网页浏览器
布局xml文件中包含前进和后退按钮,一个url地址输入框,一个"go"按钮,还有下方的webview组件
界面效果如图
要在androidmanifest.xml中设置强制横屏(android:screenorientation="landscape"):
运行效果如图
怎么样?你掌握webview的使用技术了吗?赶快动手来做吧!
转载请注明出处:http://blog.csdn.net/acmman/article/details/46489353