一个简单、轻量、可随意定制的Android版本更新库 ????

栏目: IOS · Android · 发布时间: 6年前

内容简介:初始化使用

重点:如果没有设置 downloadPath 则默认为 getExternalCacheDir() 目录,同时不会申请[存储]权限!

目录

编译问题

  • 因为适配了Android O的通知栏,所以依赖的v7包版本比较高 appcompat-v7:26.1.0
  • 使用的gradle版本为 gradle-4.1-all ,所以建议使用 Android Studio 3.0 及以上的版本打开此项目

效果图

一个简单、轻量、可随意定制的Android版本更新库 ???? 一个简单、轻量、可随意定制的Android版本更新库 ???? 一个简单、轻量、可随意定制的Android版本更新库 ???? 一个简单、轻量、可随意定制的Android版本更新库 ???? 一个简单、轻量、可随意定制的Android版本更新库 ???? 一个简单、轻量、可随意定制的Android版本更新库 ????

功能介绍

  • 支持断点下载
  • 支持后台下载
  • 支持自定义下载过程
  • 支持 设备 >= Android M 动态权限的申请
  • 支持通知栏进度条展示(或者自定义显示进度)
  • 支持Android N
  • 支持Android O
  • 支持中/英文双语
  • 支持自定内置对话框的样式
  • 使用HttpURLConnection下载,未集成其他第三方框架

更加详细的文档参阅此处《AppUpdate API文档》

DownloadManager:配置文档

初始化使用 DownloadManager.getInstance(this)

属性 描述 默认值 是否必须设置
context 上下文 null true
apkUrl apk的下载地址 null true
apkName apk下载好的名字 null true
downloadPath apk下载的位置 getExternalCacheDir() false
showNewerToast 是否提示用户 "当前已是最新版本" false false
smallIcon 通知栏的图标(资源id) -1 true
configuration 这个库的额外配置 null false
apkVersionCode 更新apk的versionCode
(如果设置了那么库中将会进行版本判断
下面的属性也就需要设置了)
1 false
apkVersionName 更新apk的versionName null false
apkDescription 更新描述 null false
apkSize 新版本的安装包大小(单位M) null false
authorities 兼容Android N uri授权 应用包名 false

UpdateConfiguration:配置文档

属性 描述 默认值
notifyId 通知栏消息id 1011
notificationChannel 适配Android O的渠道通知 详情查阅源码
httpManager 设置自己的下载过程 null
breakpointDownload 是否需要支持断点下载 true
enableLog 是否需要日志输出 true
onDownloadListener 下载过程的回调 null
jumpInstallPage 下载完成是否自动弹出安装页面 true
showNotification 是否显示通知栏进度(后台下载提示) true
forcedUpgrade 是否强制升级 false
onButtonClickListener 按钮点击事件回调 null
dialogImage 对话框背景图片资源(图片规范参考demo) -1
dialogButtonColor 对话框按钮的颜色 -1
dialogButtonTextColor 对话框按钮的文字颜色 -1

所有版本:点击查看

使用步骤

第一步: app/build.gradle 进行依赖

implementation 'com.azhon:appupdate:1.7.3'
复制代码

第二步:创建 DownloadManager ,更多用法请查看 这里示例代码

DownloadManager manager = DownloadManager.getInstance(this);
manager.setApkName("appupdate.apk")
        .setApkUrl("https://raw.githubusercontent.com/azhon/AppUpdate/master/apk/appupdate.apk")
        .setSmallIcon(R.mipmap.ic_launcher)
        //可设置,可不设置
        .setConfiguration(configuration)
        .download();
复制代码

第三步:兼容Android N 及以上版本,在你应用的 Manifest.xml 添加如下代码

<--! android:authorities="${applicationId}" 
这个值必须与DownloadManager中的authorities一致(不设置则为应用包名)-->

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="${applicationId}"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths_public" />
</provider>
复制代码

第四步:资源文件 res/xml/file_paths_public.xml 内容

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path
        name="app_update_external"
        path="/" />
    <external-cache-path
        name="app_update_cache"
        path="/" />
</paths>
复制代码
  • 兼容Android O及以上版本,需要设置 NotificationChannel(通知渠道) ;库中已经写好可以前往查阅 NotificationUtil.java
  • 温馨提示:升级对话框中的内容是可以上下滑动的哦:smile:!
  • 如果需要实现自己一套下载过程,只需要继承 BaseHttpDownloadManager 并使用listener更新进度
public class MyDownload extends BaseHttpDownloadManager {}
复制代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

四步创业法

四步创业法

[美] Steven Gary Blank / 七印部落 / 华中科技大学出版社 / 2012-8-1 / 48.00

《四步创业法》获李开复推荐,是精益创业理论的奠基之作。作者Steven Gary Blank博士是硅谷资深企业家,他一共创办了八家企业,并担任多家硅谷公司的董事和创业顾问。本书总结作者25年创业经验,提出全新的客户发展方法 (诣在弥补传统产品开发方法的缺陷) ,掀起了硅谷近年精益创业 的浪潮。七印部落正在翻译作者的博客和授课视频,欢迎访问微博:http://weibo.com/7seals ......一起来看看 《四步创业法》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具