Android-календарь

Я пытаюсь поместить элементы в календарь и не могу понять, как его кодировать. Это то, что у меня есть до сих пор, но оно вставляет его в основной календарь.

    String calName; 
    String calId = null;
    String[] projection = new String[] { "_id", "name" };

    Uri calendars = Uri.parse("content://calendar/calendars");
    Cursor managedCursor = managedQuery(calendars, projection, null, null, null);
    ContentValues event = new ContentValues();

    event.put("calendar_id", calId);
    event.put("title", strTitle);
    event.put("description", strDescription);
    event.put("eventLocation", strLocation);
    event.put("dtstart", StartTime);
    event.put("dtend", EndTime);

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

Итак, мои вопросы:

  1. Как мне создать свой собственный календарь, чтобы помещать события в

  2. Как вставить свои события в этот календарь (используя приведенный выше код или новый код)

  3. Как проверить, существует ли уже событие

~~~ОБНОВЛЕНИЕ:~~~

Что я пытаюсь сделать, так это то, что мои пользователи будут вводить заголовок и дату, и мое приложение возьмет этот заголовок и дату, поместит их в базу данных (пока все, что я сделал), и теперь я хочу взять заголовок и дату и поместите их в специальный календарь, посвященный только событиям в моих приложениях. Первое, что мне нужно сделать, это заставить приложение создать новый календарь. Затем вставляйте события в этот календарь, что мне помогает сделать приведенный ниже код. Все еще играю с ним. Затем я хочу перезапустить свое приложение и проверить, существует ли событие. Это все.


person TRIALandERROR    schedule 11.06.2011    source источник
comment
Пожалуйста, помогите ответить и в этой теме. stackoverflow.com/questions/37658179/   -  person Pradeep Kumar Kushwaha    schedule 06.06.2016


Ответы (3)


Прежде всего, с версии 2.2 изменился распознаватель контента, я думаю, с content://calendar/calendars на content://com.android.calendar/calendars.

Чтобы вставить событие, получить событие, проверьте этот код

https://github.com/Rabgs/AndroidLib_Google-Calendar/blob/master/src/net/mobiwide/agenda/google/GoogleAgenda.java

Вы найдете все, что вам нужно, и как справиться с изменением распознавателя контента на разных платформах.

person Rick    schedule 12.06.2011
comment
Ссылка мертва, и я не мог найти, куда она переместилась, если это произошло. - person slybloty; 20.12.2011

  1. Вы можете сделать это несколькими способами, но лучший способ, который я бы рекомендовал, — это использовать База данных SQLite для хранения событий календаря.
  2. Вы будете использовать стандартный SQL вставьте инструкции, чтобы добавить события в базу данных календаря.
  3. Вы будете использовать стандартные выберите (запросите) операторы для получения ваших событий.
person nicholas.hauschild    schedule 11.06.2011
comment
Они у меня уже есть в базе. Я пытаюсь отправить их в календарь, чтобы они синхронизировались с моей учетной записью Gmail, чтобы я мог видеть их в Интернете, а также чтобы они исчезли в календаре, чтобы напомнить мне о них. - person TRIALandERROR; 12.06.2011
comment
Вопрос, похоже, не отражает этого. Мне придется еще немного подумать об этом, прежде чем я смогу дать лучший ответ. Вам следует подумать об обновлении своего вопроса, чтобы задать то, что вы действительно хотите получить. - person nicholas.hauschild; 12.06.2011
comment
Обновлено. Скажите, если вам нужна дополнительная информация - person TRIALandERROR; 12.06.2011

Чтобы обновить Календарь Google, используйте API GData Календаря Google.

person CommonsWare    schedule 11.06.2011
comment
Мне нравится ссылка, но я не могу понять это. Я пытался скопировать исходный код и файлы jar, но каждый раз, когда я его запускаю, он принудительно закрывается. Есть ли простой способ просто отправить его в календарь телефона, а не в онлайн-календарь Google? - person TRIALandERROR; 13.06.2011