因此,我必须在应用程序中保存大量数据(简单字符串)以用于自动完成目的。它基本上是所有英国邮政编码的列表。
由于有数百万种不同的代码,我想知道做这些事情的最佳方法是什么。将它们放在一个简单的数组中是非常愚蠢的(而且确实不切实际)。
如何最好地解决这个问题?
因此,我必须在应用程序中保存大量数据(简单字符串)以用于自动完成目的。它基本上是所有英国邮政编码的列表。
由于有数百万种不同的代码,我想知道做这些事情的最佳方法是什么。将它们放在一个简单的数组中是非常愚蠢的(而且确实不切实际)。
如何最好地解决这个问题?
只需将您的数据放入SqLite Database
并将数据库存储在Project:Asset
文件夹中,然后从该文件夹中检索数据
可能是它的简单方法。
因为如果您将数据存储在首选项中,那么您的应用在安装时将占用更多空间。
霍夫曼代码是压缩数据的一种选择: http ://en.wikipedia.org/wiki/Huffman_coding
看看这里的具体实现: http ://rosettacode.org/wiki/Huffman_coding
然后,您可以按照此处的建议将树存储在物理中: Efficient way of storage Huffman tree
如果您尚未阅读有关 Android 存储选项的文档,请从这里开始。通常,对于如此大的数据集,数据库将是最节省时间和空间的。