I am new to fileoutputstream and ical4j. when ever I try to run this code i get a null pointer error within the second try/catch. Also the value of fout is null after first try/catch.what is wrong with the code? Although unlikely,is there some permission/something else that i have not declared in the android manifest?
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();
}
the manifest file looks like:
<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"/>
and
<activity android:name=".Cal"></activity>
The reason is likely because you're not using either the sdcard or your application's partition in data partition in your FileOutputStream instance. You can these through the static fields in the Environment class.