6

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

4

6 回答 6

6

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

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

编辑:此页面不再可用,但示例本身在 Github 上

于 2012-09-11T12:53:23.163 回答
1

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

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

于 2012-09-11T12:46:50.173 回答
1

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

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

您可以转换为您的简单数据库 tblLanguage1[word, translation] tblLanguage2[word, translation]

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

这将是快速和快速的搜索。

和使用:在模拟器中创建的数据库,其结构如下:表:

lang1_Content lang1_segments lang1_segdir

使用这个而不是简单的。

于 2015-10-31T11:07:11.207 回答
0

试试 Google API 示例,我知道他们有一个 Dictionary 应用程序。我很确定它也离线了。我必须使用离线缓存构建一些东西,我使用 JAVA 出色的 XML 解析器将东西加载到 SQLite 数据库中。当用户有互联网连接时,它会下载一个新的 XML 并使用它来更新数据库。但是,您可以在应用程序中存储任何类型的文件。

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

于 2012-09-11T12:48:53.923 回答
0

您的主要问题是指定将存储您的字典的要素。

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

  • 共享首选项
  • 保存在设备内部存储外部存储中的文件
  • SQLite 数据库
  • 您还可以创建一个静态数据库并将其存储在您的assets文件夹中,如本文所述。

    您还可以检查 Searchable Dictionary ,android-samples这是实现应用搜索的一个很好的示例,并且还描述了一些存储数据的技术。

    于 2012-09-11T12:51:41.890 回答
    0

    最好的方法是 - 将您的数据保存在 json 文件中的文件中并将其保存在网络上,或者您也可以将其上传到 googledrive 或 Dropbox 并公开,然后当用户第一次打开应用程序时,下载json 文件并将 json 中的数据插入 sql lite db。这样您就可以将 sql lite 用于离线数据。

    于 2016-12-17T04:16:17.723 回答