我正在编写一个需要将事件插入Google日历的Android应用。我在我的两个安卓手机中运行我的应用程序而且都很成功。但是,收到了其他人的一些崩溃报告。它们在以下代码的最后一行中有空指针异常。
(顺便说一句,我已经按照Is there a way to access the calendar's entries without using gdata-java-client?处理了两个不同的谷歌日历URI。)
整个源代码文件:http://gonow.no-ip.org/hkpl/GoogleCalendar.java
我通过这个
在另一个类中调用函数addEventGoogleCalendar.addEvent(getContentResolver(),EVENT_TITLE,CONTENT);
提取:
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:执行时发生错误 doInBackground()在android.os.AsyncTask $ 3.done(AsyncTask.java:200)at at java.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) 在java.util.concurrent.FutureTask.run(FutureTask.java:138)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:581) 在java.lang.Thread.run(Thread.java:1019)引起: java.lang.NullPointerException at android.os.Parcel.readException(Parcel.java:1328)at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160) 在 android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) 在 android.content.ContentProviderProxy.insert(ContentProviderNative.java:408) 在android.content.ContentResolver.insert(ContentResolver.java:604)at ming.hkpl.GoogleCalendar.addEvent(GoogleCalendar.java:93)
答案 0 :(得分:1)
通常,请使用以下过程:
将print语句添加到上一行,打印引发错误的行中引用的变量。例如:
System.out.println("Hi");
System.out.println(driver);
重建代码
<强>参考强>