android字典应用程序与脱机数据库

时间:2012-09-11 12:36:27

标签: android sqlite database

我想开发一个只使用离线数据库的android英文字典应用程序。通过这种方式,我的意思是说它不必被重定向到像WordWeb之类的在线词典。有人知道我该怎么做来存储我的话吗?我正在考虑使用SQLite,因为它是移动的。但如果这里的任何人已经做了或做了我想做的事情,你能给我一些专家建议吗?

6 个答案:

答案 0 :(得分:5)

http://developer.android.com/resources/samples/SearchableDictionary/src/com/example/android/searchabledict/DictionaryDatabase.html

我使用了developer.android.com中的这段代码。 希望它也能帮到你。

编辑:此页面不再可用,但示例本身位于Github上here.

答案 1 :(得分:1)

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

想到的另一件事是Trie数据结构,您可能需要查看:http://en.wikipedia.org/wiki/Trie#Dictionary_representation。但是使用它可能不值得为此解决这个问题,我猜想SQLite解决方案的性能足以满足您的需求。

答案 2 :(得分:1)

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

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

您可以转换为简单数据库, tblLanguage1 [字,翻译] tblLanguage2 [字,翻译]

to(SQLite格式[从模拟器中提取],然后将此转换的SQLite数据库与您的应用程序脱机附加)。

搜索速度快,速度快。

和使用:在模拟器中创建的DB具有以下结构: 表:

lang1_Content lang1_segments lang1_segdir

使用此而不是简单。

答案 3 :(得分:0)

尝试Google API示例,我知道他们有一个词典应用程序。我很确定它也离线了。我不得不使用脱机缓存构建一些东西,我使用JAVA优秀的XML解析器将东西加载到SQLite数据库中。当用户具有Internet连接时,它将下载新的XML并使用它来更新数据库。但是,您可以在应用程序中存储任何类型的文件。

http://developer.android.com/tools/samples/index.html 我正在谈论的样本叫做Searchable Dictionary。

答案 4 :(得分:0)

您的主要问题是指定存储词典的必要条件。

Android提供了很多方法来存储您的数据,例如:

  • SharedPreferences
  • 文件保存在设备的internal storageexternal storage
  • SQLite database
  • 您还可以创建一个静态数据库,并将其存储在assets文件夹中,如this post所述。

    您也可以从android-samples查看可搜索词典,这是实现搜索应用程序的一个很好的示例,并且还介绍了一些存储数据的技术。

    答案 5 :(得分:0)

    最好的方法是 - 将您的数据保存在json文件中,并将其保存在网络上,或者您也可以在googledrive或Dropbox上将其上传并公开,之后用户将首次打开该应用,下载json文件并将数据从json插入到sql lite db中。这样你就可以使用sql lite来获取离线数据了。