¿Cómo consultar eventos de calendario de android para un intervalo de fechas específico?
Estoy consultando la tabla de eventos en android para obtener eventos.
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);
Esto devuelve todos los eventos. Pero ahora quiero eventos sólo en duración específica decir 4/03/2013 a 7/03/2013. ¿Cómo utilizo selection
y selectionArgs[]
? Lo intenté
- En las preferencias, selecciona mi sonido como con RingtonePreference
- La vista de lista de Android ya no resalta la selección onclick
- Android ListView resaltar varios elementos
- Casilla de verificación parcialmente activada en Android?
- Excepción extraña: no se puede emitir cadena a booleano cuando se utiliza getBoolean
String selection = "((dtstart <= ?) AND (dtend >= ?))"; String[] selectionArgs = new String[] {startString, endString};
Pero no devolver nada. Mi duda es 1. ¿Dónde trabajará la cláusula? Debido a que startDate y endDate se convierten primero en long (milisegundos) y luego en String y luego se almacenan en la tabla. Entonces, ¿cómo se pueden comparar las cuerdas por sus valores largos. No hay función toNumber()
en sqlite. 2. Si estoy pasando selectionArgs
entonces startString
y endString
debería estar en que formato?
- TextView setScaleX () / setScaleY () y setTextIsSelectable (true) selección
- Android personalizado ListView repite el fondo de selección
- ¿Cómo puedo evitar que el pie de página de ListView se seleccione?
- Horizontal inflable de menú en el clic largo para la vista web
startString
y endString
deben pasar en startString
endString
. Trate de usar:
Calendar c_start= Calendar.getInstance(); c_start.set(2013,2,4,0,0); //Note that months start from 0 (January) Calendar c_end= Calendar.getInstance(); c_end.set(2013,2,7,0,0); //Note that months start from 0 (January)
Además, creo que su lógica se invierte, el rango de fechas debe ser así:
String selection = "((dtstart >= "+c_start.getTimeInMillis()+") AND (dtend <= "+c_end.getTimeInMillis()+"))";