Création d un squelette d application

Documents pareils
TP SIN Programmation sur androïde Support : eclipse

Warren PAULUS. Android SDK et Android x86

Votre premier projet Android

TP au menu «UI ANDROID»

TD/TP 1 Introduction au SDK d Android

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Encore plus de widgets et de conteneurs

Tutorial pour une application simple

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

De Java à Android version 0.1

Installation et prise en main

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android

Créer des applications Android

TP1 : Initiation à Java et Eclipse

1.3 Gestion d'une application

Introduction à Eclipse

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

TP2 : Client d une BDD SqlServer

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Programmation Mobile Android Master CCI

TP1 : Initiation à Java et Eclipse

Épisode 2 : Les outils de développement Alain Menu édition 2.1, septembre 2013

Création d un service web avec NetBeans 5.5 et SJAS 9

Les fondamentaux du développement d applications Java

Interfaces graphiques avec l API Swing

Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles

Eclipse atelier Java

SOMMAIRE

Installation Eclipse Galileo. Groupe Entreprenant et Innovateur. France. Tutoriel. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach.

Application de messagerie simple sur Android : Rapport de projet de VAP RSM

Programmation mobile avec Android

Gestion des différentes tailles d écran

Développement sous Android

BIRT (Business Intelligence and Reporting Tools)

Introduction ANDROID

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Tutoriel Android. Pour démarrer la programmation d'applications Android

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Prise en main rapide

Chapitre 1 Retour en arrière

Android 4 Les fondamentaux du développement d'applications Java

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

Table des matières. Partie I Concepts de base Préface... VII

ECLIPSE ET PDT (Php development tools)

Tutoriel Android - TP de prise en main

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Etude de cas : PGE JEE V2

Projet Android (LI260) Cours 2

Android en action. Abdelkader Lahmadi Université de Lorraine

Générer du code à partir d une description de haut niveau

Installation et compilation de gnurbs sous Windows

Android. Android is an environment where the biggest limitation is your imagination. P1 1

Java 7 Les fondamentaux du langage Java

Construire des plug-ins pour SAS Management Console SAS 9.1

Bases Java - Eclipse / Netbeans

APPLICATIONS JAVA. 1. JDBC Java Database Connectivity. Applications Web

Projet de développement

La base de données XML exist. A. Belaïd

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Projet de Veille Technologique

CalDav Manager : Gestionnaire d emploi du temps

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

GPO. Stratégie de groupe dans un environnement Active Directory. Nathan Garaudel PCplus 01/01/2014

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Raja Bases de données distribuées A Lire - Tutoriel

Initiation à JAVA et à la programmation objet.

PROJET AZURE (par Florent Picard, A2011)

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

JOnAS Day 5.1. Outils de développements

ALERT NOTICE D UTILISATION DU DRIVER PC-TEXTE

Annexe Android Studio

Tutoriel code::blocks

EXA1415 : Annotations

Systeme d'exploitation

Groupe Eyrolles, 2003, ISBN : X

Optimiser pour les appareils mobiles

Environnements de développement (intégrés)

TP1. Outils Java Eléments de correction

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

HOWTO INSTALLATION DB2 et NSE (sous RedHat)

Notice d Installation et d utilisation d une liaison Bluetooth avec un PDA ipaq.

TP1 : Initiation à l algorithmique (1 séance)

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

Java Licence professionnelle CISII,

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

La gestion des exceptions

Procédure d import des bases de données GestCab vers Médicab version 10.

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

F. Barthélemy. 17 mai 2005

contact@nqicorp.com - Web :

Vulgarisation Java EE Java EE, c est quoi?

Guide d installation de MySQL

Transcription:

