0

I would like to use SQLiteStatement in my ContentProvider instead of the rawQuery or one of the other standard methods. I think using SQLiteStatement would give a more natural, native, efficient and less error prone approach to doing queries.

The problem is that I don't see a way to generate and return a Cursor. I realize I can use "call" and return a Bundle, but that approach requires that I cache and return all selected rows at the same time - this could be huge.

I will start looking at Android source code - I presume that "query" ultimately uses SQLiteStatement and somehow generates a Cursor. However, if anyone has any pointers or knowledge of this, I would greatly appreciate your sharing.

4

1 に答える 1

2

rawQueryまたは他の標準メソッドの代わりにContentProviderでSQLiteStatementを使用したいと思います。SQLiteStatementを使用すると、クエリを実行するための、より自然で、ネイティブで、効率的で、エラーが発生しにくいアプローチが得られると思います。

のドキュメントを引用するSQLiteStatement

ステートメントは複数の行または列を返すことはできませんが、単一の値(1 x 1)の結果セットがサポートされています。

ContentProviderなぜあなたが単一行、単一列の結果を気にするのかわかりませんが、ねえ、それはあなたのアプリです...

問題は、カーソルを生成して返す方法がわからないことです。

を作成MatrixCursorし、単一の結果を入力します。

于 2012-09-09T14:24:45.293 に答える