-
Système de notification
Bonjour à tous!
Bonjour à tous,
Je me suis lancée depuis peu dans le développement android pour créer une application qui va chercher les évènements d'un fichier XML en ligne. J'utilise Eclipse et je suis plutôt débutante en langage JAVA.
Pour une utilisation optimale de cette application, j'ai besoin que les utilisateurs soient alertées par notification lors d'un nouvel évènement.
Au départ, j'ai voulu travailler sur une notification qui allait chercher les mises à jours automatiquement de mon fichier XML et notifiait l'utilisateur à chaque nouvel entrée. Mais finalement, ce type de notification ne me semblait pas adapté car le fichier XML étant mis à jour par moi-même, parfois très en avance, les évènements auraient été notifiés aux utilisateurs trop en avance, au risque que l'évènement soit oublié à la date de l'échéance.
En effet, il faut que je puisse choisir le moment où je souhaite notifier les utilisateurs d'un évènement.
Ainsi, je souhaiterais connaître les diverses possibilités que j'ai pour répondre à ce besoin. J'ai regardé du côté du service google "GCM" mais il semble que chaque utilisateur doit être inscrit sur le serveur pour être notifié. Celà me paraît difficile à mettre en place.
Mon application doit être très simple d'utilisation alors existe t'il selon vous une solution idéale pour mettre en place ce système de notification?
Je vous remercie par avance pour vos réponses !!!
-
GCM permet de faire du push, c'est à dire reveiller les devices quand de nouvelles données sont disponibles... Oui chaque téléphone doit être inscrit, mais cette inscription est faite par l'application cliente sans que l'utilisateur ait besoin de faire quoique ce soit.
Mais dans le cas présent, si les "alertes" sont prévues longtemps à l'avance, un simple "pull" suffit largement. Si on est par exemple sur qu'une alerte sera prévue 24h à l'avance, alors il suffit d'un service qui se reveille toutes les 12h pour aller "puller" le XML, regarder les alertes, et scheduler une notification à la bonne heure.
Donc grosso-modo, un systeme basé sur l'AlertManager avec deux alarmes:
* Une alarme approximative pour aller puller le XML régulièrement.
* Une (ou plusieurs) alarmes pour afficher la notification à l'utilisateur à l'heure prévue dans le XML.
-
Merci nicroman pour ta réponse.
En fait mon xml est déjà parsé avec la méthode SAX et ainsi une listview apparaît avec les éléments du fichier xml sur mon application. Mais l'activity ne se lance qu'à l'ouverture de l'appli et quand l'utilisateur actualise l'activité.
Si je te suis bien, l'idéal alors serait qu'une alarme se lance en tâche de fond en parsant le fichier xml et s'active alors à chaque date et heure indiquée dans le fichier xml.
J'ai alors plusieurs questions :
1) Comment je peux lancer le parseur xml SAX en tâche de fond?
2) Comment j'implémente l'alarmManager à cette tâche de fond?
3) Comment puis-je faire pour que l'alarmManager se lance seulement aux dates et heures indiquées dans le fichier xml?
Je suis avant tout désolée pour toutes ses questions mais je suis plutôt novice en java et android et j'essaie de comprendre comment ça marche?
Connaissez vous des tutos sur l'alarmManager adapté au parse XML.
Je vous remercie par avance.