安卓检查更新库使用 - 草稿 - 草稿

2018-01-19  本文已影响0人  水固态中

项目地址:github地址

清晰灵活简单易用的应用更新库

支持断点续传

支持静默下载:有新版本时不提示直接下载

支持强制安装:不安装无法使用app

支持下载完成后自动安装

支持可忽略版本

支持app启动时强制安装下载好了的更新包

支持POST请求

支持自定义解析服务器返回的数据

支持自定义查询/下载

支持自定义提示对话框/下载进度对话框

支持通知栏进度显示

适配 Android 7.0 FileProvider


Gradle

repositories {

    maven { url "https://jitpack.io" }

}

dependencies {

    compile 'com.github.czy1121:update:1.1.1'

}

基本用法

配置

//是否wifi 默认是

UpdateManager.setWifiOnly(false);

查询


// 进入应用时查询get更新

mcheckurl=http://example.com/check

UpdateManager.setUrl(mCheckUrl, "yyb");

UpdateManager.check(context);

网址是

http://example.com/check?package=ezy.demo.update&version=123&channel=yyb

自动获取包名是ezy.demo.update,版本号为123

//post更新

mcheckeurl=http://example.com/check

UpdateManager.create(this).setUrl(mCheckUrl).setPostData("param=abc¶m2=xyz").check();

网址是http://example.com/check?param=abc¶m2=xyz

服务器返回json数据

有更新

{
    "Code": 200,
    "Message": "获取成功!",
    "Data": {
        "hasUpdate": true,
        "isForce": false,
        "isSilent": false,
        "isAutoInstall": true,
        "isIgnorable": false,
        "versionCode": 5,
        "versionName": "1.06",
        "updateContent": "1.优化更新内容",
        "url": "http://app.down/app.apk",
        "MD5": "B8B038414A8BFAF8333280D0FD243C6E",
        "Size": 7024539
    }
}

无更新

{

    "Code": 200,

    "Message": "获取成功!",

    "Data": {

        "hasUpdate": false

    }

}

字段说明

hasUpdate:是否有更新

isSilent:是否静默安装

isForce:是否强制安装

isAutoInstall:是否自动安装

isIgnorable:是否可忽略该版本

versionCode:int类型,对应Android中的versionCode,大于才能覆盖更新。

UpdateVersion:对应Android中的versionCode(内部版本号),修改改字段才能使APP弹出提示

versionName:对应Android中versionName,

可自己随便取名

updateContent:更新日志

urk:app下载地址

MD5:校验文件的MD5 ,保证下载完整性

Size:文件大小 ( long )

被解释成

public class UpdateInfo {

    // 是否有新版本

    public boolean hasUpdate = false;

    // 是否静默下载:有新版本时不提示直接下载

    public boolean isSilent = false;

    // 是否强制安装:不安装无法使用app

    public boolean isForce = false;

    // 是否下载完成后自动安装

    public boolean isAutoInstall = true;

    // 是否可忽略该版本

    public boolean isIgnorable = true;

   

    public int versionCode;

    public String versionName;

    public String updateContent;

   

    public String url;

    public String md5;

    public long size;

}

如果UpdateInfo info

null 查询未知错误

hasUpdate = false 返回无更新

md5为空或者与忽略版本md5相同 返回该版本已忽略,

如果缓存有下载文件并且md5相同 安装文件

// 是否静默下载:有新版本时不提示直接下载

开始显示更新对话框

其他使用



上一篇下一篇

猜你喜欢

热点阅读