ios – 移动应用程序数据管理

ios – 移动应用程序数据管理,第1张

概述我的问题围绕着一个单一点 – 移动应用程序中的数据管理.我创建了一个移动应用程序,其中数据来自服务器.数据包括文本和图像.以下是我为此所做的步骤: First launch : 1. Get server data. 2. Save server data in Sqlite database. 3. Show Sqlite data. Next launches : 1. Show Sqlite 我的问题围绕着一个单一点 – 移动应用程序中的数据管理.我创建了一个移动应用程序,其中数据来自服务器.数据包括文本和图像.以下是我为此所做的步骤:

First launch :
1. Get server data.
2. Save server data in sqlite database.
3. Show sqlite data.

Next launches :
1. Show sqlite data.
2. Get server data in background.
3. Delete prevIoUs sqlite data.
4. Save new server data in sqlite database.
5. Show sqlite data.

我对这些步骤有几个问题:
这是正确的做法吗?其他方式可能是每次从服务器显示数据,但不会立即在屏幕上显示数据(取决于互联网速度).
我还想过将sqlite数据与新的服务器数据进行比较.但面临着巨大的挑战.新服务器数据可能具有新记录或已删除记录.此外,我找不到合适的方法来比较每个数据库字段与JSON数据.
那么将本地sqlite数据与新服务器数据进行比较的最佳方法是什么?
3.每次我删除sqlite数据并插入新数据然后刷新屏幕(有一个UItableVIEw)时,它会闪烁一秒钟,这很明显.如果遵循步骤3,4,5,如何避免此问题?
4.如果我每次或当应用程序变为活动状态时返回屏幕,我应该如何进行数据更新?我非常了解NSOperationQueues或使用GCD.但如果我疯了又一次又一次地来回屏幕怎么办?队列中将有许多NSOperations.

解决方法 同步服务器数据是一个挑战,我以前做过,如果你可以花时间,我会说这是最好的解决方案.

您可能需要在服务器和本地对象上创建和修改日期,以进行比较 – 这将允许您决定要添加,更新和删除的对象.
如果服务器仅向您发送最近更新的对象,则可以节省大量流量并提高性能(但删除的对象将更难检测).

如果仅在服务器中更改数据则更容易,当应用程序也可以更改数据时,它变得更加复杂(但似乎不是你的情况).当然,这还取决于数据库的复杂程度.

如果你不想花一些时间来做这件事,那么每次获取所有数据也是有效的,即使它不理想!您可以在输入时让用户等待2-3秒,而不是显示旧数据并使其闪烁,同时获取新数据.或者你只能在启动应用程序时获取数据,所以当你到达那个视图控制器时它就已经准备好了.

这是一个每个人都会在某个时刻面临的复杂问题,所以我很想知道其他人会建议什么:)

总结

以上是内存溢出为你收集整理的ios – 移动应用程序数据管理全部内容,希望文章能够帮你解决ios – 移动应用程序数据管理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存