WebView实际应用场景

PS:首先,在这里我们暂时不考虑只是为了打开一个网页而使用WebView的这种Demo式的初级使用

说到应用场景,我们还是想象一个能使用WebView的情况,用具体的业务逻辑来引出WebView

我们假设一种情况,以知乎的api举例,当我获取了知乎日报中其中一种日报的数据,例如音乐日报的输入,返回值是一个Json,使用Gson将其解析之后用一个封装好的实体类将数据封装好,然后显示在列表中

在这里都没有任何问题,拿着数据做个列表,很简单

但是再之后,需要实现每一项的点击事件,点击后要显示该项的具体内容(例如说这组数据的第一项是XXXX新闻,我点开,需要查看XXXX新闻的具体内容),这时候有几种解决办法呢

其实这个问题的分歧点应该在于如何显示(废话,你不获取这个子网页的数据,你拿啥显示,这一步是必须做的),目前我自己实现过的有两种

所以首先继续获取第二个网页的数据(是Json就使用Gson继续解析封装,有时候没有api就只能用Jsoup之类的爬虫将内容爬下来然后自己提取需要的地方了),然后将数据封装好

现在分歧来了

其一,自己用android写一个页面,比如说上面摆好banner轮播图用以显示网页中的图片,下面用textView来显示具体的文字内容

优点:样式你自己已经定义好了,无需去考虑样式的问题,只需要考虑拿着数据之后如何加载的问题

缺点:与网页端最后显示的样式有较大出入,例如人家是一段文字一张图,我们如果需要做到这点的话,可能需要动态的去添加控件,而这样又很不符合规范,可能会造成其他意想不到的问题,例如说加载图片,你可能需要用到Glide,但是如果你不事先定义好这个图片的大小,Glide又会使得图片变形,位置错乱,如果统一定义尺寸的话,例如只是一个表情图片,你可能把他们扩大到了一个大图的大小,但是你一个一个定义好又太为耗时,需要不停的判断,逻辑上就很容易出现问题,即使不出现其他的问题,光是用户体验就够受的了

其二,用WebView来实现,用字符串拼接的方式来将实体数据拼接成html,并且可使用css来美化样式,做到与网页相仿的效果,并且可以使用js来使WebView的内容与android交互

优点:与网页可以做到类似样式

缺点:加载确实稍慢一筹,因为需要拼接还需要加载样式,这里面有一定时间的消耗

这两种我个人认为没有绝对的高下之分,看具体需求而定,不过凭心而论我认为后者的制作成本要高,不过最后完成后相似度也要高一筹

如果网页自适应做的相当好,那么哪怕是直接用WebView的loadUrl也不失为一种特别好的方法

转载于:https://www.cnblogs.com/Qunter/p/7103228.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值