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



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

Installation et prise en main

TD/TP 1 Introduction au SDK d Android

TP au menu «UI ANDROID»

Votre premier projet Android

1.3 Gestion d'une application

Programmation Mobile Android Master CCI

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

Warren PAULUS. Android SDK et Android x86

Chapitre 1 Retour en arrière

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

wxwidgets dans un environnement Microsoft Windows

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

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

Introduction à Eclipse

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

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

Projet De Stijl Plate-forme pour robots mobiles

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

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

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

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

Direction des Systèmes d'information

BIRT (Business Intelligence and Reporting Tools)

Système Principal (hôte) 2008 Enterprise x64

Installation et compilation de gnurbs sous Windows

2 - VMWARE SERVER.doc

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

Machine virtuelle Java pour Palm TX

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Tutorial pour une application simple

PHILA-Collector-USB-16Go Pour Windows & Android

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

Système de vidéosurveillance pour Pocket PC

2X ThinClientServer Guide d utilisation

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Leçon N 5 PICASA Généralités

Contrôle de la DreamBox à travers un canal SSH

HAYLEM Technologies Inc.

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

GUIDE NSP Activation et gestion des produits avec NSP

CTIconnect PRO. Guide Rapide

Guide d utilisation de PL7 Pro Récupérer ou transférer un programme

Bases Java - Eclipse / Netbeans

PROCÉDURE D AIDE AU PARAMÉTRAGE

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

Sauvegardes par Internet avec Rsync

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

Eclipse atelier Java

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Traitement de données

Apprendre à gérer son serveur web grâce à Windows Server 2008 R2

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

Notice de fonctionnement DVR H Méthode de Visionnage ESEENET

GUIDE D INSTALLATION RAPIDE DEXH264

Au préalable, nous nous plaçons dans l espace au sein duquel nous allons créer notre raccourci vers l ENTG.

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Tutorial Terminal Server sous

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

Manuel de déploiement sous Windows & Linux

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

PPM(A) Programmation sur Plateformes Mobiles (Android) Legond-Aubry Fabrice

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Outils en ligne de commande

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

Connexion à distance. Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH

Manuel d'installation de GESLAB Client Lourd

Mes documents Sauvegardés

Module d anonymisation

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

Gestion des documents avec ALFRESCO

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

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Planète Multimédia. Voici le logo qu il faut choisir : et tapez sur puis acceptez.

INSTALLATION ET PRISE EN MAIN

Mise en place d un serveur trixbox sur un domaine Kwartz. Version 1.0 du 25 juin 2012 Lycée Polyvalent d Artois, Noeux les Mines Adrien Bonnel

bbc Launch Pad Juillet 2011 Version 10.0

ZOTERO. Installation. Bibliothèque de Pharmacie. Service Formation

Tutoriel code::blocks

Caméra Numérique de Microscopie Couleur USB. Guide d installation

Enregistrement de votre Géorando Maxi Liberté

ALLIANZ MODE OPERATOIRE DE MIGRATION D UNE AGENCE WINDOWS Août Version du document : 010

Pour les caméras IP de modèles : QSTC201 QSTC211. Surveillance à distance via Internet Guide de démarrage

Comment se connecter au VPN ECE sous vista

Suivant les windows, le signal pour indiquer l imprimante par défaut est un petit rond noir ou vers avec un V à l intérieur.

Table des matières Introduction Démarrage Les composants graphiques... 26

FICHIERS ET DOSSIERS

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Itium XP. Guide Utilisateur

NiceLabel Guide de prise en main rapide

Guide d utilisation. Version 1.1

TP1. Outils Java Eléments de correction

Transcription:

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers vendredi 07 mars 2014 Installation : Pour programmer des applications Android, il faut tout d abord veiller à disposer du SDK classic de Java Standard Edition sur la machine de développement. Si ce SDK n est pas présent, il faut l installer à partir du lien suivant : http://www.oracle.com/technetwork/java/javase/downloads/ index.html. Ensuite, la solution la plus simple consiste à installer le SDK android dans sa version bundle, téléchargeable à l adresse suivante : http://developer.android.com/sdk/index.html En téléchargeant le bundle SDK depuis cette page vous récupérez d un seul coups : L IDE Eclipse et le plugin ADT (le tout étant configuré pour une utilisation immédiate) Le SDK Android proprement dit avec ces différents outils (pour un développement en ligne de commande ou avec un autre IDE) Les outils d interaction avec la plate-forme Android La dernière version de la plate-forme Android parue à ce jour (actuellement la version 4.4.2 API lvl 19) La dernière version de l image ROM utile pour construire de machine virtuelle et l émulateur Android afin de tester les développements (les autre ROM et ou API level seront à télécharger séparéent en utilisant le gestionnaire du SDK) Utilisation avec Android Studio Il est possible de télécharger une version bundle du SDK intégrant le logiciel IDE Android Studio sur la même page. Cet IDE évolue très vite (des mises à jours sont postées toutes les semaines). Mais il est conseillé pour le moment des rester sur une version antérieure assez stable (0.4.6 ppar exemple). Les versions 0.5.x nécessitantnt plus d attention. Utilisation avec Netbeans Pour les utilisateurs de Netbeans, en plus du SDK Android, il conviendra d installer un plugin dédié (moins évolué que le plugin eclipse). Pour ce faire, dans le menu Tools choisir l item Plugin. Un fenêtre 1

apparait comportant plusieurs Onglets. Choisir l onglet Settings. Puis cliquer sur le bouton Add. Remplir le champ name avec NBAndroid et le champ URL avec l url suivante : http://nbandroid.org/ updates/updates.xml. Validez et retournez dans l onglet Available Plugin. Dans la liste, cochez les plugins : Android et Android Test Runner for NetBeans (choisissez les versions correspondant à votre version de Netbeans) clickez sur Install. Dans les préférences, la section Miscellaneous contient un nouvel onglet Android. Choisir cet onglet et entrez le chemin vers le SDK android. Le gestionnaire de SDK Une fois les archives décompressées, il devient possible de travailler avec le SDK sous au moins 2 formes : en ligne de commande (bash ou autre sous Unix ou CMD sous Windows) à travers l interface de votre IDE (Eclipse, Netbeans, Android Studio) En ligne de commande sous bash : > android La ligne de commande sous Windows une fois le SDK installé (archive décompressée), ouvrez une fenêtre de l explorateur Windows, et baladez vous jusqu au répertoire tools dans le répertoire du SDK. Par exemple, sur la capture qui suit le chmin d accès est C:\Documents and Settings\SUSINI\Bureau\android sdk windows\tools 2

copié le chemin d accès il va nous permettre de configurer une variable de la ligne de commande : Dans le panneau de configuration! choisir le tableau système! Avancé! Variables d environnement :! La ligne de commande sous Windows Sous Unix (Linux ou MacOS) on se contentera d ajouter les chemins dans un fichier. profile du répertoire utilisateur. Si le terminal est de type bash ou compatible (configuration par défaut). PATH=$PATH :/CheminDaccesAuSDK / tools :/CheminDaccesAuSDK / platform export PATH tools Configurer le SDK : Lancer depuis votre IDE le SDK Manager d Android. Il est possible de le lancer par la ligne de commande en entrant la commande : Le SDK Manager vous permet de mettre à jour régulièrement votre SDK et d installer différentes versions de la plate-forme android. Il est recommandé d installer : les Android SDK tools et Android SDK platform-tools doivent être toujours à jour et installés. la dernière version de l API lvl 19 (la documentation et les support ARM et x86) on recommande également pour cette UE l API lvl 10. les autres éléments sont facultatifs (attention cela fini par occuper beaucoup d espace disque). 3

Une machine virtuelle : Pour tester une application, il est recommander de créer un émulateur Android afin de ne pas recourir systématiquement à chaque test élémentaire du programme à un véritable téléphone. (De plus l utilisation de machines virtuelles nous permettra de tester plusieurs configurations matérielles différentes sans avoir à disposer physiquement des ces matériels). Nous allons donc pour cela créer des machines virtuelles. Mais il 4

permet surtout de créer des machines virtuelles émulant différentes configurations de téléphones Android... Dans le menu Tools, choisir l item Manage AVDs... Une fenêtre apparait avec une liste (initialement vide) de machine virtuelles. Nous allons en créer une : dans l onglet Android Virtual Devices, choisir le bouton New... Une nouvelle fenêtre apparait, permettant de configurer une machine virtuelle. Exemple : Si vous possédez une WebCam, il est possible de l utiliser pour simuler la caméra d un téléphone (utile pour les application avec lecture de code barre, les applications photo ou vidéo, la réalité augmentée... ) : Il est aussi intéressant de créer une SDCard Virtuelle ou de la partager entre différentes VM. Après cela une VM sera disponible dans la liste : 5

