Android版本更新库

Android版本更新库

转载自GitHub地址:https://github.com/AlexLiuSheng/CheckVersionLib

  • 任何地方都可以调用
  • 简单简单简单简单
  • 扩展性强大
  • 更强大的自定义界面支持
  • 支持强制更新(一行代码)
  • 支持静默下载 (一行代码)
  • 适配到Android O

导入

compile ‘com.allenliu.versionchecklib:library:2.0.3’

使用

请求版本一些其他的http参数可以设置,如下

 AllenVersionChecker
            .getInstance()
            .requestVersion()
            .setHttpHeaders(httpHeader)
            .setRequestMethod(HttpRequestMethod.POSTJSON)
            .setRequestParams(httpParam)
            .setRequestUrl(requestUrl)
            .request(new RequestVersionListener() {
                @Nullable
                @Override
                public UIData onRequestVersionSuccess(String result) {
                    //拿到服务器返回的数据,解析,拿到downloadUrl和一些其他的UI数据
                    ...
                    UIData uiData = UIData
                            .create()
                            .setDownloadUrl(downloadUrl)
                            .setTitle(updateTitle)
                            .setContent(updateContent);
                    //放一些其他的UI参数,拿到后面自定义界面使用
                    uiData.getVersionBundle().putString("key", "your value");
                    return uiData;

                }

                @Override
                public void onRequestVersionFailure(String message) {

                }
            })
            .excuteMission(context);

一些其他的function设置

解释下,下面的builder叫DownloadBuilder

 DownloadBuilder builder=AllenVersionChecker
            .getInstance()
            .downloadOnly();

  or          

 DownloadBuilder builder=AllenVersionChecker
             .getInstance()
             .requestVersion()
             .request()

取消任务

AllenVersionChecker.getInstance().cancelAllMission(this);

静默下载

 builder.setSilentDownload(true); 默认false

强制更新

设置此listener即代表需要强制更新,会在用户想要取消下载的时候回调 需要你自己关闭所有界面

builder.setForceUpdateListener(() -> {
          forceUpdate();
      });

下载忽略本地缓存

如果本地有安装包缓存也会重新下载apk

 builder.setForceRedownload(true); 默认false

是否显示下载对话框

builder.setShowDownloadingDialog(false); 默认true

是否显示通知栏

builder.setShowNotification(false);  默认true

自定义通知栏

      builder.setNotificationBuilder(
             NotificationBuilder.create()
                     .setRingtone(true)
                     .setIcon(R.mipmap.dialog4)
                     .setTicker("custom_ticker")
                     .setContentTitle("custom title")
                     .setContentText(getString(R.string.custom_content_text))
     );

是否显示失败对话框

  builder.setShowDownloadFailDialog(false); 默认true

自定义下载路径

  builder.setDownloadAPKPath(address); 默认:/storage/emulated/0/AllenVersionPath/

可以设置下载监听

 builder.setApkDownloadListener(new APKDownloadListener() {
         @Override
         public void onDownloading(int progress) {

         }

         @Override
         public void onDownloadSuccess(File file) {

         }

         @Override
         public void onDownloadFail() {

         }
     });

自定义界面

自定义界面使用回调方式,开发者需要返回自己定义的Dialog(父类android.app)

  • 所有自定义的界面必须使用listener里面的context实例化

  • 界面展示的数据通过UIData拿

自定义显示更新界面

设置 CustomVersionDialogListener

  • 定义此界面必须有一个确定下载的按钮,按钮id必须为@id/versionchecklib_version_dialog_commit
  • 如果有取消按钮(没有忽略本条要求),则按钮id必须为@id/versionchecklib_version_dialog_cancel

     builder.setCustomVersionDialogListener((context, versionBundle) -> {
        BaseDialog baseDialog = new BaseDialog(context, R.style.BaseDialog, R.layout.custom_dialog_one_layout);
        //versionBundle 就是UIData,之前开发者传入的,在这里可以拿出UI数据并展示
        TextView textView = baseDialog.findViewById(R.id.tv_msg);
        textView.setText(versionBundle.getContent());
        return baseDialog;
    });
    

自定义下载中对话框界面

设置CustomDownloadingDialogListener

  • 如果此界面要设计取消操作(没有忽略),请务必将id设置为@id/versionchecklib_loading_dialog_cancel

     builder.setCustomDownloadingDialogListener(new CustomDownloadingDialogListener() {
        @Override
        public Dialog getCustomDownloadingDialog(Context context, int progress, UIData versionBundle) {
            BaseDialog baseDialog = new BaseDialog(context, R.style.BaseDialog, R.layout.custom_download_layout);
            return baseDialog;
        }
    //下载中会不断回调updateUI方法
        @Override
        public void updateUI(Dialog dialog, int progress, UIData versionBundle) {
            TextView tvProgress = dialog.findViewById(R.id.tv_progress);
            ProgressBar progressBar = dialog.findViewById(R.id.pb);
            progressBar.setProgress(progress);
            tvProgress.setText(getString(R.string.versionchecklib_progress, progress));
        }
    });
    

