Skip to content

更新实体字段介绍

xuexiangjys edited this page Nov 29, 2021 · 7 revisions

版本更新信息实体

UpdateEntity作为框架各个环节接口的通信媒介,了解它们的作用对后面接口的自定义非常关键。

(1) UpdateEntity字段属性

字段名 类型 默认值 备注
mHasUpdate boolean false 是否有新版本
mIsForce boolean false 是否强制安装:不安装无法使用app
mIsIgnorable boolean false 是否可忽略该版本
mVersionCode int 0 最新版本code
mVersionName String unknown_version 最新版本名称
mUpdateContent String "" 更新内容
mDownloadEntity DownloadEntity 下载信息实体
mIsSilent boolean false 是否静默下载:有新版本时不提示直接下载
mIsAutoInstall boolean true 是否下载完成后自动安装

(2) DownloadEntity字段属性

字段名 类型 默认值 备注
mDownloadUrl String "" 下载地址
mCacheDir String "" 文件下载的目录
mMd5 String "" 下载文件的md5值,用于校验,防止下载的apk文件被替换(最新演示demo中有计算md5值的工具),注意这里的md5值非应用签名文件的md5值!
mSize long 0 下载文件的大小【单位:KB】
mIsShowNotification boolean false 是否在通知栏上显示下载进度

(3) PromptEntity字段属性

字段名 类型 默认值 备注
mThemeColor int R.color.xupdate_default_theme_color 主题色(进度条和按钮的背景色)
mTopResId int R.drawable.xupdate_bg_app_top 顶部背景图片资源id
mTopDrawableTag String "" 顶部背景图片Drawable标识
mButtonTextColor int 0 按钮文字颜色
mSupportBackgroundUpdate boolean false 是否支持后台更新
mWidthRatio float -1(无约束) 版本更新提示器宽度占屏幕的比例
mHeightRatio float -1(无约束) 版本更新提示器高度占屏幕的比例
mIgnoreDownloadError boolean false 是否忽略下载异常(下载失败更新提示框不消失)

默认版本更新返回数据的格式

需要注意的是,使用默认版本更新,请求服务器返回的json格式应包括如下内容:

{
  "Code": 0,
  "Msg": "",
  "UpdateStatus": 1,
  "VersionCode": 3,
  "VersionName": "1.0.2",
  "ModifyContent": "1、优化api接口。\r\n2、添加使用demo演示。\r\n3、新增自定义更新服务API接口。\r\n4、优化更新提示界面。",
  "DownloadUrl": "https://raw.githubusercontent.com/xuexiangjys/XUpdate/master/apk/xupdate_demo_1.0.2.apk",
  "ApkSize": 2048,
  "ApkMd5": ""
}

字段说明:

  • Code: 0代表请求成功,非0代表失败。
  • Msg: 请求出错的信息。
  • UpdateStatus: 版本更新状态。0代表不更新,1代表有版本更新,不需要强制升级,2代表有版本更新,需要强制升级。
  • VersionCode: 版本号,自增。本地会用于比较版本是否为最新版本。
  • VersionName: 版本的展示名称。
  • ModifyContent: 版本更新的内容。
  • DownloadUrl: 应用apk文件的下载地址。
  • ApkSize: 应用apk文件的文件大小,单位是KB。
  • ApkMd5: 应用apk文件的MD5值。如果不设置的话,将无法保证apk是否完整,每次都会重新下载。框架默认使用的是MD5加密。