Android Event Calendar

I'm just doing an operation with the calendar content provider, now I can not show events for a specific date.

I know the event URIs for <2.1 and 2.2, as shown below:

eventsUri = Uri.parse("content://calendar/events"); // < Android 2.1 version eventsUri = Uri.parse("content://com.android.calendar/events"); // For Android Froyo 2.2 and later version 

My doubts:

  • How to get all the events?
  • How to get events for a specific date?

So, please, someone who knows about the calendar, please help me and share your knowledge about it.

Thanx

+6
android calendar
source share
2 answers

These examples are for version <= 2.1;

first; find out which calendars exist

 Cursor cursor = cr.query(Uri.parse("content://calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null); cursor.moveToFirst(); String[] CalNames = new String[cursor.getCount()]; int[] CalIds = new int[cursor.getCount()]; for (int i = 0; i < CalNames.length; i++) { CalIds[i] = cursor.getInt(0); CalNames[i] = cursor.getString(1); cursor.moveToNext(); } cursor.close(); 

Receiving all events, and a specific event is performed by specifying a range
ContentResolver contentResolver = getContentResolver() ;

 Uri.Builder builder = Uri.parse(getCalendarUriBase() + "/instances/when").buildUpon(); long now = new Date().getTime(); ContentUris.appendId(builder, now - DateUtils.MILLIS_PER_DAY*10000); ContentUris.appendId(builder, now + DateUtils.MILLIS_PER_DAY * 10000); 

and then say that you want to register the event ID from the calendar with ID = 1

 Cursor eventCursor = contentResolver.query(builder.build(), new String[] { "event_id"}, "Calendars._id=" + 1, null, "startDay ASC, startMinute ASC"); // For a full list of available columns see http://tinyurl.com/yfbg76w while (eventCursor.moveToNext()) { String uid2 = eventCursor.getString(0); Log.v("eventID : ", uid2); } 
+9
source share

Use this code for daily events,

 public static void readCalendarEvent(Context context) throws ParseException { ContentResolver contentResolver = context.getContentResolver(); Calendar calendar = Calendar.getInstance(); String dtstart = "dtstart"; String dtend = "dtend"; SimpleDateFormat displayFormatter = new SimpleDateFormat("MMMM dd, yyyy (EEEE)"); stime=displayFormatter.format(calendar.getTime()); SimpleDateFormat startFormatter = new SimpleDateFormat("MM/dd/yy"); String dateString = startFormatter.format(calendar.getTime()); long after = calendar.getTimeInMillis(); SimpleDateFormat formatterr = new SimpleDateFormat("hh:mm:ss MM/dd/yy"); Calendar endOfDay = Calendar.getInstance(); Date dateCCC = formatterr.parse("23:59:59 " + dateString); endOfDay.setTime(dateCCC); cursor = contentResolver.query(Uri.parse("content://com.android.calendar/events"), (new String[] { "calendar_id", "title", "description", "dtstart", "dtend","eventTimezone", "eventLocation" }), "(" + dtstart + ">" + after + " and " + dtend + "<" + endOfDay.getTimeInMillis() + ")", null, "dtstart ASC"); /*String[] COLS={"calendar_id", "title", "description", "dtstart", "dtend","eventTimezone", "eventLocation"}; cursor = contentResolver.query( CalendarContract.Events.CONTENT_URI, COLS,null, null, null);*/ gCalendar = new ArrayList<GoogleCalendar>(); try { if (cursor.getCount() > 0) { while (cursor.moveToNext()) { GoogleCalendar googleCalendar = new GoogleCalendar(); gCalendar.add(googleCalendar); int calendar_id = cursor.getInt(0); googleCalendar.setCalendar_id(calendar_id); String title = cursor.getString(1); googleCalendar.setTitle(title); String description = cursor.getString(2); googleCalendar.setDescription(description); String dtstart1 = cursor.getString(3); dt=convertDate(dtstart1,"hh:mm:ss"); googleCalendar.setDtstart(dt); String dtend1 = cursor.getString(4); googleCalendar.setDtend(dtend1); String eventTimeZone=cursor.getString(5); googleCalendar.setEventTimeZone(eventTimeZone); String eventlocation = cursor.getString(6); googleCalendar.setEventlocation(eventlocation); } } } catch (AssertionError ex) { ex.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } 
0
source share

All Articles