我正在我的应用程序中实现数据搜索,当用户在搜索框中键入部分单词字符串时,能够自动显示自定义搜索建议,这些建议将显示在搜索框下方。 然后,用户可以单击其中一个建议,这将为所选搜索项运行另一个活动。 我使用标准的searchview小部件作为Action Bar的一部分。
要求是使用带有“LIKE('%”+ search_string +“%')”子句的标准SQLite查询来填充搜索建议。 我研究了Android开发者搜索指令,包括优秀的Searchable Dictionary源代码示例。 但是,所有可用的示例和说明都显示了如何使用内容提供程序从文本文件中提取数据,然后使用SQLite FTS3扩展来运行“匹配?” (字)类型查询。 如上所述,这种类型的查询不适合,因为它不允许在搜索的数据集内的任何地方搜索部分字符串。
我会对如何实现上述搜索要求的简单代码示例感兴趣。 任何有关示例源代码的建议或链接都将受到高度赞赏。
答案 0 :(得分:2)
您可以实现“LIKE”查询,如下所示;
dbh = new DbHelper(this); SQLiteDatabase db = dbh.getWritableDatabase(); Cursor c = db.query("TableName", new String[]{"ColumnName"} , "ColumnName LIKE ?" ,new String[]{"%"+ filter+ "%" }, null, null, null); while(c.moveToNext()) { // your calculation goes here }
希望这会指导你。
答案 1 :(得分:0)
请使用此查询: SELECT * FROM ConditionType,其中NAME如'%s%'
此查询在android中使用sqlite数据库
答案 2 :(得分:-1)
String[] Args= {"%"+selectionArgs[0]+"%"};
Cursor c = qb.query(database, projection, selection, Args,
null, null, sortOrder);