Event Utility Class in for getting upcoming android event in Android - http://stackoverflow.com/a/26861039/4549947
package id.bewei.flipcard.util;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.provider.CalendarContract;
import android.util.Log;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import id.bewei.flipcard.model.FCEvent;
/**
* Created by Fazlur Rahman - BWI on 3/3/2015 - 5:10 PM.
* For event operation
*/
public class EventUtils {
public static final String TAG = "EventUtils";
public static List<FCEvent> getAllEvents(Context context) {
List<FCEvent> eventsList = new ArrayList<>();
String[] projection = new String[] { CalendarContract.Events.CALENDAR_ID, CalendarContract.Events.TITLE, CalendarContract.Events.DESCRIPTION, CalendarContract.Events.DTSTART, CalendarContract.Events.DTEND, CalendarContract.Events.ALL_DAY, CalendarContract.Events.EVENT_LOCATION };
// 0 = January, 1 = February, ...
Calendar startTime = Calendar.getInstance();
// startTime.set(2014,0,1,0,0);
int nextYear = startTime.get(Calendar.YEAR) + 1;
Calendar endTime= Calendar.getInstance();
endTime.set(nextYear,0,1,0,0);
// the range is all data from 2014
String selection = "(( " + CalendarContract.Events.DTSTART + " >= " + startTime.getTimeInMillis() + " ) AND ( " + CalendarContract.Events.DTSTART + " <= " + endTime.getTimeInMillis() + " ))";
Cursor cursor = context.getContentResolver().query( CalendarContract.Events.CONTENT_URI, projection, selection, null, null );
String dumpedCursor = DatabaseUtils.dumpCursorToString(cursor);
Log.d(TAG, dumpedCursor);
// output the events
if (cursor.moveToFirst()) {
do {
FCEvent event = new FCEvent();
event.setName(cursor.getString(1));
event.setLocation(cursor.getString(6));
event.setStartDate(new Date(cursor.getLong(3)).toString());
event.setEndDate(new Date(cursor.getLong(4)).toString());
event.setNotes(cursor.getString(2));
eventsList.add(event);
} while ( cursor.moveToNext());
}
// Sort events by date
Collections.sort(eventsList, new Comparator<FCEvent>() {
public int compare(FCEvent o1, FCEvent o2) {
return o1.getStartDate().compareTo(o2.getStartDate());
}
});
return eventsList;
}
}