从django web app下载sqlite数据库并在iOS中使用?

时间:2013-01-29 15:21:43

标签: ios django sqlite

我正在为办公大厅开发一个特定于站点的安装,它将在6台iPad上显示内容。安装有几兆字节的数据,将由django webapp管理。我正在考虑从网络应用程序中获取内容数据的不同策略。到目前为止,我只是将数据转储为xml格式,并通过从iPad到内容服务器的单个http请求获取数据。然后我将所有内容加载到iPad上的内存中。

我开始担心随着内容量的增长,我可能会遇到内存问题,并且将整个数据库存储在内存中是行不通的。自然的下一步是考虑iPad上的数据库。我正在使用sqllite作为内容服务器。在我看来,简单地下载整个数据库文件并直接从iPad查询它是可行的。

提议的方法

每晚从django内容服务器下载实际的sqllite数据库文件到办公大厅安装中使用的六台iPad中的每一台。

我喜欢这种方法:

  • 这可能很简单。它从系统中删除整个Web服务层。
  • 它可以很好地防止网络问题。如果网络不可用,最糟糕的问题是iPad会显示陈旧数据,因为如果系统依赖于网络,则表示没有内容。

我不喜欢这种方法的事情

  • 我不确定如何安全地下载文件。如何确保我正在下载的文件处于有效状态,并且在有人更新时我没有下载?
  • 我从来没有听说有人这样做,甚至没有考虑过这样做。似乎它远没有尝试和真实。

我的问题

  • 有谁能想到为什么这是一个坏主意?
  • 如何安全地下载sqllite文件并确信它处于有效状态?

1 个答案:

答案 0 :(得分:0)

为什么不创建一个Syncing系统 - 可能使用JSON。

之前我做过类似的事情 - 我在网站上有一个运行我的Django Web应用程序的中央存储库服务器。不同的iPad会定期与网络应用程序的数据库同步,确保他们的本地数据与服务器数据匹配,如果不是,它将通过json更新。

在iPad上,我使用的是phonegap的SQLITE语法,它非常适合存储客户端数据。但关键是通过json将这个数据库同步到中央存储库的数据库 - 而不是将SQLite数据库物理移动到ipad。