创建 sqlite 文件的合适位置是啥?

Posted

技术标签:

【中文标题】创建 sqlite 文件的合适位置是啥?【英文标题】:What is suitable location for creating sqlite file?创建 sqlite 文件的合适位置是什么? 【发布时间】:2012-03-20 09:36:11 【问题描述】:

实际上,我的应用被应用商店拒绝了,因为我在文档目录中存储了大约 9 MB 的数据。

什么是更好和合适的位置存储图像缓存和创建sqlite数据库文件?

【问题讨论】:

可能因为其他原因被拒绝 是的,它没有因为 sqlite 文件而被拒绝,但我很担心因为数据存储无效而被拒绝。 【参考方案1】:

图像cache 必须进入cache 目录。备份中不应包含缓存,因为您可以轻松地重新创建这些图像。

如果 sqlite 文件存储用户数据,则应将其放入文档目录。它必须包含在设备备份中,因为您无法重新创建它,并且当用户从备份中恢复他的设备时,他会丢失所有数据。

如果 sqlite 文件是从 Web 下载的,并且用户从未更改过它,则也将其放入缓存目录中。在 ios 5.0.1 及更高版本上,您可以将该文件放入文档目录并设置"Do not backup"-Attribute。但是,在 iOS 5.0 或更早版本的设备上,您必须将该文件放在缓存目录中。

NSString *cacheDirectory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

【讨论】:

谢谢你告诉我这个目录的路径。互联网上的每一页都只是告诉我把它放在缓存目录中,而没有告诉我它到底在哪里。所以谢谢你,你很体贴!【参考方案2】:

关注的领域是iOS 5.0,它支持iCloud,但不识别“不备份”属性。在这种情况下,文档目录中的应用程序的所有数据很可能会备份到 iCloud。对于 5.x 以下的 iOS 版本:

the iCloud backup is not valid.
the "do not back up" flag is not relevent. It would not produce any warnings during compilation.

因此,可以将数据保存在文档目录中,并在所有版本的内容(文件/文件夹)中适当添加“不备份”标志。问题仅限于 5.0 版。

【讨论】:

【参考方案3】:

如果您的应用程序中有很多图像。然后在任何图像存储站点中使用图像并使用图像链接。它对你更好。

【讨论】:

以上是关于创建 sqlite 文件的合适位置是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Sqlit--学习教程(简介)

Sqlite安装教程

Android SQLit数据库学习

Sqlit--学习教程(命令)

python连接sqlite3出错

sqlite3.dll是啥程序?他在电脑硬盘里面哪个位置的