:: Enseignements :: Master :: M2 :: 2012-2013 :: Développement Android ::
[LOGO]

1ères activités


Lors de ce TD, nous nous familiarisons avec Android Debug Bridge et réalisons nos premières activités (dont l'incontournable Hello World).

Exercice 1 - Communication avec un appareil Android

Nous souhaitons communiquer avec un appareil sous Android. Soit nous disposons déjà d'un tel appareil (on utilisera alors la connexion USB) ; soit nous n'en avons pas et crééons une machine virtuelle.

Pour un appareil physique, il faut préalablement activer le débuggage USB dans le menu de paramétrage. Ceci permet de lancer le démon adbd auquel le client adb pourra se connecter.

Pour gérer des machines virtuelles, on peut utiliser l'Android Virtual Device (AVD) manager avec
android avd
. Plusieurs architectures sont disponibles (ARM, MIPS et x86). Pour une meilleure fluidité d'exécution, on pourra opter pour l'architecture x86 avec une image 4.1.2 si l'on dispose d'un processeur Intel VT supportant l'hyperviseur HAXM. Les PCs des salles machines n'intégrent pas encore les paquetages nécessaires à l'exploitation des extensions VT; il est néanmoins possible de suivre ces instructions sur sa machine personnelle.

Exercice 2 - Hello World

La brique de base d'une application Android est l'activité qui correspond à une interface graphique interagissant avec l'utilisateur (une application peut comporter plusieurs écrans d'interactions avec plusieurs activités ainsi que des services en tâche de fond et des composants de fourniture de contenu à des applications tierces). L'activité Hello World affiche un court message avec un bouton permettant de quitter l'application.

Créer une activité Hello World en gérant manuellement les composants graphiques ajoutés. Tous les composants de la bibliothèque graphique héritent de View ; ils sont organisés sous forme d'arbre, les noeuds internes étant des container de type ViewGroup (offrant différents layouts) et les feuilles des composants tels que TextView, Button (dont nous aurons besoin ici).

Faire une deuxième version de l'activité en utilisant une description XML du layout. On essaiera également d'internationaliser notre application en anglais et en français (en utilisant des strings ressources).

Ajouter maintenant un deuxième bouton lançant une deuxième activité Hello World (la pile de tâche doit donc contenir 2 activités Hello World). Le lancement est réalisé par
startActivity(new Intent(this, HelloWorld.class))
. On pourra ajouter au texte affiché la date de création (
new Date().toString()
) pour distinguer les deux activités. Utiliser le bouton "retour" pour dépiler les activités créées et revenir à l'écran d'accueil. Modifier la propriété launchMode de l'activité dans le manifeste à singleTop : que se passe-t-il lorsque l'on utilise le bouton de lancement d'activité depuis Hello World ? Notons qu'il est possible de capturer la tentative de relancement d'une activité en redéfinissant
void onNewIntent(Intent intent)
.

Exercice 3 - Cycle de vie d'un chronomètre

On souhaite implanter une activité fournissant un chronomètre.