【问题标题】:How to store a large number of words (to be accessed by an android app)?如何存储大量单词(由android应用程序访问)?
【发布时间】:2013-03-28 14:06:09
【问题描述】:

我有一个单词列表(按字母顺序排列的 112,000 个)有一个单词定义。定义有时不止一个,格式如下:

字:定义1|定义2|...

单词的最大定义数为 8

我需要一种方法将它们存储在一个文件中(或者更多也可以),这样它们就可以被安卓应用程序访问。一次只能访问一个单词。此列表永远不会改变。

考虑到SQLite,如何将大数据插入数据库?

考虑到 RandomAccessFile,我将如何为这些词创建索引?

还有其他方法吗? 谢谢。

【问题讨论】:

    标签: android database file-io dictionary indexing


    【解决方案1】:

    我建议您使用 SQLite,因为它可以在需要时轻松获取数据,并且从特定位置获取/日期/更新数据也很容易。

    另一个好处是您也可以使用 GUI 工具准备 SQLite 数据库。

    现在按照以下步骤使用现有的 SQLite 数据库,意味着您将准备好包含单词数据的数据库:

    1. 准备 SQLite 数据库,就像我们在 .NET 中一样,在这里你可以使用最好的工具之一 SQLite Manager 来准备它,你可以将它作为工具/插件下载到里面Mozilla Firefox。

    2. 完成数据库后,只需将其粘贴到 assets 文件夹中即可。

    3. 现在编写代码将数据库从assets 文件夹复制到我们的应用程序中。网络上有很多相同的示例。

    【讨论】:

    • 这太棒了。我不熟悉.NET。您能解释一下如何用文本文件中的数据填充数据库吗?简单地说,我会谷歌它。
    • 在 Excel 中使用 vb 脚本并将数据导入 SQLite。谢谢!
    • @ArjunU 如果它真的对你有帮助,那么你应该投赞成票。
    • 目前还不能这样做。我的声望太低了。
    【解决方案2】:

    使用 sqlite DB,存储 112,000 或更多对于 sqlite 来说根本不是问题。 您可以使用您的数据库架构,如下所示:

    对于每个单词,可以有多个 wordId -> meaningId 条目。

    对于预存储数据,您可以使用我在我的博客中提供的教程:Using Pre-populated sqlite database in android

    【讨论】:

    • 是的,但我的问题是如何使用 112K 单词预先填充数据库。
    • 刚刚编辑了我的答案,请在您的问题中写一些内容,例如:如何预填充我的数据库。
    猜你喜欢
    • 2019-01-22
    • 2012-06-04
    • 1970-01-01
    • 2019-12-09
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    相关资源
    最近更新 更多