簡體   English   中英

在Android中寫入.ics文件時出現nullpointer錯誤

[英]nullpointer error while writing .ics file in android

我是FileOutputStream和ical4j的新手。 每當我嘗試運行此代碼時,在第二次try / catch中都會出現空指針錯誤。 在第一次try / catch之后,fout的值也為null。代碼有什么問題? 雖然不太可能,但是我沒有在android清單中聲明一些許可/其他東西嗎?

     java.util.Calendar cal = java.util.Calendar.getInstance();
        cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER);
        cal.set(java.util.Calendar.DAY_OF_MONTH, 26);

        VEvent christmas = new VEvent(new Date(cal.getTime()), "Post-Christmas Day");

     christmas.getProperties().getProperty(Property.DTSTART).getParameters().add(Value.DATE);


    FileOutputStream fout = null;
    try {
    fout = new FileOutputStream("mycalendar.ics");
    } catch (FileNotFoundException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }

    CalendarOutputter outputter = new CalendarOutputter();
    try {
    outputter.output(calendar, fout);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (ValidationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

清單文件如下所示:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

            <activity android:name=".Cal"></activity>

原因可能是因為您沒有在FileOutputStream實例的數據分區中使用sdcard或應用程序的分區。 您可以通過Environment類中的靜態字段來實現。

在第一個try&catch塊之后-確保fout不為null。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM