0

LIMIT 句を使用して CalendcarContract.Instances をクエリするにはどうすればよいですか?

「n」行の制限について、特定の開始日からクエリを実行したいと思います。

私が試したことは次のとおりです。

final Uri uri = Uri.parse(CalendarContract.Instances.CONTENT_URI + "/" + 
                          Long.toString(startDate) + "/" + 
                          Long.MAX_VALUE);

final String sortOrder = Instances.BEGIN;

String selection = " limit " + rows;

Cursor cursor = context.getContentResolver().query (
  uri,
  projection, 
  selection,
  null,
  sortOrder);

これにより、ログ ファイルに報告されるエラーが生成されます。

...while compiling: SELECT Instances._id...WHERE (begin<=? AND end>=? AND (limit 1)...

エラーは前の「AND」(制限1)だと思います。私ではなく、サービスがそれを追加しています。それで、私が使用できる別のURIまたは別の手法はありますか?

注意: 特に、単一のイベントと定期的なイベントを結合するインスタンス バージョンが必要です。

ありがとう。

4

1 に答える 1

0

わかりました、より良い答えがない限り気にしないでください。

これはより一般的な URI の問題であり、特に CalendarContract とは関係がないことに気付きました。他の結果を検索する際に、並べ替え句に LIMIT n を追加するという提案が 1 つ見つかりました。

final String sortOrder = Instances.BEGIN + " limit " + 10;

コンテンツプロバイダーを使用して制限条項を追加する方法へのクレジット

于 2014-12-10T23:01:40.507 に答える