Développement Mobile : Android

Preview:

DESCRIPTION

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 .  - PowerPoint PPT Presentation

Citation preview

Développement Mobile : Android

Cours N°6Application sur les listview et les Broadcast Receivers

Rami AMRI (rami.amri@gmail.com)FST

2011/2012

Pour pouvoir recevoir des intents, Android vous permet de créer une classe qui implémente BroadcastReceiver. 

Ces objets sont conçus pour recevoir des intents (intentions) et appliquer  des comportements spécifiques à votre code.

Les Broadcast Receivers

Un BroadcastReceiver ne possède qu’une seule méthode onReceive() que votre classe devra implémenter.

Un BroadcastReceiver ne vit que le temps de traiter votre onReceive(). 

Les Broadcast Receivers

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,

Les Broadcast Receivers

Le système Android envoie l’intention à tous les BroadCast Receiver abonnées par ordre de priorité (priorité de votre BroadCast dans le fichierAndroidManifest.xml).

Si un BroadCast souhaite interrompre la réception du Broadcast à ceux d’un niveau inferieure de priorité, il faut utiliser la méthode abortBroadcast().

Les Broadcast Receivers

Exemple: Un BR qui « écoute » la réception d’un sms

Les Broadcast Receivers

Le Broadcast Receiver doit être déclarer dans le fichier manifest.xml

Les Broadcast Receivers

Permissions accordées au Broadcast receiver

Le filtre des intents relatif à la réception de messages

Les Broadcast Receivers

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 brodcast Receiver qui se chargera « d’ecouter » et réagir à la réception d’un SMS

Application

Application

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

Application Ensuite dans le manifest, nous allons

ajouter les permissions nécessaires

Dans le onCreate de notre application, nous allons nous abonner au broadcast receiver

Application Créer un adapter et l’associé à notre

listView

Sans oublier

Application Maintenant, dans le onReceive de notre

Brodcast Receiver, 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()

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 (protocol discription unit )

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

Application

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.

Recommended