09.02.2017 Views

creez-des-applications-pour-android

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.4 Créer un AppWidget<br />

la taille de la ligne à la résolution de l’écran.<br />

5.4.2 Définir les propriétés<br />

Maintenant, il faut préciser différents paramètres de l’AppWidget dans un fichier XML. Ce fichier<br />

XML représente un objet de type AppWidgetProviderInfo.<br />

Tout d’abord, la racine est de type et doit définir l’espace de nommage<br />

<strong>android</strong>, comme ceci :<br />

<br />

Vous pouvez définir la hauteur minimale de l’AppWidget avec <strong>android</strong>:minHeight et sa largeur<br />

minimale avec <strong>android</strong>:minWidth. Les valeurs à indiquer sont en dp comme <strong>pour</strong> le layout.<br />

Ensuite, on utilise <strong>android</strong>:updatePeriodMillis <strong>pour</strong> définir la fréquence de mise à<br />

jour voulue, en millisecon<strong>des</strong>. Ainsi, <strong>android</strong>:updatePeriodMillis="60000" fait une<br />

minute, <strong>android</strong>:updatePeriodMillis="3600000" fait une heure, etc. Puis on utilise<br />

<strong>android</strong>:initialLayout <strong>pour</strong> indiquer la référence au fichier XML qui indique le layout de<br />

l’AppWidget. Enfin, vous pouvez associer une activité qui permettra de configurer l’AppWidget<br />

avec <strong>android</strong>:configure.<br />

Voici par exemple ce qu’on peut trouver dans un fichier du genre res/xml/appwidget_info.xml :<br />

<br />

5.4.3 Le code<br />

5.4.3.1 Le receiver<br />

Le composant de base qui permettra l’interaction avec l’AppWidget est AppWidgetProvider. Il<br />

permet de gérer tous les évènements autour de la vie de l’AppWidget. AppWidgetProvider est<br />

une classe qui dérive de BroadcastReceiver, elle va donc recevoir les divers broadcast intents<br />

qui sont émis et qui sont <strong>des</strong>tinés à l’AppWidget. On retrouve quatre évènements pris en compte :<br />

l’activation, la mise à jour, la désactivation et la suppression. Comme d’habitude, chaque période<br />

de la vie d’un AppWidget est représentée par une méthode de callback.<br />

5.4.3.1.1 La mise à jour La méthode la plus importante est celle relative à la mise à jour, vous<br />

devrez l’implémenter chaque fois. Il s’agit de public void onUpdate(Context context,<br />

AppWidgetManager appWidgetManager, int[] appWidgetIds) avec comme paramètres :<br />

— Le context dans lequel le receiver s’exécute.<br />

— appWidgetManager représente le gestionnaire <strong>des</strong> AppWidgets, il permet d’avoir <strong>des</strong> informations<br />

sur tous les AppWidgets disponibles sur le périphérique et de les mettre à jour.<br />

— Les identifiants <strong>des</strong> AppWidgets à mettre à jour sont contenus dans appWidgetIds.<br />

379

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!