3 Création d un squelette d application Tous les livres consacrés à un langage ou à un environnement de programmation commencent par présenter un programme de démonstration de type "Bonjour à tous!" : il permet de montrer que l on peut construire quelque chose tout en restant suffisamment concis pour ne pas noyer le lecteur dans les détails. Cependant, le programme "Bonjour à tous!" classique n est absolument pas interactif (il se contente d écrire ces mots sur la console) et est donc assez peu stimulant. Ce chapitre présentera donc un projet qui utilisera malgré tout un bouton et l heure courante pour montrer le fonctionnement d une activité Android simple. Terminaux virtuels et cibles Pour construire les projets, nous supposons que vous avez téléchargé le SDK (et, éventuellement, le plugin ADT d Eclipse). Avant de commencer, nous devons présenter la notion

20 L'art du développement Android 2 de "cible" car elle risque de vous surprendre et elle est relativement importante dans le processus de développement. Comme son nom l indique, un AVD (Android Virtual Device), est un terminal virtuel par opposition aux vrais terminaux Android comme le G1 ou le Magic de HTC. Les AVD sont utilisés par l émulateur fourni avec le SDK et vous permettent de tester vos programmes avant de les déployer sur les véritables terminaux. Vous devez indiquer à l émulateur un terminal virtuel afin qu il puisse prétendre qu il est bien le terminal décrit par cet AVD. Commencer par le début Avec Android, comme nous l avons vu au chapitre précédent, tout commence par la création d un projet. Si vous vous servez d outils non Android, vous pouvez utiliser le script android, qui se trouve dans le répertoire tools/ de l installation du SDK en lui indiquant que vous souhaitez créer un projet (create project). Il faut alors lui indiquer la version de la cible, le répertoire racine du projet, le nom de l activité et celui du paquetage Java où tout devra se trouver : android create project \ --target 2 \ --path chemin/vers/mon/projet \ --activity Now \ --package com.commonsware.android.skeleton Vous pouvez également télécharger les répertoires des projets exemples de ce livre sous la forme de fichiers ZIP à partir du site web de Pearson 1. Ces projets sont prêts à être utilisés : vous n avez donc pas besoin d utiliser android create project lorsque vous aurez décompressé ces exemples. Le répertoire src/ de votre projet contient une arborescence de répertoires Java classique, créée d après le paquetage Java que vous avez utilisé pour créer le projet (com. commonsware.android produit donc src/com/commonsware/android/). Dans le répertoire le plus bas, vous trouverez un fichier source nommé Now.java, dans lequel sera stocké le code de votre première activité. Celle-ci sera constituée d un unique bouton qui affichera l heure à laquelle on a appuyé dessus pour le dernière fois (ou l heure de lancement de l application si on n a pas encore appuyé sur ce bouton). Si vous avez téléchargé les fichiers à partir du site web de Pearson, vous pouvez vous contenter d utiliser directement le projet Skeleton/Now. 1. http://www.pearson.fr.

