没有合适的资源?快使用搜索试试~ 我知道了~
摘要:做过Android开发的人都遇到过这样的问题:随着需求的变化,某些入口界面会出现UI的增减、内容变化和跳转界面变化等问题。本文作者给出了一套方案来解决动态更新UI的问题以及更好地解决未读提醒的逻辑。本文作者为腾讯Bugly特约撰稿人:腾讯自选股客户端工程师王金波做过Android开发的人都遇到过这样的问题:随着需求的变化,某些入口界面通常会出现UI的增加、减少、内容变化以及跳转界面变化等问题。每次发生变化都要手动修改代码,而入口界面通常具有未读信息提醒这样的“小红点”逻辑;一旦UI变化,“小红点”逻辑也要重新计算。如果不同的RD来维护这些代码,耦合性非常高,出错概率也很大。本文以自选股的
资源推荐
资源详情
资源评论
AndroidUI:机智的远程动态更新策略:机智的远程动态更新策略
摘要:做过Android开发的人都遇到过这样的问题:随着需求的变化,某些入口界面会出现UI的增减、内容变化和跳转
界面变化等问题。本文作者给出了一套方案来解决动态更新UI的问题以及更好地解决未读提醒的逻辑。
本文作者为腾讯Bugly特约撰稿人:腾讯自选股客户端工程师 王金波
问题描述
做过Android开发的人都遇到过这样的问题:随着需求的变化,某些入口界面通常会出现UI的增加、减少、内容变化以
及跳转界面变化等问题。每次发生变化都要手动修改代码,而入口界面通常具有未读信息提醒这样的“小红点”逻辑;一
旦UI变化,“小红点”逻辑也要重新计算。如果不同的RD来维护这些代码,耦合性非常高,出错概率也很大。本文以自
选股的个人页卡为例(界面如下图所示),给出了一套方案来解决动态更新UI的问题以及更好的解决未读提醒的逻
辑。
旧的方案(Phase out)
对于UI动态变化的问题,通常结合远程控制来解决。
以上图的“资产管理”为例,旧的解决方案会在XML写死全部的item,如:“港股交易”、“基金交易”和“精品理财”这三个
item。然后根据后台传递过来的JSON解析出需要隐藏哪些item。点击不同的item会跳转到不同的activity(如下图所
示),这部分跳转操作也是写死在代码中的。
这解决了一部分问题,但是如果需求新增了item,比如新增了“沪深交易”、“美股交易”,那就需要改动现有代码了。
对于未读指示(小红点)功能,它的作用是,有未读信息来了,需要在UI上面显示一个小红点提醒用户。比如下图的
股友动态的头像提醒,资产管理的“NEW”提醒,系统设置的新版本提醒等。
旧的方案是定义了一个int型(32位),用它的每一位代表一个UI上的item。比如好友动态是第1位,未读提醒是第2
位... “小红点”思想是哪个item有未读信息,则该int型对应的那一位就置1,否则为0。一旦某个item有未读提醒的改变,
则将这个int型对应的位改变,异步写入SharedPreference中,同时利用观察者模式通知UI做更新,如下图所示:
上述做法总体来说最大的缺陷就是没有做到“开放-封闭”原则。面对扩展的时候,即添加一个item则不得不修改现有代
码,需要在该int型中添加一位标志位,观察者模式也要注册新item。所以下面我会介绍另一种方案可以更好的解决该
问题。
新的解决方法
数据抽象
首先进行数据的抽象,并将UI进行分组,如下图所示:
按照组合模式,将数据以树形结构组织起来,表现“整体/部分”层次结构,如下图所示。这样做的好处是,可以以一致
的方式来处理个别对象以及对象组合。蓝色的表示节点,而绿色的表示叶节点。
剩余13页未读,继续阅读
资源评论
weixin_38739044
- 粉丝: 2
- 资源: 951
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享TJA1050很好的技术资料.zip
- 技术资料分享TF应用很好的技术资料.zip
- 技术资料分享TF卡资料很好的技术资料.zip
- 技术资料分享TF介绍很好的技术资料.zip
- 技术资料分享TDA1308很好的技术资料.zip
- 技术资料分享STM32中文参考手册-V10很好的技术资料.zip
- 技术资料分享STM32中断优先级与相关使用概念很好的技术资料.zip
- 技术资料分享STM32模拟EEPROM的使用和优化很好的技术资料.zip
- 技术资料分享Stm32寄存器与库函数概览(摘自固件库使用手册)很好的技术资料.zip
- 技术资料分享STM32固件库使用手册的中文翻译版很好的技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功