0

ユーザーが部分的な単語文字列を検索ボックスに入力すると、検索ボックスの下に表示されるカスタム検索候補を自動的に表示する機能を使用して、アプリケーションにデータ検索を実装しています。ユーザーは候補の 1 つをクリックすると、選択した検索項目に対して別のアクティビティが実行されます。アクション バーの一部として標準の検索ビュー ウィジェットを使用しています。

要件は、" LIKE ('%" + search_string + "%')" 句を含む標準の SQLite クエリを使用して検索候補を入力することです。私は、優れた Searchable Dictionary のソース コードの例を含む、Android Developers の検索手順を調べました。ただし、使用可能なすべての例と手順は、コンテンツ プロバイダーを使用してテキスト ファイルからデータを抽出し、次に SQLite FTS3 拡張機能を使用して "Match ?" コマンドを実行する方法を示しています。(ワード) タイプのクエリ。前述のように、このタイプのクエリは、検索されたデータ セット内の任意の部分文字列を検索できないため、適切ではありません。

上記の検索要件を達成する方法の簡単なコード例に興味があります。サンプルソースコードへの提案やリンクは大歓迎です。

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 に答える