CheckVersionLib版本检测更新库

原创 2017年05月26日 14:39:33

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步啦,关于具体细节和使用中遇到的问题欢迎在评论区留言和我交流,集成完这个库我有以下收获:

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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

Autoconf中AC_CHECK_LIB依赖第三方库时FAIL

尝试在lighttpd中新增一个module时,发现configure是通过autoconf产生的,需要修改其中的configure.ac,这其中都是autoconf的语法,依葫芦画瓢,这里以zlib...
  • jtujtujtu
  • jtujtujtu
  • 2015年07月17日 11:40
  • 2187

分享一个强悍的android版本检测更新库

一,特点 1. 任何地方都可以检测 2. 任何地方都可以弹出升级对话框 自定义性强 3. 手动回调解析 4. 适用于各种版本检测接口 5. 自动处理下载和升级 6. 自定...
  • huangbryant
  • huangbryant
  • 2017年07月25日 09:56
  • 713

版本检测升级(更新)库,集成了检测版本、下载版本以及自动安装升级

项目地址: https://github.com/AlexLiuSheng/CheckVersionLib类别: 网络 (Networking)打分: ★★★★★更新: 2017-07-28 ...
  • qq_24531461
  • qq_24531461
  • 2017年08月05日 14:39
  • 324

CheckVersionLib版本检测更新库

2017年11月2日更新: 1 目前最新版本是1.7.2 2 现在作者已经修复的更完善,采用构建者模式创建对象,默认值如下图所示 3 这个库封装的并不完美,在特殊机型(A...
  • LosingCarryJie
  • LosingCarryJie
  • 2017年05月26日 14:39
  • 1705

AC_CHECK_LIB的工作原理

AC_CHECK_LIB就是告诉configure我们需要检查哪些lib,并根据检查结果做什么处理。正是在这里遇到了问题并有所收获,才促使我写这篇blog记录一下。 问题是这样,我想检查一下li...
  • SUKHOI27SMK
  • SUKHOI27SMK
  • 2014年02月18日 17:21
  • 3241

Android 版本检测更新

Android版本检测更新是每个应用升级所不可少的,以前早就做过一些,一直没有时间与大家分享,现在就跟大家来分享一下我做的版本检测更新吧。先上图 点击更新之后的 可能有人会问为啥点击更新提...
  • u014452224
  • u014452224
  • 2016年06月30日 15:53
  • 9541

IOS版本检测,更新版本

通过UserDefault来实现版本更新,版本检测,即如果更新到了新版本,用户第一次运行,播放介绍全新特性的界面 代码如下: 在appdelete.m didFinishLaunchingWit...
  • lee727n
  • lee727n
  • 2017年05月18日 11:18
  • 177

AC_CHECK_LIB的问题

AC_CHECK_LIB的问题 AC_CHECK_LIB([A],[funA]...) 总是报错,找不到库A,可时A明明就在/usr/local/lib下面,而且用nm 可以看到funA,很是怪异,...
  • itufo
  • itufo
  • 2010年09月17日 15:37
  • 3129

Android高能下载库FileDownloader

我们的App中可能会提供给用户下载文件或者图片的场景,然后你可能就会考虑以下名词了 多任务下载 多线程下载 断点续传 高并发 没错,如果你自己手写下载库的话需要考虑这四个名词,接...
  • LosingCarryJie
  • LosingCarryJie
  • 2017年08月29日 21:01
  • 1906

iOS 版本检测更新方法

#pragma mark -- 软件版本更新检查 - (void)JudgeAPPVersion {     NSString *urlStr = @"https://itunes.apple....
  • qq_24180887
  • qq_24180887
  • 2016年06月06日 21:31
  • 103
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CheckVersionLib版本检测更新库
举报原因:
原因补充:

(最多只允许输入30个字)