1

sqlite3 fts3 仮想テーブルを使用して Android 辞書アプリを作成しました。次のように、fts3 スニペット機能を使用して検索を実行できるようにしたいと考えています。

SELECT スニペット (my_dictionary) FROM my_dictionary WHERE my_dictionary MATCH query_string;

Android で sqlite3 を使用してこのような検索を実行することはできません。カーソルで sqlite を渡している列の数に関するエラー メッセージが表示されます。rawQuery を使用してこの検索を実行しようとしました。つまり、クエリを明示的に書き出しました。また、カーソル クエリの「String[] columns」変数を「snippet(my_dictionary)」に割り当てます。

だから私の質問は次のとおりです:アンドロイドのsqliteカーソルには、正しく実行するためのすべての列が含まれている必要があります(答えは「はい」であると確信しています)? Androidで正しく動作するようにfts3 snippet()検索を取得した人はいますか? もしそうなら、一体どうやってそれをするのですか?

このややあいまいな質問にご協力いただきありがとうございます。

4

1 に答える 1

0

更新 -- わかりました。これで動作するようになりました。エラーの直接の原因は、リストビュー アダプターへの出口でカーソルの内容を操作/フォーマットするコードを変更していなかったことです。いくつかの列を期待していたのに、私は 1 つの列を送信していました。当たり前。

したがって、誰かが実際に疑問に思っている場合に備えて、実際にはfts3スニペット関数を android sqlite で使用できます。はい、標準の sqlite3 構文は問題なく機能します。実際に検索結果の表示に役立つかどうかは別問題です。

于 2013-04-12T16:13:26.227 に答える