Android检查更新库CheckUpdateLibrary使用教程(二)
来源:互联网 发布:php商城订单 编辑:程序博客网 时间:2024/05/19 23:12
上一篇文章介绍了CheckUpdateLibrary的基本使用,还没看的请戳这个链接look,look:
(http://blog.csdn.net/qiang_xi/article/details/52823389)
当时是以1.0.2版本的Library为基础进行介绍的,中间有说到CheckUpdateLibrary虽然可以自定义实体类,
但是前提必须得有newAppVersionCode字段,所以扩展性做的还不够好,
并且1.0.2版本的Library不支持自定义Dialog,这就限制了很多有想法的开发者的发挥空间.
而现在,CheckUpdateLibrary发布了1.0.3版本,以上的这些限制都被释放了,现在开发者可以很自由了,
可以自定义任意的实体类,又可以自定义任意的Dialog,而只需要借助CheckUpdateLibrary的下载和
通知展示功能,就轻松的实现自己的检查更新功能.
那么具体如何自定义呢?
1,自定义任意实体类:
为了符合开闭原则,更是为了兼容以前的版本,所以在之前的基础上新增了一种检查更新的方式和
回调接口CheckUpdateCallback2,使用方式如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
使用这个方法返回的result可以是json格式或者xml格式,需要自己解析并判断有无更新.
2,自定义任意Dialog:
虽然CheckUpdateLibrary中提供了两种Dialog:ForceUpdateDialog和UpdateDialg用来展示强制更新
和非强制更新对话框,但还是会有很多开发者想使用自己自定义的Dialog,然后借助于CheckUpdateLibrary中的后台下
载功能和通知展示功能来实现后台下载,而CheckUpdateLibrary也考虑到开发者的这种需求,
开发者只需要继承CheckUpdateLibrary中的BaseService,然后实现相关方法即可实现自己的需求,具体的
使用方式如下:
对于强制更新方式,只需两步:
step1:自定义自己的Dialog,这个就不贴代码了,大家应该都会
step2:在自定义的dialog中,比如button1是用来下载文件的,那么可以使用HttpRequest类中
提供的download方法,然后在各个回调中实现自己的逻辑,比如进度条监听,下载完成后安装等,
示例代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
对于非强制更新方式:
step1:自定义自己的Dialog,这个就不贴代码了,大家应该都会
step2:继承CheckUpdateLibrary中的BaseService,实现相关方法,
其中Service中自带的方法onStartCommand必须重写,一会说为什么.
示例代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
step3:在自定义的dialog中,比如button1是用来下载文件的,那么可以这么写:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
ok,到此,自定义非强制更新Dialog的后台下载功能就实现了.
下面说一说为什么必须要重写onStartCommand方法,主要有两点原因:
1,其实从上面的代码也可以看出,启动Service采用的是context.startService(intent);方法,
而不是bind方法,所以在Service中接收intent必须重写onStartCommand方法才行.
2,如果下载失败时,点击通知是可以重新下载应用的,其中应用到PendingIntent.getService()方法,
而该方法启动Service就是通过context.startService(intent);方式启动的,所以从这一点出发,
仍然必须重写onStartCommand方法才行.
最后再说几句:
1.0.3版本的CheckUpdateLibrary完全兼容以前的版本,所以可以放心使用.
小伙伴们在使用的过程中如果有任何问题,意见或建议欢迎在评论区留言,
当然更希望大家去github上提交issue.CheckUpdateLibrary的github地址如下:
(https://github.com/qiangxi/CheckUpdateLibrary)
- Android检查更新库CheckUpdateLibrary使用教程(二)
- Android检查更新库CheckUpdateLibrary使用教程二
- Android检查更新库CheckUpdateLibrary使用教程
- Android检查更新库CheckUpdateLibrary使用教程(一)
- Android检查更新(是否强制更新)
- Android检查更新(是否强制更新)
- android检查更新(强制更新)
- Android使用HttpUtils框架首页检查更新
- android程序检查更新
- Android检查更新
- Android检查版本更新
- Android检查版本更新
- Android Studio使用教程(二)
- Android Studio使用教程(二)
- Android Studio使用教程(二)
- Android Studio使用教程(二)
- Android Studio使用教程(二)
- Android Studio使用教程(二)
- 解决腾讯云安装SSL证书后,服务器可以打开https,外网打不开的问题。
- Spring Boot入门教程-热部署
- Kolakoski序列及应用扩展
- Apsara Clouder云安全专项技能认证之云平台使用安全,快来学习吧!
- base-command
- Android检查更新库CheckUpdateLibrary使用教程(二)
- retrofit2注解
- Linux查看CPU等硬件信息
- LinearLayout设置背景图片
- Python可视化方案增加
- xdoj 1227 Godv的数列(lucas,扩展lucas,中国剩余定理模版)
- webpack 入门教程
- LAMP环境的安装
- java中的单例模式