我希望开发一款仅使用离线数据库的安卓英语词典应用程序。这意味着它不需要像WordWeb或类似的在线词典一样重定向到在线服务。有人知道我该如何存储单词吗?我在考虑使用SQLite,因为它是移动端常用的数据库。但如果这里有人已经完成了或正在做我想做的事情,能否给我一些专家建议?
我从 developer.android.com使用了这段代码。希望它也能帮助你。
编辑:此页面不再可用,但示例本身可在Github上此处找到。
我已经对我的字典做了这个:
https://play.google.com/store/apps/developer?id=e-Biene%20DEV&hl=en
你可以将你的简单数据库转换为SQLite格式(从模拟器中提取),然后将这个转换后的SQLite数据库附加到你的应用程序中进行离线使用。这样可以快速高效地进行搜索。我会选择使用SQLite,在Android上这可能是最简单和直接的方法。当然,这种解决方案的复杂性取决于您的确切需求。如果您只需要一个非常简单的字典,那么您可以使用基本查询的简单数据库模式。
另一件事情是Trie数据结构,您可能想要了解一下:http://en.wikipedia.org/wiki/Trie#Dictionary_representation。但是,使用这种方法可能不值得麻烦,我猜测SQLite解决方案的性能已经足够满足您的需求。
试试谷歌API示例,我知道它们有一个词典应用程序。我很确定它也是离线的。我不得不构建一个带有离线缓存的东西,我使用了JAVA优秀的XML解析器将东西加载到SQLite数据库中。当用户有互联网连接时,它会下载新的XML并使用它来更新数据库。您可以将任何类型的文件与应用程序一起存储。
http://developer.android.com/tools/samples/index.html 我说的示例称为可搜索字典。
你的主要问题是指定存储字典的必要内容。
Android 提供了许多存储数据的方式,例如:
你还可以创建一个静态数据库并将其存储在assets
文件夹中,如this帖子所述。
此外,你还可以从android-samples
中查找可搜索的字典,这是实现应用程序搜索的良好示例,并介绍了一些存储数据的技术。