0

我正在我的应用程序中实现数据搜索,能够自动显示自定义搜索建议,当用户在搜索框中键入部分单词字符串时,该建议将显示在搜索框下方。然后,用户将能够单击其中一个建议,这将为选定的搜索项运行另一个活动。我正在使用标准的 searchview 小部件作为操作栏的一部分。

要求是使用带有“LIKE ('%" + search_string + "%')" 子句的标准 SQLite 查询填充搜索建议。我研究了 Android Developers 搜索指令,包括优秀的 Searchable Dictionary 源代码示例。但是,所有可用的示例和说明都显示了如何从文本文件中提取数据,使用内容提供程序,然后使用 SQLite FTS3 扩展,运行“匹配?” (word) 类型查询。如上所述,这种类型的查询不适合,因为它不允许在搜索到的数据集中的任何地方搜索部分字符串。

我会对如何实现上述搜索要求的简单代码示例感兴趣。对示例源代码的任何建议或链接将不胜感激。

4

3 回答 3

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
    }

希望这会指导你。

于 2013-08-23T06:20:33.043 回答
0

请使用此查询:SELECT * FROM ConditionType where NAME like '%s%'

此查询在使用 sqlite 数据库的 android 中使用

于 2013-08-23T06:21:41.000 回答
-1
String[]  Args= {"%"+selectionArgs[0]+"%"}; 
    Cursor c = qb.query(database, projection, selection, Args,
            null, null, sortOrder);
于 2015-02-26T07:22:22.603 回答