美文网首页
android 版本更新

android 版本更新

作者: 进击的杰爷 | 来源:发表于2017-08-08 16:19 被阅读0次

    老早老早以前,版本更新代码里有一个 VersionManager 类,管理的所有的一切,也曾在那基础上新增需求。只知道,好复杂。

    趁有空,稍微理了下。

    IApkUpdate  升级接口,主要定义了几个回调方法。两个子类,升级通知接口,用于通知栏。升级对话框接口,用于应用上弹升级对话框。相应的实现类是 ApkUpdateNotification, ApkUpdateDialog。

    IApkDownloadLogic 升级逻辑接口,主要定义了开始下载,安装应用等方法。实现类ApkDownloadLogic(单例)持有三个对象,分别是 下载类,对话框,通知栏。 

    当 ApkDownloader 开始下载,下载进度,下载完成,下载失败时,都会 EventBus 将事件通知给 ApkDownloadLogic,然后再转告给 对话框,通知栏。

    UpdateManager 类则是负责一些业务的逻辑,比如一周内关闭三次不再弹升级对话框。该类是对外开放的。比如,首页请求完接口之后,直接调用 UpdateManager.show() 弹出升级对话框。注意,这里并没有持有 对话框,通知栏的对象。

    以上都是在 common-ui 模块里,公用UI。

    而 ApkUpdateNotification,ApkUpdateDialog 则是在上层模块(引入common-ui 模块)。 这样设计是为了上层模块可以定制属于自己的通知栏,对话框等。而不用修改底层的逻辑。

    相关文章

      网友评论

          本文标题:android 版本更新

          本文链接:https://www.haomeiwen.com/subject/scwtrxtx.html