私はイベントを取得するためにアンドロイドのイベントテーブルを照会しています。特定の期間のアンドロイドカレンダーイベントを照会するにはどうすればよいですか?
String[] projection = new String[] { "calendar_id", "title", "description",
"dtstart", "dtend", "eventLocation" };
Cursor cursor = cr.query(Uri.parse("content://com.android.calendar/events"),
projection,
null,
null,
null);
これはすべてのイベントを返します。しかし今、私は特定の期間内にのみ、2013年4月3日から2013年7月3日までのイベントを望みます。 selection
とselectionArgs[]
を使用するにはどうすればよいですか? 私はこの
String selection = "((dtstart <= ?) AND (dtend >= ?))";
String[] selectionArgs = new String[] {startString, endString};
しかし、その戻っていない何かを試してみました。私の疑問は です。1. where句は動作しますか?なぜなら、startDateとendDateは最初にlong(ミリ秒)に変換され、Stringに変換されてテーブルに格納されるからです。文字列の長さを比較する方法sqliteにはtoNumber()
関数はありません。 2. selectionArgs
を渡す場合は、startString
とendString
の形式にする必要がありますか?
チェック:http://stackoverflow.com/questions/26844770/how-to-カレンダーにアクセスして、アンドロイド携帯電話 –