我目前正在开发一个Android应用程序,这是一个词典,我在这里用维基词典在线获取含义:{http://en.wiktionary.org/w/api.php?action=query&prop=revisions&titles=overflow&rvprop=content&format=jsonfm
但我想离线下载维基词典数据库并将其嵌入我的Android应用程序中。
以下是维基数据库下载页面:
1. Wiktionary
2. Wikimedia Downloads
根据我的研究,我发现维基词典离线数据库是XML和SQL。但是这些文件太大了。嵌入这些文件会使APK大小庞大。
那么有什么解决方案可以轻松地将其嵌入我的应用程序中吗?
答案 0 :(得分:3)
我建议实现在线API访问,因此可以下载和使用小应用程序,并在某处下载离线部分的按钮。还要检查网络连接,如果它不是wi-fi,则警告用户,以免下载100 MB字典时滥用移动数据计划。
答案 1 :(得分:2)
开发人员[ English Dictionary - Offline ]声称他们正在使用维基词典。我仍然 想知道他们在哪里获得了一个维基词典文件> 22 MB
我收入不足以告诉你......(笑话)。你需要从XML文件中提取字典条目,一旦你得到那些,那么最终的内容(文本)文件就会变小。
或者......
您可以尝试 TSV file (图片提供: semisignal.com ),这是2012年11月定义的快照。这包含您的最终用户检查英语所需的大多数单词。 TSV 54MB ,并且像文本文件一样处理。
尝试定义: brushable - TSV具有以下内容:(与维基词典的 Brushable 条目相比较)。
英语brushable形容词#能够[[刷]]
控制
英语brushable形容词#能够被[[brushing]]
提示:为了减少文件大小,您可以删除起始的“英语”,因为您已经知道它的所有英文定义。每个修剪将节省7个字节(乘以总定义)。
在“英语”(使用该空格)上使用String.replace
清除它。
还用您的短代码替换“形容词”“动词”“名词” 应用程序知道其含义并在用户中显示条目类型 接口。代码可以 1 ,意味着列表条目为 形容词 。
您剪裁的文本文件可能如下所示。每个double fullstop仅表示“下一部分条目”,因此基本上 entry
.. type
.. definition
其中<xyz>
是指向字典中其他条目的链接。对于那一行,54字节的TSV条目现在变为35字节。
brushable..1..Able to be <brushed>.
保存最终编辑(缩小)的文本文件。将其嵌入您的APK。