1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| public void ParcoursICS() {
// Parcours le fichier ics et récupère les rendez-vous
try {
// ouverture du fichier texte (.ics)
BufferedReader planning = new BufferedReader(new FileReader("planning.ics"));
ligne = planning.readLine();
while (!ligne.equalsIgnoreCase("END:VCALENDAR") && ligne != null) {
if (ligne.equalsIgnoreCase("BEGIN:VEVENT")) {
// Rendez-vous à prendre en compte
ligne = planning.readLine();
while (!ligne.equalsIgnoreCase("END:VEVENT")) {
// récupération des informations utiles
if (ligne.equalsIgnoreCase("DTSTART")) {
// date et heure de début du rendez-vous
}
else if (ligne.equalsIgnoreCase("DTEND")) {
// date et heure de fin du rendez-vous
}
else if (ligne.equalsIgnoreCase("LOCATION")) {
// lieu du début du rendez-vous
}
else if (ligne.equalsIgnoreCase("DTSTAMP")) {
// date et heure de création du planning (utile pour savoir s'il a été modifié)
}
else if (ligne.equalsIgnoreCase("DESCRIPTION")) {
// description du rendez-vous (avec coordonnées PEQ)
}
else if (ligne.equalsIgnoreCase("SUMMARY")) {
// numéro de vol ou type de rendez-vous (hotel par exemple)
}
ligne = planning.readLine();
}
// traitement du rendez-vous : 1. mise en forme en fct des options, 2. création du rendez-vous dans l'agenda
}
ligne = planning.readLine();
}
}
catch (FileNotFoundException e1) {
// Erreur : le fichier n'existe pas
Toast.makeText(getApplicationContext(), "Erreur : fichier ics inexistant", Toast.LENGTH_LONG).show();
} catch (IOException e) {
// Erreur : problème de lecture fichier
Toast.makeText(getApplicationContext(), "Erreur : problème de lecture du fichier ics", Toast.LENGTH_LONG).show();
}
} |
Partager