文档管理app端需求实现方案关键点记录

简介: 实现的需求包括:文档列表、下载列表(包含删除功能)、文档详情、预览和搜索,若无法在app内打开则需要提供在其他app打开的能力。简单来说,文档下载和管理的实现在技术上没有多大难度,但这里的方案实现了以下几点:1.

实现的需求包括:文档列表、下载列表(包含删除功能)、文档详情、预览和搜索,若无法在app内打开则需要提供在其他app打开的能力。


简单来说,文档下载和管理的实现在技术上没有多大难度,但这里的方案实现了以下几点:

1. 基于nsurlsession的后台下载,并在任务被系统中断后的恢复(比如app被手动kill, 这种情况下本方案采取的策略是自动恢复下载)

2. 在其他app中打开,通过UIDocumentInteractionController实现相应的功能;并且由于该类没有提供一个直接判断的方法(必须要尝试打开时才可以得到是否能够打开),这里的trick是通过QLPreviewController的canPreviewItem方法,需要构造一个对象。 这两个里面的url参数必须要通过fileURLWithPath创建,和我们通常的做法不同;若使用urlwithString会导致crash.

3. 合理的分层结构(这很重要,我们就可以替换不同层次的实现,比如替换持久化方案,替换model层的具体实现等),选择恰当的持久化方案,并将其和内存存储相结合,以实现一个比较好的体验(这里不太好展开说,跟需求相关性较大)。

4.基于时间戳的接口刷新机制;这里的文档树通过单个接口一次性返回,因此我们通过时间戳的机制来优化拉数据的体验。

5. 其他的一些异常处理,比如之前下载的文件在文档树中被删除后本地的展示;缓存清空后的体验;恢复下载的进度等。

6. 作为一个下载相关的应用,还需要保证你所下载的文件和其中间文件都是可清理的,并且在磁盘空间不足时需要做相应的保护处理以及UI提醒等。


总的来说,若要实现一个较好的体验,还是有很多细节需要关注;代码层次结构和持久化方案上也有很多值得推敲的地方。

目录
相关文章
|
2月前
|
前端开发 API Android开发
10 大 APP 开发方案比较
本文首发于微信公众号“前端徐徐”,深入剖析了当前最受欢迎的十种APP开发方案,包括传统的iOS和Android开发、跨平台的React Native和Flutter、现代化的CapacitorJS和PWA等,旨在帮助开发者在众多选择中找到最适合的开发路径。通过详细分析每种方案的优缺点及适用场景,文章提供了详尽的比较和实用建议,助力高效、优质的APP开发。
174 0
10 大 APP 开发方案比较
|
4月前
|
Docker 容器
【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案
【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案
|
5月前
|
存储 前端开发 测试技术
同城交友APP系统开发运营版/案例详细/功能步骤/逻辑方案
开发一款同城交友APP系统需要经过以下大致流程:
|
7月前
|
安全 定位技术 网络安全
禁止应用在模拟器上运行的方案及app安全问题
禁止应用在模拟器上运行的方案及app安全问题
747 1
|
7月前
|
存储 安全 开发工具
APP安全加固怎么做?加固技术、加固方法、加固方案
APP安全加固怎么做?加固技术、加固方法、加固方案
99 3
游戏直播APP开发,源码方案适合哪些公司
游戏直播APP开发正随着直播互联网的迅猛发展而成为受众广泛的热门平台。然而,一些企业面临着技术实力、资源和资金等方面的限制,因此自主开发游戏直播APP可能变得困难。
|
7月前
|
存储 移动开发 安全
如何实现APP安全加固?加固技术、方法和方案
如何实现APP安全加固?加固技术、方法和方案
611 0
|
7月前
|
存储 安全 开发工具
APP安全加固怎么做?加固技术、加固方法、加固方案
APP安全加固怎么做?加固技术、加固方法、加固方案
185 0
|
存储 安全 开发工具
APP安全加固怎么做?加固技术、加固方法、加固方案
前面的文章中我们为大家介绍了移动应用安全检测的测试依据、测试方法、和测试内容,本文我们着重分享App安全加固的相关内容。
|
算法 安全 区块链
区块哈希游戏开发逻辑(上链合约)哈希竞猜游戏开发方案(app/DAPP)
区块哈希游戏开发逻辑(上链合约)哈希竞猜游戏开发方案(app/DAPP)