AppUpdater for Android 是一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。
无需担心各种细节的处理和适配问题;包括但不仅限于:通知栏适配、重复下载、文件访问授权、App安装等问题;这些 AppUpdater 都已帮您处理好。
app-updater 主要负责后台下载更新App,无需担心下载时各种配置相关的细节,一键傻瓜式升级。
app-dialog 主要是提供常用的Dialog和DialogFragment,简化弹框提示的实现,布局样式可随意定制。
如果你只需要单纯的 App下载更新功能,仅依赖 app-updater 即可; 如果你在需要App下载更新功能的同时,还需要有对话框来进行交互; 那么 app-updater + app-dialog 二者配合使用,谁用谁知道。
你也可以直接下载 演示App 体验效果
allprojects {
repositories {
//...
mavenCentral()
}
}
//----------AndroidX 版本
//app-updater
implementation 'com.github.jenly1314.AppUpdater:app-updater:1.2.0'
//app-dialog
implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.2.0'
//一句代码,傻瓜式更新
new AppUpdater(context,url).start();
//简单弹框升级
AppDialogConfig config = new AppDialogConfig(context);
config.setTitle("简单弹框升级")
.setConfirm("升级") //旧版本使用setOk
.setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
.setOnClickConfirm(new View.OnClickListener() { // 旧版本使用setOnClickOk
@Override
public void onClick(View v) {
new AppUpdater.Builder(context)
.setUrl(mUrl)
.build()
.start();
AppDialog.INSTANCE.dismissDialog();
}
});
AppDialog.INSTANCE.showDialog(context,config);
//简单DialogFragment升级
AppDialogConfig config = new AppDialogConfig(context);
config.setTitle("简单DialogFragment升级")
.setConfirm("升级")
.setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
.setOnClickConfirm(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppUpdater appUpdater = new AppUpdater.Builder(context)
.setUrl(mUrl)
.build();
appUpdater.setHttpManager(OkHttpManager.getInstance()) // 使用OkHttp的实现进行下载
.setUpdateCallback(new UpdateCallback() { // 更新回调
@Override
public void onDownloading(boolean isDownloading) {
// 下载中:isDownloading为true时,表示已经在下载,即之前已经启动了下载;为false时,表示当前未开始下载,即将开始下载
}
@Override
public void onStart(String url) {
// 开始下载
}
@Override
public void onProgress(long progress, long total, boolean isChanged) {
// 下载进度更新:建议在isChanged为true时,才去更新界面的进度;因为实际的进度变化频率很高
}
@Override
public void onFinish(File file) {
// 下载完成
}
@Override
public void onError(Exception e) {
// 下载失败
}
@Override
public void onCancel() {
// 取消下载
}
}).start();
AppDialog.INSTANCE.dismissDialogFragment(getSupportFragmentManager());
}
});
AppDialog.INSTANCE.showDialogFragment(getSupportFragmentManager(), config);
更多使用详情,请查看app中的源码使用示例或直接查看API帮助文档
app-updater Proguard rules
app-dialog Proguard rules
如果您喜欢AppUpdater,或感觉AppUpdater帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:
您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:
我的博客 | GitHub | Gitee | CSDN | 博客园 |
---|---|---|---|---|
Jenly's Blog | jenly1314 | jenly1314 | jenly121 | jenly |
微信公众号 | Gmail邮箱 | QQ邮箱 | QQ群 | QQ群 |
---|---|---|---|---|
Jenly666 | jenly1314 | jenly1314 | 20867961 | 64020761 |