【问题标题】:iPhone/Sqlite - how to get only changed data from server?iPhone/Sqlite - 如何仅从服务器获取更改的数据?
【发布时间】:2010-01-15 09:33:31
【问题描述】:

我正在服务器上生成一个相当大的 sqlite 文件(大约 30'000 个条目,大约 3mb 大)并且想在我的 iPhone 应用程序中使用该数据。

服务器上的 sqlite 文件每小时生成一次;有些数据几乎每次都在变化,有些数据很少变化。

有没有办法只将更改的数据发送到 iPhone,因为我不想让用户每次使用应用程序时加载 3mb。

我该怎么做才能只将数据发送给自上次请求后发生更改的客户?有什么想法吗?

【问题讨论】:

    标签: sqlite iphone-sdk-3.0


    【解决方案1】:

    为每个请求数据的 iPhone 保留一个时间戳,然后使用它来确定自 iPhone 上次请求以来哪些行发生了变化。

    或者,iPhone 可以在下次请求时发送上次请求数据的时间戳。

    您还需要为数据库中的每一行存储一个最后更新的时间戳,这样您就可以确定自 iPhone 上次询问以来哪些时间戳发生了变化。

    【讨论】:

    • 谢谢理查德,这是一个很好的起点。所以在我的应用程序包中,我提供了数据库的起点,我总是知道服务器上哪些数据发生了变化。但是然后我必须使用 sqlite 文件(一个在服务器上,一个在客户端上) - 用服务器上的必要行更新 iphone-sqlite-db 的最佳方法是什么?
    • 一种方法是在服务器上生成一个包含更改/更新数据的 CSV 文件。然后在 iphone 上读取这个文件并将每一行插入到 iphone 的数据库中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多