【问题标题】:Spelling checker in java for Android用于 Android 的 Java 中的拼写检查器
【发布时间】:2014-07-30 10:47:18
【问题描述】:

我有一本大约 40,000 字的字典。在过去,我将它用作我读过的文本文件并用它来检查用户单词的拼写。但是,我想从一个类而不是文本文件中读取它,所以我不必请求许可。如果可能的话,我希望所有单词都成为一个 java 类中的数组(或列表)的元素。但是,我得到一个超出限制的错误。我不明白的是,如果我从文件中读取所有单词并将它们存储在一个数组中(就像我在其他用于台式计算机的 Java 程序中所做的那样),为什么我不会收到该错误。这是同一组词。 我意识到我不是在发布实际代码,而是以“ma”、“macabre”、“macaroni”、“mace”、“maced”、“maces”、“machete”等形式粘贴数千个单词。很没有意义。 我不想使用别人的单词表,因为我的目标是年幼的孩子,而我的列表中删除了“四个字母单词”等。 任何想法将不胜感激。

【问题讨论】:

  • 那是很多代码.. 在不使用文件或服务器的情况下将每个单词添加到数组中
  • 您能否详细解释一下“超出限制错误”?
  • 构造函数 MyDictionary2() 的代码超出了 65535 字节的限制——这是我将字典拆分为较小部分时的错误。如果它在更大的部分,我会得到一个超出恒定的错误。它只能被读取,因为我希望它成为类的一部分,而不是被读入的文件。
  • 除了需要权限外,您还有什么不想使用文件的原因?因为您可以将其作为资源存储在 res/raw 中,并且不需要任何权限。
  • 没有问题。如果有帮助,这里有更多信息 adding resources 和 accessing resources

标签: java android spelling


【解决方案1】:

尝试使用SQLite 及其内置的拼写检查搜索功能。正如here 所述,您不需要任何特殊权限即可使用数据库。

【讨论】:

    【解决方案2】:

    如果唯一的问题是权限,您应该考虑将文件作为资源存储在res/raw 目录中。这不需要任何权限,尽管这意味着该文件将是只读的。

    Android 文档中有更多关于providing resources 和accessing resources 的信息。

    【讨论】:

      猜你喜欢
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 2013-11-22
      • 2012-05-30
      • 2011-01-20
      相关资源
      最近更新 更多