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也不失为一种特别好的方法

时间: 2024-12-27 20:56:22

WebView实际应用场景的相关文章

Android5.1系统WebView内存泄漏场景

问题现象 (该文章,引自零号路的私人博客,本人在浏览框架的开发过程中,用该方式,规避了内存泄露的问题.) 在Android5.1系统中,会发现App存在 WebView 泄漏情况,还比较严重.并且只是发生在 Android 5.1 系统. GC roots 如下: 每新打开一次这个WebViewActivity,就会发生就会发生一次改Webview实例无法释放,新增一个对象. 上图中的两个 AppSearchWebView实例,就是由于打开了两次导致. 问题分析 出现了这个问题分析起来还是比较简

WebView使用详解(三)——WebChromeClient与LoadData补充

前言: 我不会忘了我 忘了我曾说过一定会得到的梦想 --<老大>小柯 相关文章 1.<WebView使用详解(一)--Native与JS相互调用(附JadX反编译)> 2.<WebView使用详解(二)--WebViewClient与常用事件监听> 一.WebChromeClient 1.概述 (1). 与WebViewClient的区别 很多同学一看到这里有Chrome,立马就会想到google 的Chrome浏览器:这里并不是指Chrome浏览器的意思,而是泛指浏览

WebView的用法

基本用法 布局文件配置WebView <WebView android:id="@+id/wv_news_detail" android:layout_width="match_parent" android:layout_height="match_parent" /> WebView加载网页 //加载网页链接 mWebView.loadUrl("http://www.itheima.com"); //加载本地a

移动开发 Native APP、Hybrid APP和Web APP介绍

快速区分定义: Native App 以基于智能手机本地操作系统如IOS.Android.WP并使用原生程式(SDK)编写运行的需要用户安装使用的第三方应用程序; Web APP 以HTML+JS+CSS等WEB技术编程,代码运行在移动端浏览器中,通过该移动端浏览器来调用Device API(取决于HTML5未来的支持能力)的不需要用户安装的应用程序: Hybrid App 同时使用网页语言(Web技术)与程序语言(Java.Objective-C等)开发,通过应用商店区分移动操作系统分发,需要

Hybrid APP介绍

"云"时代的来临正在改变App和运营团队之间的关系,一场不能避免的变革正在进行.鉴于移动终端的局限性,移动终端上的APP由本地化应用(Native App),到混合型应用(Hybrid APP),再到基于WEB的应用Web App,这一连串的变化都源于技术的更新和市场的需要[1] . Hybrid App是指介于web-app.native-app这两者之间的app,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,比如街旁网最开始

Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率..

Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率.. 1. hybrid App 1 1.1. Hybrid App为什么会兴起编辑 1 1.2. 如何实现网页语言与程序语言的混合编辑 2 1.2.1. 多View混合型 2 1.2.2. 单View混合型 2 1.2.3. Web主体型 2 1.3. Hybrid App的瓶颈与未来编辑 3 2. Web App.Hybrid App.Native APP对比

IOS-Hybrid(混合开发)

http://www.cnblogs.com/oc-bowen/p/5423902.html 1.1.     APP三种开发模式 智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝.京东等).金融(各手机行业.P2P借贷等).医疗(智慧医疗).交通(滴滴.Uber等).教育(慕课网等).餐饮(饿了吗.美团等)--反正只要是个企业,无论规模大小,都已经订制或将要订制自己的APP.这么多APP无外乎就三种模式:Native App.Web App.Hybrid App. 1.1.1.  

hybrid app

hybrid app Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”. 简介编辑 “云”时代的来临正在改变App和运营团队之间的关系,一场不能避免的变革正在进行.鉴于移动终端的局限性,移动终端上的APP由本地化应用(Native App),到混合型应用(Hybrid APP),再到基于WEB的应用Web App,这一连串的变化都源于技术的更新和市场的需要

转: 拒绝「技术栈」选择恐惧症

所谓最小化可行产品(Minimum Viable Product,MVP),就是将产品快速推向客户,从客户反馈中不断进行迭代.更重要的是,MVP 也是研发团队进一步完善产品的基础. 但是,在正式代码之前,你需要选择今后支撑产品的 技术栈,也就是要选择好整个产品每一层所要应用的技术语言.架构等. 技术栈的选择往往是创始人面临的艰难问题.无论是技术人员还是非技术人员,如果不具体了解每个语言和架构的特点,面对现在如此多元化的IT技术,简直能逼死纠结症患者.而且,如果选错了语言或者框架,很可能会导致较为