Android:Google Calendar API:如何执行create event方法?

时间:2017-01-25 19:41:30

标签: android calendar google-api google-calendar-api

正在使用Google Calendar API。我创建了非常简单的createEvent方法。现在,我希望在按下createEvent后调用createEventButton方法。我听说我需要通过AsyncTask调用createEvent,问题是如何做到这一点?

createEvent方法:

    public   void createEvent(){

        Event event = new Event();
        DateTime startDateTime=new DateTime(eventStart.getText().toString());

        EventDateTime start = new EventDateTime()
                .setDateTime(startDateTime)
                .setTimeZone("America/Los_Angeles");

        event.setStart(start);


        DateTime endDateTime= new DateTime(eventEnd.getText().toString());

        EventDateTime end = new EventDateTime()
                .setDateTime(endDateTime)
                .setTimeZone("America/Los_Angeles");

        event.setStart(end);

        String calendarId = "primary";


        try {
            mService.events().insert(calendarId, event).execute();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

我需要从这里致电createEvent

    createEventButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) { }});

此听众位于我的onCreate(Bundle savedInstanceState)

1 个答案:

答案 0 :(得分:2)

如果您正在寻找有关如何使用AsyncTask的实际代码,请关注this Github sample

class AsyncInsertCalendar extends CalendarAsyncTask {

  private final Calendar entry;

  AsyncInsertCalendar(CalendarSampleActivity calendarSample, Calendar entry) {
    super(calendarSample);
    this.entry = entry;
  }

  @Override
  protected void doInBackground() throws IOException {
    Calendar calendar = client.calendars().insert(entry).setFields(CalendarInfo.FIELDS).execute();
    model.add(calendar);
  }
}

CalendarAsyncTask是用户自定义的类,它扩展了AsyncTask。