Adding Calendar and events in Android 2.2

What I want: I want to add calendar events in Android 2.2.

What I Have: I have added an event using the below code

    Uri calendars = Uri.parse("content://com.android.calendar/events");
    Cursor managedCursor = managedQuery(calendars, null, null, null, null);

    startManagingCursor(managedCursor);
    managedCursor.moveToFirst();

    String ID = null;

    do
    {
        ID = managedCursor.getString(managedCursor.getColumnIndexOrThrow("_id"));
    } 
    while (managedCursor.moveToNext());
    managedCursor.close();      

    int NewID = Integer.parseInt(ID) + 1;

    ContentValues event = new ContentValues();
    event.put("calendar_id", NewID);  // --- Some confusion Here with the ID,  
                                      // --- not sure how to use it here
    event.put("title", "New Event Title");
    event.put("description", "Event Desc");
    event.put("eventLocation", "Somewhere");

    long startTime = System.currentTimeMillis() + 1000 * 60 * 60;
    long endTime = System.currentTimeMillis() + 1000 * 60 * 60 * 2;

    event.put("dtstart", startTime);
    event.put("dtend", endTime);

    event.put("allDay", 0); // 0 for false, 1 for true
    event.put("eventStatus", 1);
    event.put("visibility", 0);
    event.put("transparency", 0);
    event.put("hasAlarm", 0); // 0 for false, 1 for true

    Uri eventsUri = Uri.parse("content://com.android.calendar/events");
    Uri insertedUri = getContentResolver().insert(eventsUri, event);

What is the problem:
So far I have been successful in adding a single event on the specified date time, and apparently NewID 's role is suspicious to me. When I try to add some other event, I get the returned Uri insertedUri and it shows me the newly added ID at the end of the URI. But I cant see any such event on the device. May be there is some problem in my understanding of the Calendar and events, or differences in both and their ID's. Kindly guide me what I am missing or doing wrong.

Regards,
Khawar


Most of the code is fine, you just need to know a little bit of concepts regarding calendar. Actually there is more than one calendar types in Android.

To Traverse all the calendars, Use following Uri for 2.2:

Uri calendars = Uri.parse("content://com.android.calendar"+ "/calendars");

And get the values of 'id' and 'name', you will get the idea.

NewID's role is suspicious to me

Your insertion code is fine, you just need to give the id of that calendar in which you want to insert any event.

I still believe that even myself needs to learn alot so if you have anything to tell or correct, you are most welcome. Following links helped me:

Working with Android Calendars

Accessing Calendars events without using gdata api

链接地址: http://www.djcxy.com/p/52890.html

上一篇: Android版OpenGL ES 2.0中的纹理

下一篇: 在Android 2.2中添加日历和事件