TP SIN Programmation sur androïde Support : eclipse



Documents pareils
De Java à Android version 0.1

TP au menu «UI ANDROID»

Warren PAULUS. Android SDK et Android x86

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

SOMMAIRE

Créer des applications Android

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

Tutorial pour une application simple

Encore plus de widgets et de conteneurs

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

Programmation Android L3 informatique

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

Projet Android (LI260) Cours 2

TP2 : Client d une BDD SqlServer

1.3 Gestion d'une application

Les fondamentaux du développement d applications Java

Développement sous Android

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

Tutoriel Android - TP de prise en main

TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet

Développement Android. J.-F. Couchot

Android en action. Abdelkader Lahmadi Université de Lorraine

Programmation mobile avec Android

Education Delivery Intelligent Tool

Architectures Mobiles

TD/TP 1 Introduction au SDK d Android

Terminaux Mobiles Communicants

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

Comparaison entre les applications natives et les web apps dans le domaine des Smartphones

inviu routes Installation et création d'un ENAiKOON ID

Génie Logiciel et Interaction Homme-Machine PROJET UCAMPUS

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

1. Introduction Création d'une requête...2

Programmation par les Objets en Java

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

1. Installation d'un serveur d'application JBoss:

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

Android et le Cloud Computing

Présentation du système d exploitation Open Source ANDROID

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

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

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1

Introduction ANDROID

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

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

Interfaces graphiques avec l API Swing

Module Architecture des systèmes mobiles : Android première partie Didier FERMENT - UPJV

Généralités sur le Langage Java et éléments syntaxiques.

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Manuel utilisateur Réservation d un Court via Internet. Procédure PC/Tablette/Smartphone

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

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

Activation de la licence

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

TalkToMe : votre première appli App Inventor Ce tutoriel vous aidera à construire une appli parlante qui peut sauvegarder des phrases sur demande.

Traitement de texte : Quelques rappels de quelques notions de base

Tutoriel d installation de Hibernate avec Eclipse

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Création d'un questionnaire (sondage)

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

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Trier les ventes (sales order) avec Vtiger CRM

Comment choisir ou modifier les options de facturation sans papier

Android 101. Rémi Forax

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

Développement web et mobile

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

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

1. Installation du Module

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication

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

Guide d'utilisation de la. plate-forme GAR. pour déposer une demande. de Bourse Sanitaire et Sociale

Initiation à JAVA et à la programmation objet.

ipra*cool v 1.08 guide de l utilisateur ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v

Application de lecture de carte SESAM-Vitale Jeebop

progecad NLM Guide de l'utilisateur

Gestion des différentes tailles d écran

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

Programmation Mobile Android Master CCI

Pour paramétrer l'extranet Pré-inscription, sélectionner Pré-inscriptions dans le menu Paramètre.

Approche Contract First

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Connexion de Votre Imprimante Multifonction à votre Réseau pour la Première Fois

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

Compte-rendu de projet de Système de gestion de base de données

Seafile, pour simplifier l'accès à ses fichiers, les partager et les synchroniser

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

DirXML License Auditing Tool version Guide de l'utilisateur

Développement sous Android

SP-1101W/SP-2101W Quick Installation Guide

Guide pour l'installation ou la mise à jour de Foxmail 7.1 en Français

Tutoriel Adobe Acrobat Pro (version 9.0.0) Créer les fichiers PDF de la thèse. Service Commun de la Documentation Service des thèses

Transcription:

TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale : L élève doit être capable de réaliser un programme sur androide Matériels : Logiciel Eclipse Smartphone sur androïde 1. Travail demandé Propriété de ce projet : Nom : Hello prenom Activity : prenom Target : android 4.1 Package : com.androiddev.prenom Dans ce tuto, on va développer une première application assez simple. Ce tuto va permettre de découvrir des composants graphiques (Textfield, EditText et Bouton). Un aperçu du résultat que l'on souhaite avoir : http://www.android-dev.fr/web/blog/voir/72?titre=premi%c3%a8re-application-partie-1-xml