Chapitre 3 Création d un squelette d application 21 Ouvrez Now.java dans un éditeur de texte et copiez-y le code suivant : package com.commonsware.android.skeleton; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.button; import java.util.date; public class Now extends Activity implements View.OnClickListener { Button btn; @Override public void oncreate(bundle icicle) { super.oncreate(icicle); btn = new Button(this); btn.setonclicklistener(this); setcontentview(btn); public void onclick(view view) { private void updatetime() { btn.settext(new Date().toString()); Examinons maintenant chacune des parties de ce code. Dissection de l activité La déclaration de paquetage doit être identique à celle que vous avez utilisée pour créer le projet. Comme pour tout projet Java, vous devez importer les classes auxquelles vous faites référence. La plupart de celles qui sont spécifiques à Android se trouvent dans le paquetage android : package com.commonsware.android.skeleton; import android.app.activity;

22 L'art du développement Android 2 import android.os.bundle; import android.view.view; import android.widget.button; import java.util.date; Notez bien que toutes les classes de Java SE ne sont pas utilisables par les programmes Android. Consultez le guide de référence des classes Android 1 pour savoir celles qui sont disponibles et celles qui ne le sont pas. Les activités sont des classes publiques héritées de la classe de base android.app.activity. Ici, l activité contient un bouton (btn) : public class Now extends Activity implements View.OnClickListener { Button btn; Un bouton, comme vous pouvez le constater d après le nom du paquetage, est un widget Android. Les widgets sont des éléments d interface graphique que vous pouvez utiliser dans une application. Pour rester simple, nous voulons capturer tous les clics de bouton dans l activité ellemême : c est la raison pour laquelle la classe de notre activité implémente également OnClickListener. @Override public void oncreate(bundle icicle) { super.oncreate(icicle); btn = new Button(this); btn.setonclicklistener(this); setcontentview(btn); La méthode oncreate() est appelée lorsque l activité est lancée. La première chose à faire est d établir un chaînage vers la superclasse afin de réaliser l initialisation de l activité Android de base. Nous créons ensuite l instance du bouton (avec new Button(this)) et demandons d envoyer tous les clics sur ce bouton à l instance de l activité (avec setonclicklistener()). Nous appelons ensuite la méthode privée updatetime() (qui sera présentée plus loin), puis 1. http://code.google.com/android/reference/packages.html.

Chapitre 3 Création d un squelette d application 23 nous configurons la vue du contenu de l activité pour que ce soit le bouton lui-même (avec setcontentview()). Tous les widgets dérivent de la classe de base View. Bien que l on construise généralement l interface graphique à partir d une hiérarchie de vues, nous n utiliserons ici qu une seule vue. Nous présenterons ce Bundle icicle magique au Chapitre 16. Pour l instant, considéronsle comme un gestionnaire opaque, que toutes les activités reçoivent lors de leur création. public void onclick(view view) { Avec Swing, un clic sur un JButton déclenche un ActionEvent qui est transmis à l ActionListener configuré pour ce bouton. Avec Android, en revanche, un clic sur un bouton provoque l appel de la méthode onclick() sur l instance OnClickListener configurée pour le bouton. L écouteur reçoit la vue qui a déclenché le clic (ici, il s agit du bouton). Dans notre cas, nous nous contentons d appeler la méthode privée updatetime() : private void updatetime() { btn.settext(new Date().toString()); L ouverture de l activité (oncreate()) ou un clic sur le bouton (onclick()) doit provoquer la mise à jour du label du bouton avec la date courante. On utilise pour cela la méthode settext(), qui fonctionne exactement comme avec les JButton de Swing. Compiler et lancer l activité Pour compiler l activité, utilisez l outil de création de paquetage Android intégré à votre IDE ou lancez ant debug depuis le répertoire racine de votre projet. Puis lancez l activité en suivant les étapes suivantes : 1. Lancez l émulateur en exécutant la commande android, en choisissant un AVD dans le gestionnaire d AVD puis en cliquant sur le bouton Start. Vous devriez pouvoir vous contenter des valeurs par défaut qui vous sont présentées dans la boîte de dialogue des options. La Figure 3.1 montre l écran d accueil d Android. La première fois que vous utilisez un AVD avec l émulateur, le temps de lancement est beaucoup plus long que les fois suivantes.

24 L'art du développement Android 2 Figure 3.1 L écran d accueil d Android. 2. Installez le paquetage (avec ant install, par exemple). 3. Consultez la liste des applications installées sur l émulateur et recherchez celle qui s appelle Now (voir Figure 3.2). Figure 3.2 Le lanceur d applications d Android. 4. Ouvrez cette application. Vous devriez voir apparaître un écran d activité comme celui de la Figure 3.3.

Chapitre 3 Création d un squelette d application 25 Figure 3.3 Démonstration de l activité Now. En cliquant sur le bouton en d autres termes, quasiment n importe où sur l écran du téléphone, l heure courante s affichera sur le label du bouton. Vous remarquerez que ce label est centré horizontalement et verticalement car c est le style par défaut. Nous verrons au Chapitre 5 que nous pouvons évidemment contrôler ce formatage. Une fois repu de cette technologie époustouflante des boutons, vous pouvez cliquer sur le bouton de retour en arrière de l émulateur pour revenir au lanceur.