【发布时间】:2012-03-14 20:46:24
【问题描述】:
我正在尝试在 Android 上创建一个字典应用程序。我有一个包含 80000 篇文章的数据库。当用户在EditText 中输入单词时,我想在 ListView 中显示建议,为此我使用以下代码:
public Cursor query(String entry){
String[] columns = new String[]{"_id", "word"};
String[] selectionArgs = new String[]{entry + "%"};
return mDB.query("word", columns, "word LIKE ?", selectionArgs, null, null, null);
}
我使用 SimpleCursorAdapter 作为 ListView。
问题是建议出现得很晚。我认为原因是 SQL 中的LIKE。我不知道有任何其他方法可以做到这一点。我能做些什么来提高获得建议的性能吗?
【问题讨论】:
-
您应该有一个单独的表格,其中包含每篇文章的关键字,并在那里进行搜索。否则无济于事。
-
@coderdem 计划提出多少建议?它会是一种简单的自动完成功能吗?还是真的打算在 suggestions 结果列表中显示数以千计的搜索结果?如果不是后者,为什么不使用 limit?
-
@SergeyBenner 单词字段的大小在 5 到 150 个字符之间。
-
@Zortkun 我想展示所有可能的建议。用户应该能够向下滚动 ListView 并查看所有可能的单词。
标签: android sqlite listview search