1 / 17

Développement Mobile : Android

Développement Mobile : Android. Cours N°6 Application sur les listview et les Broadcast Receivers Rami AMRI (rami.amri@gmail.com) FST 2011/2012. Les Broadcast Receivers. Pour pouvoir recevoir des  intents , Android vous permet de créer une classe qui implémente BroadcastReceiver . 

oki
Download Presentation

Développement Mobile : Android

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Développement Mobile : Android Cours N°6 Application sur les listview et les BroadcastReceivers Rami AMRI (rami.amri@gmail.com) FST 2011/2012

  2. Les BroadcastReceivers • Pour pouvoir recevoir des intents, Android vous permet de créer une classe qui implémenteBroadcastReceiver.  • Ces objets sont conçus pour recevoir des intents (intentions) et appliquer  des comportements spécifiques à votre code.

  3. Les BroadcastReceivers • UnBroadcastReceiver ne possède qu’une seule méthode onReceive() que votre classe devra implémenter. • Un BroadcastReceiverne vit que le temps de traiter votre onReceive(). 

  4. Les BroadcastReceivers • lorsque le BroadcastReceiver est implémenté sur un composant qui a une durée de vie assez longue, comme une activité ou un service : dans ce cas, le récepteur vivra aussi longtemps que son « hôte » • faut appeler registerReceiver() dans la méthode onResume() ou onCreate() de l’activité pour annoncer son intérêt pour une intention,

  5. Les BroadcastReceivers • Le système Android envoie l’intention à tous les BroadCastReceiverabonnées par ordre de priorité (priorité de votre BroadCast dans le fichierAndroidManifest.xml). • Si un BroadCastsouhaite interrompre la réception du Broadcast à ceux d’un niveau inferieure de priorité, il faut utiliser la méthode abortBroadcast().

  6. Les BroadcastReceivers • Exemple: Un BR qui « écoute » la réception d’un sms

  7. Les BroadcastReceivers • Le BroadcastReceiver doit être déclarer dans le fichier manifest.xml

  8. Les BroadcastReceivers • Permissions accordées au Broadcastreceiver • Le filtre des intents relatif à la réception de messages

  9. Application • On Souhaite crée une application qui intercepte les SMS reçus et qui les affiche dans une listView, • Nous allons d’abord créer notre projet « SMSReceiver » qui contiendra une listView et un brodcastReceiver qui se chargera « d’ecouter » et réagir à la réception d’un SMS

  10. Application

  11. Application • Nous allons d’abord créer ListView dans notre activité principale qui héritera de ListActivity • Nous allons ajouter notre listView dans le main.xml

  12. Application • Ensuite dans le manifest, nous allons ajouter les permissions nécessaires • Dans le onCreate de notre application, nous allons nous abonner au broadcastreceiver

  13. Application • Créer un adapter et l’associé à notre listView • Sans oublier

  14. Application • Maintenant, dans le onReceive de notre BrodcastReceiver, nous allons recupérer les SMS et les ajouter à notre listView, • Pour cela, nous allons vérifier que l’action de l’intent reçu correspond à la réception d’un SMS • Sans oublier de mettre avant le onReceive()

  15. Application • Maintenant, si c’est bien le cas, nous allons récupérer les SMS qui sont « contenus » dans les Extra de l’intent • Remarque : le format d’un SMS est pdus (protocoldiscriptionunit ) • Faudra, récupérer les SMS et les parser pour récupérer le numéro de téléphone et le corps du message

  16. Application

  17. Application • Il ne reste plus qu’a ajouter le message dans la listView • Et notifier le changement de données et recharger la liste automatiquement.

More Related