神马笔记 版本2.1——软件更新·设计篇

  • 一、目标
  • 二、体验地址
  • 三、功能设计
  • 四、软件更新流程
    • 1. 请求新版本
    • 2. 下载安装包
    • 3. 验证完整性
    • 4. 启动安装
    • 5. 新版本提醒
    • 6. 自动下载安装包
  • 五、技术准备
  • 六、Finally

一、目标

设计软件更新功能,方便用户第一时间升级神马笔记到最新版本。

二、体验地址

神马笔记最新版本下载:【神马笔记 版本2.1.0——软件更新功能.apk

三、功能设计

软件更新功能分为2个部分

  1. 核心功能
  2. 辅助功能
软件更新 功能 Summary
核心功能 软件更新界面 包括版本介绍,操作按钮以及设置自动下载3个部分
版本介绍 1. 基本信息(图标,名称及版本名,开发者名称,安装包大小),
2. 概要介绍,
3. 详细介绍(点击"了解更多"按钮查看详细介绍)
操作按钮 操作按钮包含3个状态
1. 下载并安装
2. 正在下载…
3. 现在安装
设置自动下载 自动下载仅在Wi-Fi网路下有效,打开自动下载功能后,将自动下载新版本安装包。
辅助功能 新版本提醒 在2个地方提醒用户新的版本
1. 主界面左上角,发现新版本时,图标切换为升级图标
2. 设置界面,软件更新列表项的Badge数字提醒。
自动下载 当用户打开自动下载,并接入Wi-Fi网络时,发现新版本,自动下载新版本安装包。
  • 核心功能

核心功能在软件更新界面完成,用户进入到软件更新界面。了解新版本介绍,下载新版本安装包,以及设置软件更新功能。

  • 辅助功能

在主界面及设置界面完成,提醒用户有新版本可供下载,需要及时更新到新的版本,以保证软件的稳定性。

四、软件更新流程

整个软件更新流程包含4个步骤。

  1. 请求新版本
  2. 下载安装包
  3. 验证完整性
  4. 启动安装
更新过程 Summary
请求新版本 向服务器请求新版本信息,并根据版本信息构建用户界面。
下载安装包 下载新版本安装包,支持断点续传
验证完整性 保证安装包的完整性
启动安装 安装新版本

以及2个辅助更新功能。

  1. 新版本提醒
  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

~笑渐不闻声渐悄~多情却被无情恼~

神马笔记 版本2.1——软件更新·设计篇相关推荐

  1. 神马笔记 版本2.2.2-内容共享

    神马笔记 版本2.2.2-内容共享 一.目标 二.体验地址 三.内容共享 四.功能优化 五.强化Hexo支持 六.新版本规划 七.历史版本回顾 八.帮助和反馈 九.Finally 一.目标 导入及导出 ...

  2. 神马笔记 版本2.2.0——功能优化

    神马笔记 版本2.2.0--功能优化 一.目标 二.体验地址 三.功能优化 四.功能介绍 1. 关于神马笔记 2. 搜索笔记忽略大小写 3. 文件夹内容界面 4. 图片列表显示图片尺寸 五.新版本规划 ...

  3. 神马笔记 版本2.0.0——新的旅程

    神马笔记 版本2.0.0--新的旅程 一.目标 二.体验地址 三.优化代码 四.功能规划 五.下一版本预告 六.历史版本回顾 七.问题及意见反馈 八.Finally 一.目标 优化代码结构,为新版本功 ...

  4. 神马笔记 版本2.8.0——视频笔记

    神马笔记 版本2.8.0--视频笔记 一.目标 二.下载地址 三.功能介绍 1. 录制新的视频 2. 选择已有视频 3. 笔记内播放视频 4. 全屏播放视频 5. 全屏查看图片 6. 隐藏的功能 四. ...

  5. 神马笔记 版本2.4.0——对话笔记

    神马笔记 版本2.4.0--对话笔记 一.目标 二.体验地址 三.功能介绍 1. 创建对话笔记 2. 编辑对话笔记 3. 自动保存草稿 四.对话笔记 VS 文章笔记 五.开发过程回顾 六.下一版本开发 ...

  6. 神马笔记 版本2.10.0——图片查看器

    神马笔记 版本2.10.0--图片查看器 一.目标 二.下载地址 三.功能介绍 四.开发过程回顾 五.笔记元素一览 六.下一版本开发计划 七.新版本规划 八.历史版本回顾 九.帮助和反馈 十.Fina ...

  7. 神马笔记 版本2.7.0——语音笔记

    神马笔记 版本2.7.0--语音笔记 一.目标 二.下载地址 三.功能介绍 1. 授予录音权限 2. 启动语音笔记 3. 记录语音笔记 4. 播放语音笔记 5. 切换扬声器 四.开发过程回顾 五.下一 ...

  8. 神马笔记 版本2.9.0——音乐笔记

    神马笔记 版本2.9.0--音乐笔记 一.目标 二.下载地址 三.功能介绍 四.开发过程回顾 五.笔记元素一览 六.下一版本开发计划 七.新版本规划 八.历史版本回顾 九.帮助和反馈 十.Finall ...

  9. 神马笔记 版本2.3.0——方程公式

    神马笔记 版本2.3.0--方程公式 一.目标 二.体验地址 三.功能介绍 1. 插入方程公式 2. 编辑方程公式 3. 修改方程公式 4. 共享方程公式 四.开发过程回顾 五.下一版本开发计划 六. ...

最新文章

  1. 2020年趋势一览:AutoML、联邦学习、云寡头时代的终结(附链接)
  2. react第三方组件库_如何自定义您的第三方React组件
  3. SQuirreL SQL Client3.8 连接 HIVE2.2
  4. linux 标准 GPIO 操作
  5. JDK 之 HttpClient(jdk11)
  6. Leetcode18.四数之和
  7. [地图SkyLine二次开发]框架(2)
  8. Java的对象和类 以学生管理系统为例
  9. 演绎类清吧音响怎么选?
  10. 服务器系统怎么做ghost备份,手动ghost备份系统的具体操作步骤【图文教程】
  11. 快捷方式图标变白完美解决
  12. 数据库三级考试 真题存储过程汇总(含答案)
  13. matlab 如何读取二进制、十六进制txt文档
  14. python数字识别kaggle论文_基于Python语言Kaggle的数据集分析
  15. 4G工业路由器大气环境监测方案
  16. 万豪又双叒叕翻车,520 万人隐私遭曝光
  17. 简要分析用MD5加密算法加密信息(如有疑问,敬请留言)
  18. 你不可不用的十类Mac装机必备软件
  19. ROS项目开发流程、框架
  20. P4 程序设计语法学习

热门文章

  1. 抖音一个老人和一个机器人歌曲_抖音歌曲少年是谁唱的 最近抖音非常火的一首歌曲...
  2. 云计算是什么意思?云计算管理平台有哪些?
  3. 【云计算】什么是云计算
  4. 菜鸟记录之JDK1.8十大新特性
  5. CALIPSO数据产品总结
  6. 分享一个简单好看的html的表格table(个人简历的html表格),vue table,以及vue打印(简单好用的vue打印插件)
  7. 安兔兔android手机性能排行榜,安兔兔2018年12月Android手机性能排行榜
  8. 华为2020手机鸿蒙计划,华为鸿蒙 OS 2020 计划曝光!手机仍然优先用安卓
  9. npm 的 execa 包的使用实例
  10. Centos 7 开机一直转圈 错误 failed to load SELinux policy freezing