Android 清晰简单易用的App应用更新库

Android 清晰简单易用的App应用更新库_第1张图片
01


Android 清晰简单易用的App应用更新库_第2张图片
02

这只是部分截图,全部可以去原地址观看,当然你也可以按照下面的介绍方式使用。

以下是使用方法

Gradle

repositories {

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

}

dependencies {

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

}

Usage

基本用法

默认情况下,查询请求会需要三个参数: 包名(package), 版本号(version), 渠道(channel) package/version 从应用的 context 获取

// 设置默认更新接口地址与渠道

UpdateManager.setUrl(mCheckUrl, "yyb");

// 进入应用时查询更新

UpdateManager.check(context);

// 在设置界面点击检查更新

UpdateManager.checkManual(context);

设置请求 url

设置 url 后不会额外添加 package/version/channel 等参数

UpdateManager.create(this).setUrl(mCheckUrl).check();

解析查询结果

查询结果需要解析成 UpdateInfo

public class UpdateInfo {

// 是否有新版本

public boolean hasUpdate = false;

// 是否静默下载:有新版本时不提示直接下载,下次启动时安装

public boolean isSilent = false;

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

public boolean isForce = false;

// 是否可忽略该版本

public boolean isIgnorable = true;

// 是否是增量补丁包,暂不支持

public boolean isPatch = false;

public int versionCode;

public String versionName;

public String updateContent;

public String url;

public String md5;

public long size;

public String patchUrl;

public String patchMd5;

public long patchSize;

}

可以定制解析过程

UpdateManager.create(this).setUrl(mCheckUrl).setParser(new UpdateAgent.InfoParser() {

@Override

public UpdateInfo parse(String source) throws Exception {

UpdateInfo info = new UpdateInfo();

// todo

return info;

}

}).check();

更新版本对话框

UpdateManager.create(this).setOnPrompt(new UpdateAgent.OnPromptListener() {

@Override

public void onPrompt(UpdateAgent agent) {

// todo : 根据 agent.getInfo() 显示更新版本对话框,具体可参考 UpdateAgent.OnPrompt

}

}).check();

没有新版本或出错

UpdateManager.create(this).setOnFailure(new UpdateAgent.OnFailureListener() {

@Override

public void onFailure(UpdateError error) {

Toast.makeText(mContext, error.toString(), Toast.LENGTH_LONG).show();

}

}).check();

显示下载进度

可在通知栏显示下载进度,当 info.isSilent 为 true 显示

默认通知栏进度

UpdateManager.create(this).setNotifyId(998).check();

定制通知栏进度

UpdateManager.create(this).setOnNotify(new UpdateAgent.OnProgressListener() {

@Override

public void onStart() {

// todo: start

}

@Override

public void onProgress(int progress) {

// todo: progress

}

@Override

public void onFinish() {

// todo: finish

}

}).check();

定制下载进度的对话框,当 info.isSilent 为 false 显示

UpdateManager.create(this).setOnProgress(new UpdateAgent.OnProgressListener() {

@Override

public void onStart() {

// todo: start

}

@Override

public void onProgress(int progress) {

// todo: progress

}

@Override

public void onFinish() {

// todo: finish

}

}).check();

喜欢的可以订阅我,同时也可以关注微信公众号,哪里每天都会推荐一篇开源项目Git项目地址在里欢迎订阅


Android 清晰简单易用的App应用更新库_第3张图片

你可能感兴趣的:(Android 清晰简单易用的App应用更新库)