- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android开发中对HTML内容的显示.doc
Android开发中对HTML内容的显示
摘 要 随着Android科技的发展,手机客户端接受了更多的HTML内容。本文作者采用WebView直接显示法结合人机交互的原则,从用户体验的角度解析传入的HTML内容,显示出完整的图文内容。
关键词 Android;HTML标签;WebView
中图分类号TN91 文献标识码 A 文章编号 1674-6708(2015)145-0049-01
Android智能手机已经在我们现实生活中无处不在,成为我们生活中不可或缺的一部分,Android应用充斥和丰富着我们的生活。随着互联网的发展和手机网速的提升Android客户端获取网络的信息资源已是稀松平常,获取的信息中带有HTML内容是必不可少的,如果把HTML标记去掉很大程度上会破坏资源的完整性,即便获取了资源内的文字但文字的样式也会消失,资源内的链接和图片同样会消失。在这种形势下Android客户端对HTML内容的解析就是大势所趋。
1 方法介绍
Android对HTML内容解析主要有四种方法:1)Java正则表达式过滤法,Java正则表达式(Regular Expression)就是一个字符构成的串,这个方法可以搜索提取出任何你想要的字符串,只要找到一个符合要求的正则表达式就可以过滤去除HTML标签;2)jsoup 解析器解析法,jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容等。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jquery的操作方法来取出和操作数据;3)TextView自带类解析法,Android提供了android.text.Html类和Html.ImageGetter、Html.TagHandler接口,格式化字符串为HTML样式处理后再在TextView中显示;4)WebView直接显示法,Android提供了方便非格式化方法不需要转码直接在WebView中显示。
2 实际解决方案
2.1 需求分析
本人在承担河北省大学生创新项目《“互联网+”下毕业设计评价系统》中遇到了在Android客户端显示HTML内容的问题。在通知公告二级页面中,主体显示通知公告的具体内容,通知公告的内容是从后台数据库中读取,数据库中通知内容字段存储的既有文字还有HTML标签,这两者组成了整体。在手机客户端正确合理显示HTML内容成为了本界面的一个关键。
2.2 解决方案
作者首先采用了Java正则表达式过滤法,用过滤HTML标签的正则表达式(“]*)”)过滤去除HTML标签,只得到了内容中的文字但HTML标签的功能由于被剔除而消失,段落格式、图片、链接等内容无法显示。jsoup选择器选择出img标签来单独显示图片,但是这种方法就破坏了文字和图片的整体性,降低了用户体验不利于人机交互。TextView自带类解析法可以使HTML内容中的文字和图片整体显示,并且解析后文字拥有原有的段落格式和颜色,解析后若文字过小或者图片过大,这很大程度上会影响用户体验,并且TextView是不支持缩放,这就需要一种更人性化的解析方式。
作者采用了WebView直接显示法,优势主要有两个,一是可以轻松更改需要展现的内容(包括样式),二是可以实现部分功能的跨平台。WebView加载HTML代码的方法主要有:1)WebView.loadUrl(String strhtml)方法;2)WebView.loadData(String data, String mimeType, String encoding)方法;3)loadDataWithBaseURL()方法。
作者采用了第三种方法显示HTML内容:loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl),在baseUrl的赋值上,并非要传一个Url参数,因为它只是一个标志位,用来标志当前页面的Key值。historyUrl为value值,在加载时,它会把baseUrl和historyUrl传到List列表中,当作历史记录来使用,当前进和后退时,它会通过baseUrl来寻找historyUrl的路径,通过加载historyUrl路径来加载历史界面。使用这种方法不需要先将HTML内容进行转码,直接可以显示。实例代码:webView.loadDataWithBaseURL( null, massage, “text/html”, “utf-8”, null),massage为作者从数据库中获得HTML内容字段,并非获取字段后直接
您可能关注的文档
最近下载
- T∕CACM 1021.135-2018 中药材商品规格等级 桑椹.docx VIP
- 合肥南站枢纽方案.pdf
- 内蒙古自治区包头市昆都仑区2023-2024学年七年级下学期期中语文试题【含答案解析】.docx VIP
- 公司年度颁奖晚会主持词与公司年终工作总结2合集.doc VIP
- GB/T 27726-2011_热塑性塑料阀门压力试验方法及要求.pdf
- 医学生全国水平测试题库.pdf
- 2025年东莞实业投资控股集团有限公司招聘笔试模拟试题及答案解析.docx
- 《第十章-中国文化的基本精神》-课件.ppt VIP
- 基于模糊控制的智能浇灌系统设计.pptx VIP
- 乳腺癌诊治指南与规范(2025年版精要本).PDF VIP
文档评论(0)