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(getContext(),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(getContext())
.setUrl(mUrl)
.build()
.start();
AppDialog.INSTANCE.dismissDialog();
}
});
AppDialog.INSTANCE.showDialog(getContext(),config);
//简单DialogFragment升级
AppDialogConfig config = new AppDialogConfig(getContext());
config.setTitle("简单DialogFragment升级")
.setConfirm("升级")
.setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
.setOnClickConfirm(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppUpdater appUpdater = new AppUpdater.Builder(getContext())
.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”支持一下,您的支持就是我的动力,谢谢
您也可以扫描下面的二维码,请作者喝杯咖啡
Name: Jenly
Email: jenly1314#gmail.com / jenly1314#vip.qq.com
CSDN: jenly121
CNBlogs: jenly
GitHub: jenly1314
Gitee: jenly1314
加入QQ群: 20867961
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型