自定义下载失败对话框

设置CustomDownloadFailedListener

  • 如果有重试按钮请将id设置为@id/versionchecklib_failed_dialog_retry
  • 如果有 确认/取消按钮请将id设置为@id/versionchecklib_failed_dialog_cancel

       builder.setCustomDownloadFailedListener((context, versionBundle) -> {
        BaseDialog baseDialog = new BaseDialog(context, R.style.BaseDialog, R.layout.custom_download_failed_dialog);
        return baseDialog;
    });
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要更新Android Studio的版本,可以按照以下步骤操作: 1. 打开Android Studio软件。 2. 点击菜单栏中的"Help"选项。 3. 从下拉菜单中选择"Check for Updates"。 4. 如果有可用的更新Android Studio会自动下载并安装最新版本。 5. 安装完成后,需要重启Android Studio才能生效。 需要注意的是,更新Android Studio的版本可能会导致某些插件或不兼容,因此在更新前最好备份项目文件和设置。此外,为了保持项目的稳定性,建议在更新前先查看更新日志,了解更新的内容和影响。 ### 回答2: Android Studio 是由谷歌开发的一款用于开发Android应用程序的集成开发环境(IDE)。每隔一段时间,谷歌会发布新的Android Studio版本来提供更好的性能和功能。 更新Android Studio版本有以下几个原因: 1. 新功能和改进:每个新的Android Studio版本都会引入新的功能和改进,以提供更好的用户体验和开发效率。例如,新版本可能会增加对最新Android操作系统版本的支持,提供新的布局编辑器,改进性能分析工具等等。 2. Bug修复:每个软件都会存在一些bug和问题,通过升级到新版本可以修复已知问题并提高稳定性。新版本通常会修复一些老版本中存在的问题,并进行质量和稳定性改进。 3. 安全性更新:随着技术的发展,恶意软件和黑客攻击也在不断增加。通过更新Android Studio版本,可以获得最新的安全补丁和功能,以保护开发环境和应用程序的安全性。 4. 支持最新的开发工具和Android Studio是开发Android应用程序的首选工具,更新版本通常会提供对最新的开发工具和的支持。这意味着开发者可以使用最新的API和功能来创建更先进,更具创新性的应用程序。 为了更新Android Studio版本,可以按照以下步骤进行: 1. 打开Android Studio,并转到“帮助”菜单。 2. 在下拉菜单中,选择“检查更新”选项。 3. Android Studio将会连接到服务器,检查是否有新版本可用。 4. 如果有新版本可用,Android Studio将提示您进行更新。点击“更新”按钮以开始下载和安装新版本。 5. 安装完成后,重新启动Android Studio以使更改生效。 总之,更新Android Studio版本是保持最新技术和功能的最佳方法,以提高开发效率和应用程序质量。 ### 回答3: Android Studio 是一个为 Android 应用开发提供的集成开发环境(IDE)。它的更新版本是为了修复之前版本的 bug、改进功能、增加新特性,从而使开发者能够更高效、更方便地开发 Android 应用程序。 每个新的 Android Studio 版本都会带来一些新的特性和改进。例如,最新版本Android Studio 4.0 引入了一种全新的布局编辑器,称为 Compose,它能够帮助开发者以更直观的方式创建用户界面。此外,它还增强了 Kotlin 语言的支持,包括新的代码模板和自动导入功能,以及一些性能优化,如更快的构建和启动时间。 更新 Android Studio 可以帮助开发者保持最新的开发环境,并利用新功能和改进来提高开发效率。更新版本通常会修复一些已知的 bug,并引入更好的性能和稳定性。此外,Android Studio 的更新版本通常会配合最新的 Android SDK 发布,提供对最新 Android 平台的开发支持,包括新的 API 和功能。 当我们更新 Android Studio 时,需要注意备份项目文件和配置,以防止数据丢失。同时,更新版本的安装可能需要一些时间和网络带宽,所以我们需要考虑在合适的时间进行更新。 总之,Android Studio 的更新版本是为了改进开发者的开发体验和开发效率,并提供对最新 Android 平台的支持。及时更新 Android Studio 可以使我们能够使用最新的开发工具和技术,保持竞争优势,并提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值