启动时带有数据的应用程序

Posted

技术标签:

【中文标题】启动时带有数据的应用程序【英文标题】:App with data at launch 【发布时间】:2012-08-14 11:48:12 【问题描述】:

我目前正在开发一个需要数据的应用。示例:书籍清单。在首次启动时创建预先填充的数据库的最佳方法是什么? 或者我们是否需要在首次启动时填充核心数据库?

提前感谢您的帮助:)

【问题讨论】:

***.com/questions/11922800/… Any way to pre populate core data?的可能重复 【参考方案1】:

您可以以任何您喜欢的方式存储“种子数据”,文本文件、plist 等,甚至可以存储在数据库中(可能是 sqlite)。

然后在启动您的应用程序时,检查数据是否已存在于您的核心数据存储中。如果没有,请将文件导入数据库。

您还可以有一个预配置的数据库并将其复制到应用程序文档目录以使其可写。这是一种更复杂的方法,因为每次种子数据或模型发生更改时,您都必须重新生成此种子数据库。

【讨论】:

谢谢 Mundi,所以如果我明白了,如果我不创建一个 sqlite 数据库,例如,我可以在第一次启动时创建核心数据库吗?我们如何检查核心数据中是否已经存在一系列数据? 这很简单。只需快速获取,看看是否有任何结果。【参考方案2】:

在我的应用程序中,我有一个仅用于读取(不写入)的数据库,我将其包含在分发的捆绑包中。然后我更新 AppDelegate->persistentStoreCoordinator 方法以指向我的数据库的正确位置。

如果我需要写入数据库,那么我需要在访问它之前将它移动到 Documents 目录。并且不需要对 AppDelegate->persistentStoreCoordinator 进行更改。

【讨论】:

以上是关于启动时带有数据的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

带有分发证书的 Swift 代码应用程序在启动时崩溃

应用程序在启动另一个带有意图和 .putExtra 的活动时崩溃

首次启动应用程序时用初始数据填充本地数据库(sqlite)

带有 JSON 数据的滚动问题表视图

如何设置程序在启动时启动

启动 GWT/Hibernate 程序时出错