API Demos 2.3学习笔记(10)-- Views->WebView

  次阅读 作者:智能小宝 来源:互联网 2015-10-02 21:40 我要评论(0)

WebView是一个专门用来显示网页的View子类。它使用WebKit渲染引擎来显示网页,并且支持包括前进,后退,放大,缩小,文本搜索等多种功能。

WebView有一个辅助类叫WebSettings,它管理WebView的设置状态。该类的对象可以通过WebView.getSettings()方法获得。下面我们介绍几个常用的WebSettings设置:

view plainprint?

//得到WebView对象

WebView mWebView = (WebView) findViewById(R.id.wv1);

//通过WebView得到WebSettings对象

WebSettings mWebSettings = mWebView.getSettings();

//设置支持Javascript的参数

mWebSettings.setJavaScriptEnabled(true);

//设置可以支持缩放

mWebSettings.setSupportZoom(true);

//设置出现缩放工具

mWebSettings.setBuiltInZoomControls(true);

//设置默认缩放方式尺寸是far

mWebSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);

//设置允许访问文件数据

mWebSettings.setAllowFileAccess(true);

//设置是否保存密码

mWebSettings.setSavePassword(true);

//设置网页默认编码

Settings.setDefaultTextEncodingName(encoding);

有关WebSettings更多的设置选项,请参考Android SDK的帮助文档。

下面我们结合实例,简单介绍下通过WebView访问网页的三种常用方法:loadUrl、loadData以及loadDataWithBaseURL。

1、public void loadUrl(String url)

loadUrl方法很简单,只需要提供一个参数,即url地址,就可以进行自动加载。

该方法适用于加载网页、网页图片、本地网页以及本地图片。具体参考如下:

view plainprint?

WebView wv = (WebView) findViewById(R.id.wv1);

wv.requestFocus(); //请求焦点

wv.getSettings().setJavaScriptEnabled(true); //设置是否支持JavaScript

wv.getSettings().setSupportZoom(true); //设置是否支持缩放

wv.getSettings().setBuiltInZoomControls(true); //设置是否显示内建缩放工具

wv.getSettings().setSavePassword(true); //设置是否保存密码

wv.loadUrl("http://www.baidu.com/");//加载在线网页

wv.loadUrl("http://up.2cto.com/2011/0930/20110930020727775.jpg"); //加载在线图片

wv.loadUrl("file:///mnt/sdcard/Google.html"); //加载本地网页(SD卡根目录下)

wv.loadUrl("http://up.2cto.com/2011/0930/20110930021037759.jpg");//加载本地图片(SD卡根目录下)

注:1、后面四句包含“loadUrl”的语句分别对应加载在线网页/在线图片/本地网页/本地图片四中情况,每种情况下只取其一。

2、对于sdcard中的本地网页和图片等资源,一般url地址以 “file:///mnt/sdcard/”开头;

3、对于android项目中assets目录下的本地网页和图片等资源, 一般url地址以 “ file:///android_asset/ "开头;

2、public void loadData(String data, String mimeType, String encoding)

loadData将指定的data加载到WebView中。由于本身机制的原因,该方法不能加载来自网络的内容。其中,data内的html代码中若含有以下四种字符'#', '%', '\', '?',则应该依次替换为%23, %25, %27, %3f 。 参数mimeType,即MIME Type,也就是该资源的媒体类型,可以取值text/html, image/jpeg等。参数 encoding为网页编码,可以取值utf-8, base64等。具体参考如下:

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...