神马笔记 版本2.1——软件更新·设计篇
神马笔记 版本2.1——软件更新·设计篇
一、目标
设计软件更新功能,方便用户第一时间升级神马笔记到最新版本。
二、体验地址
神马笔记最新版本下载:【神马笔记 版本2.1.0——软件更新功能.apk】
三、功能设计
软件更新功能分为2个部分
- 核心功能
- 辅助功能
软件更新 | 功能 | Summary |
---|---|---|
核心功能 | 软件更新界面 | 包括版本介绍,操作按钮以及设置自动下载3个部分 |
版本介绍 | 1. 基本信息(图标,名称及版本名,开发者名称,安装包大小), 2. 概要介绍, 3. 详细介绍(点击"了解更多"按钮查看详细介绍) |
|
操作按钮 | 操作按钮包含3个状态 1. 下载并安装 2. 正在下载… 3. 现在安装 |
|
设置自动下载 | 自动下载仅在Wi-Fi网路下有效,打开自动下载功能后,将自动下载新版本安装包。 | |
辅助功能 | 新版本提醒 | 在2个地方提醒用户新的版本 1. 主界面左上角,发现新版本时,图标切换为升级图标 2. 设置界面,软件更新列表项的Badge数字提醒。 |
自动下载 | 当用户打开自动下载,并接入Wi-Fi网络时,发现新版本,自动下载新版本安装包。 |
- 核心功能
核心功能在软件更新界面完成,用户进入到软件更新界面。了解新版本介绍,下载新版本安装包,以及设置软件更新功能。
- 辅助功能
在主界面及设置界面完成,提醒用户有新版本可供下载,需要及时更新到新的版本,以保证软件的稳定性。
四、软件更新流程
整个软件更新流程包含4个步骤。
- 请求新版本
- 下载安装包
- 验证完整性
- 启动安装
更新过程 | Summary |
---|---|
请求新版本 | 向服务器请求新版本信息,并根据版本信息构建用户界面。 |
下载安装包 | 下载新版本安装包,支持断点续传 |
验证完整性 | 保证安装包的完整性 |
启动安装 | 安装新版本 |
以及2个辅助更新功能。
- 新版本提醒
- 自动下载安装包
1. 请求新版本
Key Point | Summary |
---|---|
触发点 | 用户进入软件更新界面时,自动请求新版本。 例外:用户已经开始下载新版本安装包,则不发送请求。 |
过程中 | 告知用户"正在检查更新…" |
请求失败 | 无论客户端网络问题,还是服务端产生错误,均提示用户"检查软件更新时出错"。 取消:取消请求并回到上一级界面 再试一次:回到触发点状态,重新请求新版本 |
发现新版本 | 展示新版本信息 |
未发现新版本 | 告知用户当前版本号,您的软件是最新版本。 |
2. 下载安装包
Key Point | Summary |
---|---|
触发点 | 用户点击"下载并安装",开始下载安装包 |
过程中 | 软件介绍一栏:提示用户下载进度,并告知预估剩余时间 操作按钮一栏:提示"正在下载…",并禁用操作按钮 |
下载失败 | 软件介绍一栏:恢复到新版本介绍 操作按钮一栏:恢复到新版本介绍 同时弹出对话框告知"下载软件时出现错误"。 关闭:关闭对话框,界面恢复到新版本介绍 再试一次:回到下载过程中,继续下载安装包 |
下载成功 | 软件介绍一栏:告知用户"已下载"新版本安装包。 操作按钮一栏:显示为"现在安装",用户点击后进行验证 同时弹出对话框告知"软件下载完成"。 稍后:关闭对话框 现在安装:验证新版本。 |
3. 验证完整性
Key Point | Summary |
---|---|
触发点 | 下载完成后,以及用户点击"现在安装"。 |
过程中 | 无需提示,神马笔记安装包不错3.0M左右,非常短的时间内即可完成MD5校验。 |
验证失败 | 提示用户验证失败 关闭:关闭对话框 重新下载:删除已下载安装包,回到下载安装包步骤,重新下载安装包。 |
验证成功 | 启动安装 |
4. 启动安装
Key Point | Summary |
---|---|
触发点 | 验证完整性通过后 |
安装失败 | 系统处理…… |
取消安装 | 系统处理…… |
完成安装 | 系统处理…… |
5. 新版本提醒
Key Point | Summary |
---|---|
触发点 | 用户启动神马笔记,接入Wi-Fi网络时,自动请求新版本信息。 额外附加一个设计:一天内只会自动请求一次。 |
过程中 | 自动检测,无需提示 |
请求失败 | 什么事情都没有发生 |
发现新版本 | 主界面左上角图标切换为升级图标 |
未发现新版本 | 什么事情都没有发生 |
6. 自动下载安装包
Key Point | Summary |
---|---|
触发点 | 自动请求版本信息,发现新版本, 并且用户打开"自动下载"功能, 并且接入Wi-Fi网络时。 |
过程中 | 什么事情都没有发生 |
下载失败 | 什么事情都没有发生 |
下载成功 | 什么事情都没有发生 |
五、技术准备
功能点 | 技术要求 | 技术方案 |
---|---|---|
请求新版本 | 1. 支持HTTPS 2. 类型安全 |
Retrofit + OkHttp |
下载更新文件 | 1. 支持HTTPS 2. 断点续传 |
OkHttp |
显示概要及详细介绍 | 1. 支持简单的文字风格:粗体、斜体、…… 2. 支持点击链接跳转到网页 |
Markwon |
技术方案 | 参考网站 |
---|---|
Markwon | https://noties.github.io/Markwon/ |
OkHttp | http://square.github.io/okhttp/ |
Retrofit | http://square.github.io/retrofit/ |
RxJava | https://github.com/ReactiveX/RxJava/wiki |
RxAndroid | https://github.com/ReactiveX/RxAndroid/wiki |
六、Finally
~笑渐不闻声渐悄~多情却被无情恼~