[英]Android: Google Calendar API: how to execute create event method?
am using Google Calendar API . 正在使用Google Calendar API 。 I created very simple
createEvent
method. 我创建了非常简单的
createEvent
方法。 Now i want to call createEvent
method after my createEventButton
is pressed. 现在,我想在按下我的
createEventButton
之后调用createEvent
方法。 I heard that I need to call createEvent
through an AsyncTask, the question is how to do that? 听说我需要调用
createEvent
通过的AsyncTask,问题是如何做到这一点?
createEvent
method: 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();
}
}
I need to call createEvent
from here: 我需要从这里调用
createEvent
:
createEventButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) { }});
This listener is in my onCreate(Bundle savedInstanceState)
该侦听器位于我的
onCreate(Bundle savedInstanceState)
If you're looking for actual code on how to use the AsyncTask follow this Github sample : 如果您正在寻找有关如何使用AsyncTask的实际代码,请遵循以下Github示例 :
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 is the user-made class which extends AsyncTask. CalendarAsyncTask是扩展AsyncTask的用户自定义类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.