【问题标题】:Android How to add search suggestions using "like ?" SQLite queryAndroid 如何使用“喜欢”添加搜索建议? SQLite 查询
【发布时间】:2013-08-26 02:17:22
【问题描述】:

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

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

我会对如何实现上述搜索要求的简单代码示例感兴趣。 任何对示例源代码的建议或链接都​​将受到高度赞赏。

【问题讨论】:

    标签: android sqlite search


    【解决方案1】:
    String[]  Args= {"%"+selectionArgs[0]+"%"}; 
        Cursor c = qb.query(database, projection, selection, Args,
                null, null, sortOrder);
    

    【讨论】:

    【解决方案2】:

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

    这个查询在android中使用sqlite数据库

    【讨论】:

      【解决方案3】:

      您可以如下实现“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
          }
      

      希望这会指导你。

      【讨论】:

      • 上面的“like”查询对于测试很有用。但是,我的主要问题是如何在 Search Content Provider 中使用“like”类型的搜索(而不是“match”)。最后,我使用了 [wptrafficanalyzer.in/blog/… 此处找到的出色且完整的源代码示例,并辅以 Android 开发人员“可搜索字典”代码示例。
      猜你喜欢
      • 1970-01-01
      • 2012-09-18
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 2017-10-25
      相关资源
      最近更新 更多