我想开发一个只使用离线数据库的android英文字典应用程序。通过这种方式,我的意思是说它不必被重定向到像WordWeb之类的在线词典。有人知道我该怎么做来存储我的话吗?我正在考虑使用SQLite,因为它是移动的。但如果这里的任何人已经做了或做了我想做的事情,你能给我一些专家建议吗?
答案 0 :(得分:5)
我使用了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提供了很多方法来存储您的数据,例如:
您还可以创建一个静态数据库,并将其存储在assets
文件夹中,如this post所述。
您也可以从android-samples
查看可搜索词典,这是实现搜索应用程序的一个很好的示例,并且还介绍了一些存储数据的技术。
答案 5 :(得分:0)
最好的方法是 - 将您的数据保存在json文件中,并将其保存在网络上,或者您也可以在googledrive或Dropbox上将其上传并公开,之后用户将首次打开该应用,下载json文件并将数据从json插入到sql lite db中。这样你就可以使用sql lite来获取离线数据了。