正在使用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)
答案 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。