文档管理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提醒等。


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

目录
相关文章
|
11天前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案
|
3月前
|
BI 开发工具 开发者
App全渠道统计方案:如何用一个工具整合所有获客渠道数据?
还在为地推、社群、广告等不同获客渠道的数据分散而烦恼吗?本文将教您如何用一个工具整合所有渠道数据,实现精准的渠道归因与效果分析。
78 0
|
5月前
|
数据采集 JSON 网络安全
移动端数据抓取:Android App的TLS流量解密方案
本文介绍了一种通过TLS流量解密技术抓取知乎App热榜数据的方法。利用Charles Proxy解密HTTPS流量,分析App与服务器通信内容;结合Python Requests库模拟请求,配置特定请求头以绕过反爬机制。同时使用代理IP隐藏真实IP地址,确保抓取稳定。最终成功提取热榜标题、内容简介、链接等信息,为分析热点话题和用户趋势提供数据支持。此方法也可应用于其他Android App的数据采集,但需注意选择可靠的代理服务。
182 11
移动端数据抓取:Android App的TLS流量解密方案
|
5月前
|
数据采集 数据可视化 数据挖掘
基于Python的App流量大数据分析与可视化方案
基于Python的App流量大数据分析与可视化方案
|
5月前
|
人工智能 开发框架 小程序
工会成立100周年纪念,开发职工健身AI运动小程序、APP方案推荐
为庆祝中华全国总工会成立100周年,特推出基于AI技术的智能健身系统,以小程序和APP形式呈现,助力职工健康生活。方案包括:1) 小程序插件,支持多种运动识别,开箱即用;2) APP插件,提供更高精度的运动检测;3) 成熟的「AI乐运动」系统,支持赛事活动管理。这些方案满足不同需求,推动全民健身体验升级,彰显工会对职工健康的关怀。
|
6月前
|
容器
【Azure Container App】在消耗性的Container App Environmnet中无法查看当时正在使用多少CPU多少实例数的替代方案
在 Azure Container Apps 中使用 Consumption 消耗型环境时,无法通过门户查看当前核心 (CPU) 和实例使用情况。这是因为消耗型工作负载配置文件的设计所致。若需查看使用状态,可使用 az cli 命令 `az containerapp env list-usages` 获取详细信息,包括 Current Cores 数量。文档还提供了参考资料链接以帮助用户深入了解相关命令用法。
104 17
|
5月前
|
人工智能 开发框架 小程序
【一步步开发AI运动APP】二、跨平台APP AI运动识别方案介绍
本系列博文旨在帮助开发者从【AI运动小程序】迈向性能更优的【AI运动APP】开发。通过「云智AI运动识别」uni-app版插件,提供本地原生极速识别、精准姿态检测及运动计时计数功能,支持健身系统、线上赛事、学生体测、康复锻炼等多场景应用。插件无需云端依赖,一次付费永久使用,成本低且扩展性强。同时兼容uni-app与uni-app x框架,适合不同技术背景的开发者快速上手,助力抢占AI辅助运动市场。下篇将介绍插件引入,敬请期待!
|
11月前
|
前端开发 API Android开发
10 大 APP 开发方案比较
本文首发于微信公众号“前端徐徐”,深入剖析了当前最受欢迎的十种APP开发方案,包括传统的iOS和Android开发、跨平台的React Native和Flutter、现代化的CapacitorJS和PWA等,旨在帮助开发者在众多选择中找到最适合的开发路径。通过详细分析每种方案的优缺点及适用场景,文章提供了详尽的比较和实用建议,助力高效、优质的APP开发。
2503 0
10 大 APP 开发方案比较
|
存储 前端开发 测试技术
同城交友APP系统开发运营版/案例详细/功能步骤/逻辑方案
开发一款同城交友APP系统需要经过以下大致流程:
|
Docker 容器
【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案
【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案
167 0

热门文章

最新文章