在核心数据应用程序中嵌入预定义的 SQLITE 文档

Posted

技术标签:

【中文标题】在核心数据应用程序中嵌入预定义的 SQLITE 文档【英文标题】:Embedding a predefined SQLITE doc in Core Data Application 【发布时间】:2009-10-11 13:26:00 【问题描述】:

感谢您的帮助。我有一个基于核心数据文档的应用程序。仅支持 SQLITE 文档。我想分发具有先前创建的数据库文档的应用程序,其中预定义的数据嵌入在应用程序包中。

如何指示应用程序在运行时运行嵌入文件?

谢谢。

-保罗。

【问题讨论】:

我不明白这个问题。 “运行”“文档”是什么意思?是数据库吧?你想对它运行 SELECT 查询吗?应用程序代码不这样做吗? 我希望应用程序在用户启动应用程序时显示嵌入在项目包中的已保存数据库。 -保罗。 例如,假设应用程序存储员工联系信息。我想使用预定义的数据将应用程序分发给员工。我会用必要的数据填充应用程序并正常保存 SQLITE 文档。我想将之前保存的 SQLITE 文档嵌入到应用程序包中,这样当员工安装并运行应用程序时,我插入和保存的所有数据都将可用。谢谢。 【参考方案1】:

通常,您要做的是将文件的副本存储在应用程序包的Resources 目录中。从那里开始,这取决于您拥有什么样的应用程序。如果它是单文档应用程序(例如 iPhoto),您可以将文件复制到 ~/Application Support/Your Application 目录,以便您的应用程序默认打开它。

查看应用程序委托类的内部(我假设您使用的是 Xcode 提供的模板?),看看它如何生成应用程序文件的路径。您基本上只需要确保应用程序启动时该文件存在于该路径。

在这种情况下,NSFileManagerNSBundlepathForResource:ofType: 方法是你的朋友。

【讨论】:

谢谢亚历克斯。我会调查一下。 -保罗。

以上是关于在核心数据应用程序中嵌入预定义的 SQLITE 文档的主要内容,如果未能解决你的问题,请参考以下文章

Python读取SQLite文件数据

核心数据 SQLite 加密?

sqlite

如何在android应用程序中嵌入sqlite数据库文件

Android数据库代码优化 - 从SQLite说起

工具开源的嵌入式数据库引擎: SQLite 3.8.7版本发布