CheckVersionLib版本检测更新库

2017年11月2日更新:

1 目前最新版本是1.7.2

2 现在作者已经修复的更完善,采用构建者模式创建对象,默认值如下图所示

3 这个库封装的并不完美,在特殊机型(Android 4.4)上编译不通过

这里写图片描述

当你百度到这篇文章的时候意味着你在项目集成CheckVersionLib库的时候遇到了麻烦,吐槽一下这个库的作者,虽然库很好用但是作者也太懒了,使用说明就几句话,开发者很容易就掉沟里了0.0,但是!没有遇到麻烦的程序员不是好的程序员,接下来让我们一起征服这个库。

CheckVersionLib的Github地址

1 添加module依赖

compile ‘com.allenliu.versionchecklib:library:1.7.2’(2017.11.2最新的版本)

这里写图片描述

2 自定义一个继承AVersionService的Service并且实现其回调方法

这里写图片描述

脱坑指南1:注意这里有两个选项,一定要记得勾选“Enabled”,如果不勾选的话,不能成功回调

这里写图片描述

脱坑指南2:respone是服务器返回你的数据(我的是json字符串),所以我应该去解析这个字符串,取出我想要的数据(比如 “version” : “1.0.1”),所以这里面会出现两个url,respone的url是你请求服务器最新的App版本号,downloadUrl是用户下载APK的地址,请求即可下载新的App

3 创建一个继承VersionDialogActivity的Activty

这里写图片描述

然后设置其主题是透明,其实如果你不自定界面的话,完全没有必要生成布局文件(也就是不用写setContentView(R.layout.*)这句话)

这里写图片描述

4 .在任意地方开启自定义service,并传入VersionParam

File file = new File(path);
if(!file.exists()){file.mkdirs();}
 VersionParams   versionParams = new VersionParams.Builder()
                 .setRequestUrl(UrisServerDefine.API_BASE_URL_A+"/books/update")
                .setRequestMethod(HttpRequestMethod.GET)
                .setCustomDownloadActivityClass(VersionActivity.class)
                .setDownloadAPKPath(Constants.VERSION.FILE_PATH)
                 .build();
startService(intent);

MD,代码格式混乱了,我来上图

这里写图片描述

关于这个库的使用大致就是上面4步啦,关于具体细节和使用中遇到的问题欢迎在评论区留言和我交流,集成完这个库我有以下收获:

百度上的技术帖子缺乏创新,大部分都是东拼西凑复制别人或者作者的,纯粹为了给自己的博客贴金滥竽充数,自己没有集成过,使用过就“教”网友如何使用,垃圾,实在是垃圾!

最后祝各位小伙伴集成顺利!

猜你喜欢

转载自blog.csdn.net/losingcarryjie/article/details/72769860