Pytam tabelę zdarzeń w systemie Android, aby uzyskać zdarzenia.Jak zapytać o wydarzenia z kalendarza na Androida w określonym zakresie dat?
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);
Powoduje zwrócenie wszystkich zdarzeń. Ale teraz chcę wydarzeń tylko w określonym czasie, powiedzmy od 4/03/2013 do 7/03/2013. Jak korzystać z selection
i selectionArgs[]
? Próbowałem tego
String selection = "((dtstart <= ?) AND (dtend >= ?))";
String[] selectionArgs = new String[] {startString, endString};
Ale nie zwracając niczego. Moje wątpliwości to 1. Czy klauzula będzie działać? Ponieważ, startDate i endDate są najpierw konwertowane na długie (milisekundy), a następnie na String, a następnie są przechowywane w tabeli. W jaki sposób można porównywać łańcuchy znaków dla ich długich wartości. W sqlite nie ma funkcji toNumber()
. 2. Jeśli przechodzę pod numer selectionArgs
, to czy w jakim formacie powinien być startString
i endString
?
check: http://stackoverflow.com/questions/26844770/how-to- Uzyskaj dostęp do kalendarzy na telefonie z Androidem –