Cahier des charges Cette application contient tout d'abord une phrase dans le Textfield «Entrez votre prénom». Ensuite, elle possède un EditText, c'est ici qu'on donne le prénom. Puis lorsque l'on clique sur Valider, on souhaite qu'une phrase apparaisse avec le prénom rentré précédemment. De plus, on voudrait, lors du clique sur valider, qu'un message s'affiche avec le prénom qui a été rentré. XML On va tout d'abord réaliser l'interface graphique de l'application. Dans le dossier res/values on va créer tous les paramètres de notre interface : couleurs, dimension, chaîne de caractères. o Chaînes de caractères On va modifier le fichier strings.xml, pour on double clique sur lui. On va supprimer toutes les chaînes déjà existantes, pour cela on clique sur les chaînes («app_name»,...) et on clique sur «Remove». Maintenant qu'elles ont étés toutes supprimés on va pouvoir crée celle que l'on souhaite. On clique sur «add» :

Puis on choisit le type de variable «String» : Après avoir cliqué sur «OK», la partie droit s'affiche et nous demande un nom pour cette variable et une valeur : On entre le nom «app_name» et la valeur «hello prenom» pour la phrase qui s'affichera tout en haut de notre application (Attention : cette variable doit absolument exister dans n'importe quel projet Android) : On crée ensuite trois autres variables «String» pour compléter l'interface, voici les paramètres a rentré : La première qui correspond au label de notre «edittext» : Nom : «prenom» valeur : «Entrez votre prénom :»

La deuxième qui correspond au texte dans l' «edittext», qui indique à l'utilisateur d'inscrire leur prénom ici : Nom : «prenomhint» Valeur : «Tapez votre prénom...» Un troisième qui correspond au texte à l'intérieur du bouton : Nom : «bouton» Valeur : «Valider» Voilà pour les chaînes de caractères de notre interface, on va maintenant s'occuper des couleurs de notre appli. o Couleurs o Toujours dans le dossier /res/values, on crée un fichier «couleur.xml». A l'intérieur on va créer 3 couleurs : Donc on clique comme tout à l'heure sur «add» : Ensuite on choisit le type «Color» : Puis on va compléter les paramètres : Nom : «couleurmessage» Valeur : «#221596»

En valeur, on renseigne la couleur en hexadécimale. Pour trouver les valeurs correspondantes on peut utiliser ce site : http://www.jokconcept.net/codes-couleurs-hexdecimal.php et descendre en bas. Puis les deux autres : Nom : «couleurtitre» Valeur : #000000 Pour le fond de notre application : Nom : «couleurfond» Valeur : #DDDDDD o Dimension Ensuite on va s'occuper de la dimension du texte qui s'affiche en bleu. Donc on crée un fichier dans /res/values qui s'appelle «dimension.xml». On crée une variable de type «Dimension» : Nom : «dimmessage» Valeur : 30px o Interface Maintenant on va créer l'interface de notre application en utilisant les variables qu'on a créées précédemment. Avec ce schéma, on comprendra comment fonctionne la création d'interface en XML :

On a tout d'abord un Linear Layout vertical qui contiendra tous les autres composants. Dans celui-ci on insère tout d'abord un «TextView» qui affichera : Puis on insère un Linear Layout Horizontale qui contiendra notre EditText (ou l'utilisateur entrera son prénom) et le bouton. Et enfin on insère le TextView qui affichera le prénom. Avec cette liste on sait comment sera organisé notre code XML. On ouvre le fichier qui est dans /res/layout nommé main.xml. Linear Layout Vertical De base le Linear Layout qui contient l'interface est déjà créé, on ajoutera juste la couleur de fond : <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent" android:background= "@color/couleurfond" > La ligne ajoutée : android:background= "@color/couleurfond" «android:background» est la propriété de l'arrière-plan du Linear Layout. «@color» est le type de variable qu'on va assigner à l'arrière-plan. «couleurfond» est la variable qu'on a créé précédemment qui contient la couleur de fond.

TextView Ensuite on place le TextView qui contiendra le titre : <TextView android:id="@+id/textviewprenom" android:text="@string/prenom" android:textcolor="@color/couleurtitre" o Explication : On crée un «TextView» avec cette balise : On lui donne aussi un identifiant unique avec lequel on l appellera dans la partie java android:id="@+id/textviewprenom" La variable est de type «@+id» et possède comme nom «TextViewPrenom» Ensuite on lui donne des dimensions : Largeur : Avec «fill_parent», le TextView prend toute la place disponible en largeur. Longueur : Avec «wrap_content», le TextView prend seulement la place qu'il a besoin. On lui affecte ensuite le texte qu'on a entré tout à l'heure dans la variable Prénom : android:text="@string/prenom" C'est toujours le même système : On donne le type et après le nom de la variable créé. Puis on lui donne la couleur qu'on a créé : android:textcolor="@color/couleurtitre" Linear Layout Horizontale <LinearLayout android:orientation="horizontal" > code </LinearLayout> On lui donne l'orientation horizontale : android:orientation="horizontal" Et on lui donne aussi des dimensions :

EditText A l'intérieur de celui-ci on insère l'edittext, là où l'utilisateur rentre son prénom : <EditText android:id="@+id/edittextprenom" android:layout_weight="1" android:layout_gravity="bottom" android:hint="@string/prenomhint" C'est le même principe que la TextView. On lui donne un identifiant «EditTextPrenom» : android:id="@+id/edittextprenom" Puis des dimensions. On lui donne aussi une priorité par rapport au bouton qu'on va ajouter après. L'EditText et le bouton étant sur la même ligne, on attribue un poids prioritaire a l'edittext, pour qu'il prenne plus de la moitié de l'écran : android:layout_weight="1" Ensuite on le positionne en bas du Linear Layout : android:layout_gravity="bottom" Et on lui affiche une phrase par défaut («Tapez votre prénom...») dont on a créée la valeur plus tôt : android:hint="@string/prenomhint" Bouton Pour le composant Button on retrouve le même principe : <Button android:id="@+id/buttonenvoyer" android:text="@string/bouton" Assignation d'un ID : android:id="@+id/buttonenvoyer" Des dimensions : Et un texte sur le bouton qu'on a créé précédemment («Valider») : android:text="@string/bouton" TextView prénom Après avoir fermé le Linear Layout horizontal :

</LinearLayout> On ajoute le TextView qui va afficher le prénom qu'on aura rentré dans l'edittext lorsqu'on aura cliqué sur le bouton. C'est toujours le même procédé : <TextView android:id="@+id/textviewhello" android:layout_height="fill_parent" android:layout_gravity="center_horizontal" android:textsize="@dimen/dimmessage" android:textcolor="@color/couleurmessage" Un ID : android:id="@+id/textviewhello" Une dimension : 2 android:layout_height="fill_parent" On le positionne au centre : android:layout_gravity="center_horizontal" Ici on applique une dimension en utilisant la variable qu'on a créée précédemment (30px) : android:textsize="@dimen/dimmessage" Et on donne une couleur au texte qui s'affiche («#221596») : android:textcolor="@color/couleurmessage" Et enfin, la dernière ligne doit fermer le Linear Layout Vertical. </LinearLayout> Dans cette partie XML, on a vu comment créer des variables (dimensions, textes, couleur) dans «res/values» et comment créer l'interface principale de notre application (le fichier main.xml dans «res/layout») à l'aide de LinearLayout et d'autres composants utilisateur (bouton, EditText, TextView). Main.xml : <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent" android:background= "@color/couleurfond" > <TextView android:id="@+id/textviewprenom" android:text="@string/prenom" android:textcolor="@color/couleurtitre"

<LinearLayout android:orientation="horizontal" > <EditText android:id="@+id/edittextprenom" android:layout_weight="1" android:layout_gravity="bottom" android:hint="@string/prenomhint" <Button android:id="@+id/buttonenvoyer" android:text="@string/bouton" </LinearLayout> <TextView android:id="@+id/textviewhello" android:layout_height="fill_parent" android:layout_gravity="center_horizontal" android:textsize="@dimen/dimmessage" android:textcolor="@color/couleurmessage" </LinearLayout> Dans cette partie 2, on va réaliser la partie JAVA de l'application. http://www.android-dev.fr/web/blog/voir/72?titre=premi%c3%a8re-application-partie-1-xml Fichier JAVA Pour commencer, aller dans l'arborescence du projet dans Eclipse, dans le dossier «src», puis rentrer dans le paquet («com.androiddev.prenom») et double clique sur le fichier java («hello.java»). Vous devriez avoir ce code : package com.androiddev.test; import android.app.activity; import android.os.bundle; public class test extends Activity { /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); }

} Import On va tout d'abord rajouter tous ses imports à la suite des autres : import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.widget.toast; Ce qui donne : package com.androiddev.test; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.widget.toast; Classe Ce qui va nous permettre d'instancier tous les objets nécessaires pour réaliser notre application. Ensuite on définit notre classe hello de type Activity : public class hello extends Activity { Tout le code Java suivant sera dans cette classe. Composants Ensuite on va déclarer nos composants dynamiques (Bouton, EditText et chaine de caractères qui affichera le prénom) qui sont nécessaires :

private EditText edittext; private Button button; private String prenom; Ce qui donne : public class hello extends Activity { private EditText edittext; private Button button; private String prenom; } Evenement oncreate() On va ensuite créer la méthode qui s'exécutera à la création de l'activity hello (On met en paramètre cette variable de type Bundle qui est utile en cas de fermeture non prévue de l'activity) : 1 public void oncreate(bundle savedinstancestate) { Ensuite on initialise la création : super.oncreate(savedinstancestate); Puis on affiche le Layout qu'on a créé en XML (main.xml) : setcontentview(r.layout.main); Instanciation des composants Ensuite on va instancier l'edittext et le bouton : edittext = (EditText) findviewbyid(r.id.edittextprenom); button = (Button) findviewbyid(r.id.buttonenvoyer); findviewbyid : Cette méthode va permettre d'instancier un composant par rapport à celui créé dans le fichier XML (rappelez-vous : <EditText android:id="@+id/edittextprenom", l'id EditTextPrenom est réutilisé dans cette méthode). A noter que l'on a réalisé un «cast» :(EditText), (Bouton). Ceci oblige la méthode précédente à retourner un objet de type EditText ou Bouton.

Listener Ensuite on cré un «écouteur» sur le bouton : button.setonclicklistener( new OnClickListener() { public void onclick(view v) { A l'intérieur de la fonction onclick, on placera le code qui permet d'afficher le texte remplie dans l'edittext. La chaîne rentrée par l'utilisateur Ensuite on retourne ce que l'utilisateur a rentré dans l'edittext dans la variable de type String crée précédemment : prenom = edittext.gettext().tostring(); Pop-up Avec la fonction suivante, on va pouvoir afficher dans un pop-up le nom rentré dans l'edittext : 1 Toast.makeText(hello.this, "Bonjour " + prenom + "!", Toast.LENGTH_LONG).show(); Pour afficher un pop-up, on utilise cette fonction : Toast.makeText(Context context, CharSequence text, int duration) ; Le 1er paramètre (Context context) : Ici on place le pop-up dans l'activity actuelle (hello.this). Le 2ème (CharSequence text) : Ici on rentre le texte que l'on veut afficher ("Bonjour " + prenom + "!"). Donc on concatène le texte «Bonjour» avec la phrase dans l'edittext puis un «!». La 3ème (int duration) : Ici on rentre le temps d'apparition du pop-up. On peut rentrer «Toast.LENGTH_LONG» ou «Toast.LENGTH_SHORT». TextView Ensuite on affiche dans la TextView le prénom rentré dans l'edittext : ((TextView)findViewById(R.id.TextViewHello)).setText("Bonjour " + prenom + "!"); Donc tout d'abord, on choisit la TextView qui affichera la phrase puis on définit le texte. Voilà le récapitulatif de tout le code contenu dans hello.java :

package com.androiddev.prenom; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.widget.toast; public class hello extends Activity { private EditText edittext; private Button button; private String prenom; /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); //récupération de l'edittext grâce à son ID edittext = (EditText) findviewbyid(r.id.edittextprenom); //récupération du bouton grâce à son ID button = (Button) findviewbyid(r.id.buttonenvoyer); //on applique un écouteur d'événement au clique sur le bouton button.setonclicklistener( new OnClickListener() { public void onclick(view v) { //on récupère le texte écrit dans l'edittext prenom = edittext.gettext().tostring(); Toast.makeText(hello.this, "Bonjour " + prenom + "!", Toast.LENGTH_LONG).show(); ((TextView)findViewById(R.id.TextViewHello)).setText("Bonjour " + prenom + "!"); } } ); } }