安卓离线词典应用程序

6

我希望开发一款仅使用离线数据库的安卓英语词典应用程序。这意味着它不需要像WordWeb或类似的在线词典一样重定向到在线服务。有人知道我该如何存储单词吗?我在考虑使用SQLite,因为它是移动端常用的数据库。但如果这里有人已经完成了或正在做我想做的事情,能否给我一些专家建议?

6个回答

6

这个样本不可用。你有它的副本吗?感谢你的帮助。 - Channa
抱歉 @Chann,从未想过这可能会被从存储库中删除。 - Syamantak Basu
3
在Git中找到了它。谢谢回复。https://github.com/android/platform_development/tree/master/samples/SearchableDictionary - Channa
有更新版本吗?它的更新已经是4到6年前了。 - shareef

1

我已经对我的字典做了这个:

https://play.google.com/store/apps/developer?id=e-Biene%20DEV&hl=en

你可以将你的简单数据库转换为SQLite格式(从模拟器中提取),然后将这个转换后的SQLite数据库附加到你的应用程序中进行离线使用。这样可以快速高效地进行搜索。
在模拟器中创建的数据库结构如下:
表: - lang1_Content - lang1_segments - lang1_segdir 请使用这个数据库代替原来的简单数据库。

请提供源代码的链接。 - Wally

1

我会选择使用SQLite,在Android上这可能是最简单和直接的方法。当然,这种解决方案的复杂性取决于您的确切需求。如果您只需要一个非常简单的字典,那么您可以使用基本查询的简单数据库模式。

另一件事情是Trie数据结构,您可能想要了解一下:http://en.wikipedia.org/wiki/Trie#Dictionary_representation。但是,使用这种方法可能不值得麻烦,我猜测SQLite解决方案的性能已经足够满足您的需求。


0
最好的方法是将数据保存在文件中,比如json文件,并将其放在网络上,或者您也可以将其上传到Google Drive或Dropbox并使其公开。然后,当用户第一次打开应用程序时,下载json文件并将数据从json插入到SQLite数据库中。这样,您就可以使用SQLite进行离线数据处理。

0

试试谷歌API示例,我知道它们有一个词典应用程序。我很确定它也是离线的。我不得不构建一个带有离线缓存的东西,我使用了JAVA优秀的XML解析器将东西加载到SQLite数据库中。当用户有互联网连接时,它会下载新的XML并使用它来更新数据库。您可以将任何类型的文件与应用程序一起存储。

http://developer.android.com/tools/samples/index.html 我说的示例称为可搜索字典。


0

你的主要问题是指定存储字典的必要内容。

Android 提供了许多存储数据的方式,例如:

  • SharedPreferences
  • 保存在设备的内部存储外部存储中的文件
  • SQLite 数据库
  • 你还可以创建一个静态数据库并将其存储在assets文件夹中,如this帖子所述。

    此外,你还可以从android-samples中查找可搜索的字典,这是实现应用程序搜索的良好示例,并介绍了一些存储数据的技术。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接