Sto interrogando la tabella degli eventi in Android per ottenere eventi.Come eseguire query sugli eventi di calendario Android per un intervallo di date specifico?
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);
Restituisce tutti gli eventi. Ma ora voglio eventi solo in una durata specifica del 4/03/2013 al 7/03/2013. Come utilizzare selection
e selectionArgs[]
? Ho provato questo
String selection = "((dtstart <= ?) AND (dtend >= ?))";
String[] selectionArgs = new String[] {startString, endString};
Ma la sua non tornare nulla. I miei dubbi sono 1. La clausola dove funziona? Perché startDate e endDate vengono prima convertiti in long (millisecondi) e quindi in String e quindi vengono memorizzati nella tabella. Quindi, come possono essere confrontate le stringhe per i loro lunghi valori. Non esiste la funzione toNumber()
in sqlite. 2. Se sto passando selectionArgs
allora startString
e endString
dovrebbe essere in quale formato?
controllo: http://stackoverflow.com/questions/26844770/how-to- get-access-to-the-calendars-on-a-android-phone –