我正在开发一个只读的应用程序。数据有关系,所以我不能只使用plist或类似的东西。在iPhone上预加载数据库?
问题:
- 我应该使用核心数据对于这样的要求?
- 如果是这样,我将如何输入数据,然后用该数据发布应用程序?
- 我该如何做到这一点,以便应用程序在每次加载时都不需要重新填充数据库?
- 有没有办法创建一个使用SQL命令与sqlite的核心数据模型(即插入,等)?
我正在开发一个只读的应用程序。数据有关系,所以我不能只使用plist或类似的东西。在iPhone上预加载数据库?
问题:
在我的iPhone短的经验,你有两个选择。
从过去的经验来看,选项2对于用户体验和首选解决方案来说要快得多。
您可以使用SQLite数据库来完成此操作。
工作通过这两个教程由线链接它,线,然后你会有足够的理解(和代码示例)在你自己的应用程序中完成这个任务。
您可以编写一个导入应用程序数据模型的实用程序项目,并使用一次性代码n来填充项目以填充Core Data DB。一旦填充了数据库,只需将实际文件复制到应用程序项目的资源文件夹中,然后在设置持久性存储时,使用NSBundle将构建应用程序中DB文件的路径返回。
你完成了。
感谢您的快速响应..... 所以这是唯一/最好的方式来实现预加载分贝?例如,微不足道的应用程序会使用这种方法(显然这将是猜测工作,但在您看来)? 非常感谢 朱尔斯 – Jules 2010-06-07 15:21:32
+1应用程序附带的所有东西都必须位于应用程序包中。您可以轻松包含预填充的数据库,但始终只能读取。您唯一的选择是将所有数据包含在XML中,然后在首次启动时在应用程序目录中生成数据库。用户通常不喜欢后者,因为它使他们闪亮的新应用程序陷入困境。 – TechZen 2010-06-07 15:39:38
感谢您的帮助,看起来预填充的sqlite数据库是更有效的方式。 – Jules 2010-06-07 15:49:35