我有一个字典数据库,它总共包含 99,833 个单词,但每个字母分开。我正在测试包含 3922 个单词的 dictionaryA.txt。
情况1:
当我输入一个我想查找的单词时,让我们说“算盘”,使用缓冲阅读器,我的应用程序说“论文没有响应。等待 - 退出”。如果我选择等待,它将返回单词 abacus 及其定义。
代码:
InputStream inputStream = getResources().openRawResource(R.raw.definitiona);
try {
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String s = in.readLine();
String delimiter = " - ";
String del[];
while(s != null)
{
s = in.readLine().replaceAll("\\s+", " ");
del = s.split(delimiter);
if (enhancedStem.equals(del[0]))
{
in.close();
databaseOutput.setText(s);
break;
}
}
in.close();
}
catch (FileNotFoundException e) {
databaseOutput.setText("" + e);
}
catch (IOException e1) {
databaseOutput.setText("" + e1);
}
案例二:
当我输入一个我想查找的单词时,让我们说“算盘”,使用 strings.xml(我将整个 3922 个单词转移到一个字符串数组中),它说的也是一样的。我必须在它响应之前单击等待。
代码:
String[] wordA = getResources().getStringArray(R.array.DictionaryA);
String delimiter = " - ";
String[] del;
for (int wordActr = 0; wordActr <= wordA.length - 1; wordActr++)
{
String wordString = wordA[wordActr].toString();
del = wordString.split(delimiter);
if (enhancedStem.equals(del[0]))
{
databaseOutput.setText(wordA[wordActr]);
break;
}
else
databaseOutput.setText("Word not found!");
}
你能告诉我哪个更好吗?我应该继续使用我的文本文件吗?或者将它们转移到strings.xml,因为它们都响应缓慢?您知道如何消除“无响应”问题吗?提前致谢!