Fermez la fenêtre et quittez l Android SDK Manager, pour revenir à votre IDE. création d un projet Créez un nouveau projet Android dans votre IDE. Il est possible de créer un projet directement en utilisant la ligne de commande : > android create project target 2 name HelloAndroidWorld \ path / home / licencep / HelloAndroidWorld activity HelloAndroidWorldMain \ package fr. cnam. deptinfo. fip. tp. haw Le projet Android a la structure suivante : un dossier src : contenant les codes sources Java de votre application. Dans le cas de cette première application, le dossier contiendra une hiérarchie correspondant au nom de package choisi à la création du projet et on trouvera un fichier java contenant la classe définissant l activité Android spécifiée à la création du projet (dans le cas de la ligne de commande fr/cnam/deptinfo/fip/tp/haw/helloandroidworldmain.java) un dossier res : contenant les ressources associées au projet. Ce dossier est généralement divisé lui même en plusieurs sous dossiers : un sous-dossier drawable contenant entre autre l icône de l application (image qui sera utilisée pour afficher l application dans la liste des applications installées sur le téléphone) un sous-dossier layout contenant des fichiers XML représentant des interface graphiques statiques associées aux différentes activités de l application. Par défaut, la première activité créée est activité est associée au fichier main.xml. 6

un sous-dossier values contenant la déclarations de valeurs constantes utilisées par l application. Par exemple, des chaines de caractères associées au projet sont définies dans le fichier XML strings.xml (exemple : app name ) dossier gen contenant des fichiers intermédiaires automatiquement générés par le processus de compilation d un projet Android. En particulier on trouvera la définition de la classe R dans le fichier R.java servant à attribuer un identifiant unique au différentes ressources du projet (y compris les éléments des interfaces graphiques) Le fichier AndroidManifest.xml qui est un fichier très important car il renferme les méta-données décrivant l application Un fichier default.properties qui sera complètement assemblé par le processus de compilation (il est préférable de ne pas l éditer car il est généré automatiquement) Un fichier local.properties utilisé conjointement entre Ant et un système de gestion de version de code source comme subversion par exemple. un fichier proguard.cfg utilisé pour configurer l outil proguard qui est un obfuscateur de code java dont le développement a été inspiré par les besoins des développeurs J2ME. Non seulement, cet outil permet de faire de l obfuscation de code mais il permet surtout de rendre très compacte ce dernier et plus performant. Si vous utilisez la ligne de commande ou Netbeans vous trouverez également les fichiers gérant le processus de compilation suivant : build.xml contenant les directives de compilation de l outil Ant build.properties permettant de redéfinir certaines constantes utilisées par Ant au cours d une compilation HelloAndroidWorld / HelloAndroidWorld / AndroidManifest. xml HelloAndroidWorld / build. properties HelloAndroidWorld / build. xml HelloAndroidWorld / default. properties HelloAndroidWorld / gen HelloAndroidWorld / gen / fr HelloAndroidWorld / gen / fr / cnam HelloAndroidWorld / gen / fr / cnam / deptinfo HelloAndroidWorld / gen / fr / cnam / deptinfo / fip HelloAndroidWorld / gen / fr / cnam / deptinfo / fip / tp HelloAndroidWorld / gen / fr / cnam / deptinfo / fip / tp / haw HelloAndroidWorld / gen / fr / cnam / deptinfo / fip / tp / haw / R. java HelloAndroidWorld / libs HelloAndroidWorld / local. properties HelloAndroidWorld / proguard. cfg HelloAndroidWorld / res HelloAndroidWorld / res / drawable HelloAndroidWorld / res / drawable / app icon. png HelloAndroidWorld / res / layout HelloAndroidWorld / res / layout / main. xml HelloAndroidWorld / res / values HelloAndroidWorld / res / values / strings. xml HelloAndroidWorld / src HelloAndroidWorld / src / fr 7

HelloAndroidWorld / src / fr / cnam HelloAndroidWorld / src / fr / cnam / deptinfo HelloAndroidWorld / src / fr / cnam / deptinfo / fip HelloAndroidWorld / src / fr / cnam / deptinfo / fip / tp HelloAndroidWorld / src / fr / cnam / deptinfo / fip / tp / haw HelloAndroidWorld / src / fr / cnam / deptinfo / fip / tp / haw / HelloAndroidWorldMain. java Lancez l application sur une machine virtuelle ou sur votre smartphone (si vous avez un smartphone Android et son cable USB). compilation en ligne de commande : > ant debug on peut installer une application par la ligne de commande : > adb install bin / HelloAndroidWorld debug. apk Premiers pas dans le code Android Dans cette section nous allons mettre en œuvre les outils permettant le déverminage sur la plateforme Android. En particulier, nous allons nous intéresser au processus logcat d Android qui centralise et mémorise l ensemble des message de logging d Android. Utilisez la vue DDMS sous Eclipse ou utilisez le mode Debug dans Net beans. En ligne de commande le logcat est obtenu grâce au couteau suisse abd : > adb logcat ActivityManager : I HELLO TAG : I : S La classe android.util.log permet d écrire des messages dans le logcat android afin de tracer l exécution d une application. Plusieurs méthodes sont disponible pour formater des messages triés par importance : v(string tag, String msg) (verbose) d(string tag, String msg) (debug) i(string tag, String msg) (information) w(string tag, String msg) (warning) e(string tag, String msg) (error) Implémentez la methode ondestroy de l activité principale et ajouter un message de log : Log.i() dans les méthodes oncreate et ondestroy. On cherche ensuite à instrumenter l ensemble des méthodes permettant de tracer le cycle de vie de l activité. Comment procédez vous? Pendant l exécution de l application, simulez un appel téléphonique (vue emulator control sous Eclipse), retrouver le focus de votre application en raccrochant. il est possible de simuler un élément du téléphone (capteur, GPS, appel entrant... ) à l aide de la console de l émulateur qui est accessible par un protocole textuel sur le port 5554 : > telnet localhost 5554 Trying ::1... telnet : connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is ˆ]. 8

Android Console : type help for a list of commands OK help Android console command help : help h? print a list of commands event simulate hardware events geo Geo location commands gsm GSM related commands cdma CDMA related commands kill kill the emulator instance network manage network settings power power related commands quit exit quit control session redir manage port redirections sms SMS related commands avd control virtual device execution window manage emulator window qemu QEMU specific commands sensor manage emulator sensors try help <command> for command specific help OK gsm call 0140272000 Par exemple, ici nous simulons un appel entrant du 0140272000. Cette interface est très utile pour simuler la saisie de texte au clavier (event text), la modification de coordonnées GPS (event geo)... Pour tuer l application, une solution consiste à utiliser adb pour tuer le processus : >adb shell ps grep ˆ[uU ] USER PID PPID VSIZE RSS WCHAN PC NAME u0 a38 378 38 167268 33040 ffffffff 40037ebc S com. android. systemui u0 a20 406 38 154624 20632 ffffffff 40037ebc S com. android. inputmethod. u0 a21 432 38 170576 41220 ffffffff 40037ebc S com. android. launcher u0 a15 610 38 160776 18384 ffffffff 40037ebc S com. android. exchange u0 a47 733 38 153888 20928 ffffffff 40037ebc S com. example. test u0 a17 1116 38 152772 16432 ffffffff 40037ebc S com. android. location. fu u0 a14 1339 38 153892 21344 ffffffff 40037ebc S com. android. gallery u0 a24 1356 38 162496 24912 ffffffff 40037ebc S com. android. mms u0 a0 1601 38 171160 22748 ffffffff 40037ebc S android. process. acore u0 a30 1632 38 151716 16164 ffffffff 40037ebc S com. svox. pico u0 a33 1645 38 154924 17492 ffffffff 40037ebc S com. android. quicksearch u0 a0 1942 38 176096 29360 ffffffff 40037ebc S com. android. contacts u0 a48 2094 38 153788 20680 ffffffff 40037ebc S fr. cnam. deptinfo. fip. tp >adb shell kill 2094 Pour simuler le pivot de l écran, il est possible d utiliser le raccourcis clavier Ctrl+F12. Modifier votre activité pour que celle puisse s arrêter lorsque l utilisateur la quitte. 9