我正在编写一个需要将事件插入Google日历的Android应用。我在我的两个android手机上运行我的应用程序,并且都是成功的。但是,收到了一些其他的崩溃报告。它们在以下代码的最后一行中有空指针异常。访问Google日历时出现空指针异常
(顺便说一句,我已经通过以下处理谷歌日历的两个不同的URI Is there a way to access the calendar's entries without using gdata-java-client?)
完整的源代码文件:http://gonow.no-ip.org/hkpl/GoogleCalendar.java
我把这个
GoogleCalendar.addEvent(getContentResolver(),EVENT_TITLE,CONTENT);
另一个类功能的addEvent
提取内容:
ContentValues event = new ContentValues();
event.put("title", title);
event.put("description", description);
event.put("calendar_id",calId);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_MONTH, 1);
long start = cal.getTime().getTime();
event.put("dtstart", start);
cal.add(Calendar.DAY_OF_MONTH, 1);
long end = cal.getTime().getTime();
event.put("dtend", end);
event.put("hasAlarm",1);
event.put("allDay", 1);
Uri newEvent = cr.insert(Uri.parse(calanderEventURL), event); <-- exception here
崩溃报告这里
了java.lang.RuntimeException:而在 的java在android.os.AsyncTask $ 3.done(AsyncTask.java:200)执行 doInBackground()时发生错误。 util.concurrent.FutureTask $ Sync.innerSetException(FutureTask.java:274) at java.util.concurrent.FutureTask.setException(FutureTask.java:125) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask。 java:308) at java.util.concurrent.FutureTask.run(FutureTask.java:138)at java.util.concurrent.ThreadPool Executor.runWorker(ThreadPoolExecutor.java:1088) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:581) at java.lang.Thread.run(Thread.java:1019)引起: 显示java.lang.NullPointerException处 android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160) android.os.Parcel.readException(Parcel.java:1328)在 android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils的.java:114) 处 ming.hkpl.GoogleCalendar.addEvent android.content.ContentProviderProxy.insert(ContentProviderNative.java:408) 在android.content.ContentResolver.insert(ContentResolver.java:604) (GoogleCalendar.java:93)
什么Ø第93行?也许你可以在你的代码中添加行号。 –
正如我上面提到的,它在代码 的最后一行即ie。 Uri newEvent = cr.insert(Uri.parse(calanderEventURL),event);感谢:) – Bear
我很困惑。这不就是说cr是无效的吗?对不起,如果我失去了明显的东西! –