Android中WebView的相关使用

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

最近做的项目中,遇到个很棘手的问题:

客户给我的数据是有限制的,因此,在返回某条具体页面内容的时候,他只能给我一个html片段,里面包含

文字,图片以及附件的下载地址。如果网页模版规范的爱比较好说,但是他给我的数据中,不确定的因素很多:

比如 可能没有图片,图片和文字穿插在一起,最为重要的是html便签他的嵌套层次和标签个数都是不确定的。

如果我采用解析html提取内容出来的话,估计就掉进坑里了.......

但实际情况中,打算服务器先将客户代码的标签属性删除,只剩骨头,但结果还是不尽人意,因为将所有原本的标签属性删除后,显示还是会有问题........。。。

因此,我看了一下网易新闻等感觉都是采用webview进行展示的,关键是如何封装并处理好数据了。

学走路,还是从模仿开始。这里借鉴了大牛们的博客,经验,再次一并谢过:

http://blog.csdn.net/zi413293813/article/details/18144055

http://blog.csdn.net/kavensu/article/details/7931480

http://blog.csdn.net/wangtingshuai/article/details/8635787

http://blog.csdn.net/chenshijun0101/article/details/7045394

我的需求:下载图片;下载附件、

采用思路:将内容用html展示,并且实现java和js的交互,响应用户点击图片的动作。

这里我写了一个demo,按照上面别人的例子简单封装了一下,当然,这里只是提供一种思路,具体怎么封装怎么去实现更好好还是的要具体问题具体分析了。

别忘了:添加写文件权限和网络权限

demo使用测试页面:http://www.cnbeta.com/articles/292267.htm

这里,因为他的内容太多,所以我直接去了主要内容部分,也就是有我文字和图片混搭的部分。

接口:主要用于回调,当然为了扩展的话,还可以添加更多方法。

package com.example.androidwebviewdemo;

/**

*

*

* 下午8:04:06

*

* @auther xiangxm

*/

public interface IOnWebViewCallBack {

/**

*

* 页面加载进度

*

*

* @param progress

*void

*/

void onProgressChanged(int progress);

}

设置webview控件的相关属性:

private void initView() {

progressbar = (ProgressBar) findViewById(R.id.progressbar);

progressbar.setVisibility(View.INVISIBLE);

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

WebSettings settings = mWebView.getSettings();

// 设置webview的相关属性

settings.setJavaScriptEnabled(true);// 允许执行js代码

settings.setBlockNetworkImage(true);

settings.setSupportZoom(false);// 不支持缩放

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

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

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

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

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

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

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

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

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

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

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

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

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

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