我有一个内容问题:我正在编写一个显示城市代码的应用。这是很多数据(大约8MB的文本)。我在一个sqlite3 db文件中得到它。我无法将数据放在网上供应用程序检索。我需要随应用程序发货。
在阅读如何运送这个怪物时,我发现了3种方法:
问题:
答案 0 :(得分:1)
在提议的三个选项中,我认为#2是你最好的选择。它与最终结果中的#1没有什么不同,并且可以实现更简单的部署。 (无需尝试即时创建数据库。)它也将比选项#3更高效,因为索引将由数据库调度和管理。如果你选择#3并尝试匹配#2的性能,你将不得不创建自己的索引,这将需要大量复杂的编码,你的内存使用量最终会大于选项(如果不是更大) #2。
另一种选择是将数据库放在Web服务之后,只运送访问它的应用程序。除了在设备上实现更小的内存占用之外,它还允许更容易地更新数据。例如。每当数据发生变化时,您都不必推送更新。
另一个想法:您是否进行了研究,以确定此数据集是否可通过公共/政府网络服务免费获取? Take a look here
答案 1 :(得分:1)
您还可以发送数据库的压缩版本,然后将其解压缩到SD卡。有些应用甚至使用两个应用程序 - 一个用于应用程序,一个用于数据。这样,内部存储空间不会被数据占用。 “data-app”只是将数据提取到SD卡,并且可以在完成任务后卸载。
有很多应用程序使用大型数据库。我觉得你应该没问题。
不知道
答案 2 :(得分:0)
嗨拉普尔可能为时已晚,但这对其他人有帮助。我自己的境界是最好的选择。
Realm是一个移动数据库,是SQLite的替代品。虽然是OO数据库,但它与其他数据库存在一些差异。 Realm没有使用SQLite作为它的引擎。相反,它拥有自己的C ++核心,旨在提供SQLite的移动优先替代方案。领域通过C ++核心以通用的基于表格的格式存储数据。这使得Realm允许从多种语言访问数据以及一系列即席查询
优势: