2024年安卓最新App 内部更新 提供 12 种更新的样式 适配到 Android 9,移动端页面开发

最后

跳槽季整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在工作之余,打算将一些常用的逻辑页面,模块,功能点做成 library 库,这样当有相似需求的时候,可以做到插拔式开发!现在系列中有以下内容

特点概述

  • 最大亮点,提供12种更新的样式,总有一个是你喜欢的类型!

  • 支持三种设置更新信息的方式,您可以直接传 model,传 json 数据,或者直接配置请求链接,sdk 会自主请求并发起 app 的更新,满足多方需求!

  • 文件下载支持断点续传,下载错误拥有重试机制;相同版本的 apk 只会下载一次,防止重复下载!

  • 使用接口方式获取数据时支持设置请求头,支持 POST 和 GET 请求方式,更灵活。

  • 调用者可以自定义 UI 实现更新功能。

  • 已适配 Android 6.0,Android 7.0,Android 8.0,Android 9.0。

  • 提供强制更新,不更新则无法使用 APP,同时可以根据后台返回受影响的版本号,可控制多个版本同时被强制更新。

  • 通知栏图片自定义

  • 新增文件 MD5 校验,防止安装文件被恶意替换(2019-10-22 18:48:39 添加)

  • 新增静默下载更新的方式,实现进入 App 直接后台下载,下载完成后弹出安装页面(静默安装需要 Root 权限,而且体验很不好,不做支持)(2019-10-25 18:09:05 添加)。

新版本说明

  • 2019-11-04 12:38:12 更新版本,版本号为:v2.0.3

  • 新增配置 DownloadConnection 的入口,可切换文件下载器的内核

  • 提供了配置 Okhttp3 作为下载器的 demo,在 demo 中提供了 OkHttp3Connection 的实现,并提供信任所有证书的工具类 SSLUtils,可解决 https 根证书不被信任导致无法下载的问题

  • 2019-10-25 18:09:05 更新新版,版本号为:v2.0.2

  • 新增静默下载更新的方式

  • 新增获取是否有新版本更新的事件回调

  • 优化下载状态中的文案显示逻辑,点击 Demo 右上角第五个 item 体验

  • 修复多次调用 checkUpdate 多次弹窗的 bug

  • 2019-10-22 18:53:42 更新新版,版本号为:v2.0.1

  • 新版新增文件的 MD5 校验

  • 新版新增对文件下载进度的监听

  • 新版新增对文件 MD5 校验结果的回调

  • DEMO 中提供了获取文件 MD5 检验码的工具页面,也提供了加密工具类 Md5Utils

博客地址

掘金-【需求解决系列之四】Android App 在线自动更新 Library(V2.0)

简书-【需求解决系列之四】Android App 在线自动更新 Library(V2.0)

Demo 体验

Demo 下载

扫描二维码下载: 

效果预览

说明: 以下 12 个更新的样式的类型值从左到右从上到下一次为

TypeConfig.UI_THEME_ATypeConfig.UI_THEME_BTypeConfig.UI_THEME_CTypeConfig.UI_THEME_DTypeConfig.UI_THEME_ETypeConfig.UI_THEME_FTypeConfig.UI_THEME_GTypeConfig.UI_THEME_HTypeConfig.UI_THEME_ITypeConfig.UI_THEME_JTypeConfig.UI_THEME_KTypeConfig.UI_THEME_L

UI_THEME_AUI_THEME_BUI_THEME_CUI_THEME_DUI_THEME_EUI_THEME_FUI_THEME_GUI_THEME_HUI_THEME_IUI_THEME_JUI_THEME_KUI_THEME_L

使用方式

Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories:

allprojects { repositories { … maven { url ‘https://jitpack.io’ } } }

Step 2. Add the dependency

dependencies { implementation ‘com.github.MZCretin:AutoUpdateProject:latest_version’ }

Step 3. Init it in BaseApplication or MainActivity before using it.And then register BaseApplication in AndroidManifest(Don’t forget it).

//如果你想使用 okhttp 作为下载的载体,那么你需要自己依赖 okhttp,更新库不强制依赖 okhttp!可以使用如下代码创建一个 OkHttpClient 并在 UpdateConfig 中配置 setCustomDownloadConnectionCreator start

OkHttpClient.Builder builder = new OkHttpClient.Builder();

builder.connectTimeout(30_000, TimeUnit.SECONDS)

.readTimeout(30_000, TimeUnit.SECONDS)

.writeTimeout(30_000, TimeUnit.SECONDS)

//如果你需要信任所有的证书,可解决根证书不被信任导致无法下载的问题 start

.sslSocketFactory(SSLUtils.createSSLSocketFactory())

.hostnameVerifier(new SSLUtils.TrustAllHostnameVerifier())

//如果你需要信任所有的证书,可解决根证书不被信任导致无法下载的问题 end

.retryOnConnectionFailure(true);

//如果你想使用 okhttp 作为下载的载体,那么你需要自己依赖 okhttp,更新库不强制依赖 okhttp!可以使用如下代码创建一个 OkHttpClient 并在 UpdateConfig 中配置 setCustomDownloadConnectionCreator end

//更新库配置

UpdateConfig updateConfig = new UpdateConfig()

.setDebug(true)//是否是 Debug 模式

.setBaseUrl(“http://www.cretinzp.com/system/versioninfo”)//当 dataSourceType 为 DATA_SOURCE_TYPE_URL 时,配置此接口用于获取更新信息

.setMethodType(TypeConfig.METHOD_GET)//当 dataSourceType 为 DATA_SOURCE_TYPE_URL 时,设置请求的方法

.setDataSourceType(TypeConfig.DATA_SOURCE_TYPE_URL)//设置获取更新信息的方式

.setShowNotification(true)//配置更新的过程中是否在通知栏显示进度

.setNotificationIconRes(R.mipmap.download_icon)//配置通知栏显示的图标

.setUiThemeType(TypeConfig.UI_THEME_AUTO)//配置 UI 的样式,一种有 12 种样式可供选择

.setRequestHeaders(null)//当 dataSourceType 为 DATA_SOURCE_TYPE_URL 时,设置请求的请求头

文末

当你打算跳槽的时候,应该把“跳槽成功后,我能学到什么东西?对我的未来发展有什么好处”放在第一位。这些东西才是真正引导你的关键。在跳槽之前尽量“物尽其用”,把手头上的工作做好,最好是完成了某个项目或是得到提升之后再走。跳槽不是目的,而是为了达到最终职业目标的手段

最后祝大家工作升职加薪,面试拿到心仪Offer


网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值