Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>Hey , Just config list of jar files in your project as below :</strong></p> <ol> <li>ical4j-1.0.3.jar</li> <li>commons-logging-1.1.1.jar</li> <li>commons-lang-2.6.jar</li> <li>commons-io-2.1.jar</li> <li>commons-codec-1.5.jar</li> <li>backport-util-concurrent-3.1.jar</li> </ol> <p>Hope that's help you ..!</p> <p><strong>Here is Sample Code for you :</strong></p> <pre><code> package com.example.caltest; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.SocketException; import java.net.URI; import java.util.GregorianCalendar; import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.data.CalendarOutputter; import net.fortuna.ical4j.data.ParserException; import net.fortuna.ical4j.model.Calendar; import net.fortuna.ical4j.model.Component; import net.fortuna.ical4j.model.Date; import net.fortuna.ical4j.model.ParameterList; import net.fortuna.ical4j.model.Property; import net.fortuna.ical4j.model.PropertyList; import net.fortuna.ical4j.model.TimeZone; import net.fortuna.ical4j.model.TimeZoneRegistry; import net.fortuna.ical4j.model.TimeZoneRegistryFactory; import net.fortuna.ical4j.model.ValidationException; import net.fortuna.ical4j.model.component.VEvent; import net.fortuna.ical4j.model.component.VTimeZone; import net.fortuna.ical4j.model.parameter.Cn; import net.fortuna.ical4j.model.parameter.Encoding; import net.fortuna.ical4j.model.parameter.Role; import net.fortuna.ical4j.model.parameter.Value; import net.fortuna.ical4j.model.property.Attach; import net.fortuna.ical4j.model.property.Attendee; import net.fortuna.ical4j.model.property.CalScale; import net.fortuna.ical4j.model.property.ProdId; import net.fortuna.ical4j.model.property.Version; import net.fortuna.ical4j.util.UidGenerator; import org.apache.commons.io.output.ByteArrayOutputStream; import android.app.Activity; import android.os.Bundle; import android.os.Environment; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); File file = new File(Environment.getExternalStorageDirectory()+"/1.ics"); FileInputStream fin = null; try { fin = new FileInputStream(file); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } CalendarBuilder builder = new CalendarBuilder(); Calendar calendar = null; try { calendar = builder.build(fin); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (calendar != null) { System.out.println("value :"+calendar); PropertyList plist = calendar.getProperties(); for (Object object : plist.toArray()) { System.out.println("oj :"+object); } } // Generate Event of Christmas Day Calendar mycalendar = new Calendar(); mycalendar.getProperties().add(new ProdId("-//James Bond//iCal4j 1.0//EN")); mycalendar.getProperties().add(Version.VERSION_2_0); mycalendar.getProperties().add(CalScale.GREGORIAN); TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry(); TimeZone timezone = registry.getTimeZone("Asia/Calcutta"); VTimeZone tz = timezone.getVTimeZone(); java.util.Calendar startEvent = new GregorianCalendar(); startEvent.setTimeZone(timezone); startEvent.set(java.util.Calendar.MONTH, java.util.Calendar.JULY); startEvent.set(java.util.Calendar.DAY_OF_MONTH, 21); startEvent.set(java.util.Calendar.YEAR, 2012); startEvent.set(java.util.Calendar.HOUR, 9); startEvent.set(java.util.Calendar.MINUTE, 15); startEvent.set(java.util.Calendar.SECOND, 12); java.util.Calendar entEvent = new GregorianCalendar(); entEvent.setTimeZone(timezone); entEvent.set(java.util.Calendar.YEAR, 2012); entEvent.set(java.util.Calendar.MONTH, java.util.Calendar.JULY); entEvent.set(java.util.Calendar.DAY_OF_MONTH, 21); entEvent.set(java.util.Calendar.HOUR, 16); entEvent.set(java.util.Calendar.MINUTE, 10); entEvent.set(java.util.Calendar.SECOND, 10); // initialise as an all-day event.. VEvent christmas = new VEvent(new Date(startEvent.getTime()),new Date(entEvent.getTime()), "Shravan Mahino"); christmas.getProperties().add(tz.getTimeZoneId()); // Generate a UID for the event.. UidGenerator ug = null; try { ug = new UidGenerator("2"); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } christmas.getProperties().add(ug.generateUid()); mycalendar.getComponents().add(christmas); Attendee dev1 = new Attendee(URI.create("mailto:ashok@vervesys.local")); dev1.getParameters().add(Role.REQ_PARTICIPANT); dev1.getParameters().add(new Cn("For Ashok")); christmas.getProperties().add(dev1); Attendee dev2 = new Attendee(URI.create("mailto:jigarp@vervesys.com")); dev2.getParameters().add(Role.OPT_PARTICIPANT); dev2.getParameters().add(new Cn("For Jigar P")); christmas.getProperties().add(dev2); FileInputStream fileattach = null; try { fileattach = new FileInputStream(Environment.getExternalStorageDirectory()+"ic_launcher_home.png"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } ByteArrayOutputStream bout = new ByteArrayOutputStream(); try { for (int i = fileattach.read(); i &gt;= 0;) { bout.write(i); i = fileattach.read(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } ParameterList params = new ParameterList(); params.add(Value.BINARY); params.add(Encoding.BASE64); Attach attach = new Attach(params, bout.toByteArray()); VEvent eout = (VEvent) calendar.getComponent(Component.VEVENT); Attach aout = (Attach) eout.getProperty(Property.ATTACH); System.out.println("Result : "+GenerateICAL("Ashok.ics", mycalendar)); } public Boolean GenerateICAL(String fileNameWithExtenion,Calendar calendar){ FileOutputStream fout = null; try { fout = new FileOutputStream(Environment.getExternalStorageDirectory()+"/"+fileNameWithExtenion); } catch (FileNotFoundException e1) { e1.printStackTrace(); } CalendarOutputter outputter; try { outputter = new CalendarOutputter(); outputter.output(calendar, fout); return true; } catch (IOException e) { e.printStackTrace(); return false; } catch (ValidationException e) { e.printStackTrace(); return false; } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload