Académique Documents
Professionnel Documents
Culture Documents
Elie Dagher
6601f
Maha Dehayni
4996f
Septembre 2011
Tables des Matires Introduction : ...................................................................................................................................................... 4 Partie A :Outils de dveloppement.................................................................................................................. 5 Premire tape Deuxime tape Troisieme Etape Quatrime Etape :Tlchargement et Installation d'Eclipse ...................................................................... 5 :Installation du Plugin Android pour Eclipse ................................................................ 5 :Ajouter Andoid SDK ........................................................................................................ 8 :Cration dun AVD (Android Virtual Devices ) ........................................................... 8
Partie B :Creation du projet ............................................................................................................................ 9 Cration de notre projet ................................................................................................................................. 9 Configuration BuildPath................................................................................................................................11 Structures du Project Androde....................................................................................................................12 Partie C : Notre application............................................................................................................................. 14 I. A. B. C. II. 1. 2. 3. 4. Vue globale...........................................................................................................................................14 IMC :une application qui calcule lindice de masse corporelle ....................................................15 Convertisseur de temprature : ......................................................................................................15 Un jeu Snake. ...................................................................................................................................16 Explication du code..............................................................................................................................17 Layout :.............................................................................................................................................17 Activity : ...........................................................................................................................................20 Le Manifest : ....................................................................................................................................24 Autres ressources : ..........................................................................................................................25
Introduction :
Android est un systme d'exploitation pour tlphone portable de nouvelle gnration dvelopp par Google. Dans ce tutoriel nous vous expliquons les mthodes de dveloppement Android .Nous commenons tout dabord par expliquer comment installer simplement les outils de dveloppement Android .Nous vous montrerons galement comment raliser une application pour Android avec petite explication de code, cration des classes, mthodes etc.
SDK ( Software Development Kit) La version complte d'Eclipse (outillage Java, outillage pour le dveloppement de plug-ins, code source) se nomme Eclipse SDK. Pour tlcharger lEclipse SDK, il faut aller ce lien http//:www.eclipse.org/downloads/download.php?file/=eclipse/downloads/drops/R-3.6.2201102101200/eclipse-SDK-3.6.2-win32.zip Pour fonctionner, Eclipse ncessite un JDK (Java Development Kit). Cest l'environnement dans lequel le code Java est compil pour tre transform en bytecode afin que la machine virtuelle Java (JVM) puisse l'interprter. La version 3.6.2 dEclipse SDK a t valide avec le JDK 5.0, l'utilisation d'un JDK 6 ne pose gnralement pas de problme. :
Deuxime tape
AndroidDevelopmentTools ( ADT ) Cest un plugin pour Eclipse SDK dsign pour vous donner un environnement convenable pour construire des applications Android. Apres dmarrer Eclipse : 1 -Ouvrir le menu Help Install new software. 2 -Appuyer sur le bouton Add. 3 -Remplir les champs suivants :
Lorsque linstallation termine on trouve le Developer Tools . Cochez la case juste devant Developer Tools puis cliquez sur le bouton Next
Accepter les termes dutilisation puis appuyer sur finish pour lancer linstallation.
Troisieme Etape
Dans Eclipse ouvrir le menu Window Preferences Cliquer sur Android Apply ou ok . puis Browse et indiquer la location du SDK puis cliquer sur
Quatrime Etape
Un AVD est un tlphone Android virtuel dans lequel on va lancer notre application. Allez dans le menu WindowAndroid SDK and AVD Manager Cliquez sur New et remplissez cette fentre :
Remplissez les champs :Application Name, Package name, Create activity. Puis cliquez sur Finish. Vous obtenez comme la figure suivante.
10
Configuration BuildPath
Right click sur le nom de votre projet First Project Choisissez Build PathConfigure Build Path Allez dans longlet Order and Export et cochez la case devant Android 2.2
11
12
o layout :Le SDK Android offre une technique de cration dinterfaces graphiques laide de fichiers XML .Cest dans ce dossier que vous inclurez lensemble des fichiers dcrivant vos interfaces. o values :Ce dossier contient un ensemble de fichiers dcrivant les valeurs utilises par votre application .On peut, par exemple, y mettre des chaines de caractres, des entiers, des couleurs (strings.xml), des tableaux (arrays.xml), etc . AndroidManifest.xml :Cest le point de dpart de toute application Android. Cest dans ce fichier que lon dclare ce que contiendra lapplication- les activits, les services, ).
13
14
B. Convertisseur de temprature : Une application qui convertie la temprature entre Celsius et Fahrenheit.
15
C. Un jeu Snake.
1 2
16
Choisissez Other
17
Ici vous introduisez le nom du fichier XML et vous choisissez le type layout. Vous obtenez une interface graphique vide pour la remplir vous choisissez des lments de la palette qui se trouve gauche de lcran :
18
Palette EditText
TextView
Deux boutons .
Ici nous avons utilis : Un Table Layout :qui nous permet darranger les lments graphiques sur des diffrentes lignes(TableRow) et sur le mme niveau. Un TableRow :cest un lment du TableLayout, chaque TableRow contient zro ou plusieurs cellules. Des widgets :deux TextView qui reprsentent des textes statiques (Taille et poids) et trois autres sans textes qui reprsentent le rsultat du test, et deux boutons (calcul qui lance lexcution de lActivit, et Menu qui nous permet de retourner au menu principal). EditText :qui permet lutilisateur dentrer sa taille et son poids. Et voici limc.xml qui sera cr automatiquement partir du GUI :
19
<?xml version"=1.0 "encoding"=utf-8"?> <TableLayout android:id"=@+id/TableLayout01 " android:layout_width"=fill_parent " android:layout_height"=fill_parent" android:stretchColumns"=1" xmlns:android"=http//:schemas.android.com/apk/res/android " android:weightSum"=1 "android:background"=@color/myColor"> <TableRow android:layout_width"=100dp "android:layout_weight"=0.13"> <TextView android:id"=@+id/textView1 " android:textAppearance"=?android:attr/textAppearanceMedium " android:layout_height"=wrap_content "android:text"=Taille " android:layout_width"=0dp "android:layout_weight"=1"></TextView> <EditText android:id"=@+id/taille "android:layout_width"=0dp " android:numeric"=decimal "android:layout_weight"=1 " android:layout_height"=wrap_content"> <requestFocus></requestFocus> </EditText> </TableRow> <TableRow android:layout_weight"=0.13"> <TextView android:id"=@+id/textView2 " android:textAppearance"=?android:attr/textAppearanceMedium " android:layout_height"=wrap_content "android:text"=Poids " android:layout_weight"=1 "android:layout_width"=0dp"></TextView> <EditText android:id"=@+id/poids "android:layout_height"=wrap_content " android:numeric"=decimal "android:layout_weight"=1 " android:layout_width"=0dp"> </EditText> </TableRow> <TextView android:id"=@+id/result " android:textAppearance"=?android:attr/textAppearanceMedium " android:layout_width"=wrap_content "android:layout_height"=0dp " android:layout_weight"=0.13"></TextView> <TextView android:id"=@+id/classf " android:textAppearance"=?android:attr/textAppearanceMedium " android:layout_width"=wrap_content "android:layout_height"=0dp " android:layout_weight"=0.13"></TextView> <TextView android:id"=@+id/pbs " android:textAppearance"=?android:attr/textAppearanceMedium " android:layout_width"=wrap_content "android:layout_height"=0dp " android:layout_weight"=0.13"></TextView> <Button android:onClick"=myClickHandler "android:id"=@+id/b2IMC " android:layout_width"=wrap_content "android:text"=Calcul " android:layout_height"=0dp "android:layout_weight"=0.13"></Button> <Button android:layout_height"=0dp "android:layout_weight"=0.13 " android:id"=@+id/b1IMC "android:layout_width"=wrap_content " android:text"=Menu"></Button> </TableLayout>
2. Activity : Lors de la cration du projet, Eclipse donne la possibilit de crer une classe java qui tend la classe Activity et qui explique le comportement de lapplication lors de son excution.
20
Normalement, pour chaque application dans notre projet FirstProject il faut y avoir une classe dactivit ; pour ce but crer sous le rpertoire src et dans le paquetage lb.isae.FirstProject une classe java nomme imc.java qui tend la classe Activity : Cette classe doit contenir : a. Une mthode onCreate qui override la mthode onCreate dans la classe Activity :Cette mthode rcupre tous les identifiants des Widgets dfinis dans imc.xml laide de la mthode prdfinie setContentView(R.layout.imc) : La classe R.java gnr automatiquement nous permettra trs facilement de rcuprer des rfrences Java sur ces Widgets. Ensuite nous allons ajouter des couteurs afin de capter les vnements.
package lb.isae.FirstProject; import import import import import import import import lb.isae.FirstProject.R; android.app.Activity; android.os.Bundle; android.view.View; android.widget.Button; android.widget.EditText; android.widget.TextView; android.widget.Toast;
Un couteur
Button b1IMC=(Button) findViewById(R.id.b1IMC); b1IMC.setOnClickListener(new View.OnClickListener (){ @Override public void onClick(View v) { finish();
} }); }
. . . . . . . . .
Ici lcouteur associ au bouton Menu (b1IMC) permet de fermer lapplication et de retourner vers le menu principal. b. Une autre manire pour rcuprer les vnements cest de crer lcouteur dans une mthode autre que la mthode onCreate puis dassocier cette mthode au
21
bouton convenable travers le GUI, comme nous avons fait avec le bouton calcul :
public void myClickHandler(View view) { EditText taille=(EditText)findViewById(R.id.taille); EditText poids=(EditText)findViewById(R.id.poids); TextView result=(TextView)findViewById(R.id.result); if ((taille.getText().length() == 0)||(poids.getText().length()==0)) { Toast.makeText(this, "Entrez une valeur", Toast.LENGTH_LONG).show(); return; } float inputValue1 = Float.parseFloat(taille.getText().toString()); float inputValue2 = Float.parseFloat(poids.getText().toString()); result.setText(imcCalc(inputValue1,inputValue2));
}//end myClickhandler . . . . . . . . . . . .
Comment associer le bouton Calcul avec la mthode myClickHandler ? Dans le GUI slectionnez le bouton Calcul->Right click-> properties-> onClick
22
Puis appuyez sur Ok, maintenant chaque fois quon appuie sur le bouton Calcul, lvnement dfinit dans myClickHandler sera dclench. c. Enfin, pour terminer la classe IMC.java nous ajoutons les mthodes appeles par myClickHandler qui effectuent le calcul de lindice IMC et affiche le rsultat lcran:
23
public String imcCalc(float val1,float val2){ String res""=; val1=val1/100; val1=*val1; float imc=val2/val1; res"=Votre Imc+" =imc;
TextView classf=(TextView)findViewById(R.id.classf); classf.setText(classification(imc)); TextView pbs=(TextView)findViewById(R.id.pbs); pbs.setText(pbs(imc)); return res; Classification du poids } public String classification(float imc){ String res="Classification:" ; If(imc<18.5)res"=+Poids Insuffisant"; If(imc>=18.5 && imc<24.9) res=+ "Poids Normal"; If(imc>=24.9 && imc<29.9) res=+ "Superpoids ou pr-obsit"; If(imc>=29.9 && imc<34.9) res=+ "Obsit Classe1 (modre)" ; If(imc>=34.9 && imc<39.9) res=+ "Obsit Classe2 (svre)" ; If(imc>=39.9) res=+ "Obsit Classe3 (massive)" ; return res; } Problmes de sant public String pbs(float imc){ String res= "Pbs de sant :" ; If(imc<18.5) res=+ "Accru"; If(imc>=18.5 && imc<24.9)res=+ "Moindre"; If(imc>=24.9 && imc<29.9) res=+ "Accru"; If(imc>=29.9 && imc<34.9) res=+ "Modre"; If(imc>=34.9 && imc<39.9) res=+ "Elev"; If(imc>=39.9) res =+"Trs elev"; return res; } }//end Class IMC.java
3. Le Manifest : Chaque activit crer doit tre dfinit dans le manifest :AndroidManifest.xml :
24
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="lb.isae.FirstProject" android:versionCode="1" android:versionName="1.0"> Le nom de lactivit dans <application android:icon="@drawable/icon" le src sans le .java android:label="@string/app_name"> <activity android:name=".Menu" android:theme="@android:style/Theme.NoTitleBar" Premire android:screenOrientation="portrait" activit lancer android:label="@string/menu_name" lors du android:configChanges="keyboardHidden|orientation"> <intent-filter> dclenchement <action android:name="android.intent.action.MAIN" /> de lapplication <category android:name="android.intent.category.LAUNCHER" /> Les autres activits dclarer ici </intent-filter> lintrieur du </activity>
tag<application></application>
<activity android:name=".Convert"></activity> <activity android:name=".IMC" android:label="Indice De Masse Corporelle"/> <activity android:name=".Snake2Activity"/> </application> <uses-sdk android:minSdkVersion="8" /> </manifest>
4. Autres ressources : Autre que le layout et au-dessous du rpertoire res on a des rpertoires drawable concernant les images (dj expliqus au dbut de ce tutoriel), et un rpertoire values qui nous aide dfinir des diverses valeurs :comme des chane de caractres, des couleurs de fonds, des fonts color, . Par exemple nous avons choisir la couleur bleu comme un couleur de fond de imc.xml pour le faire : A. Double cliquez sur string.xml pour louvrir. B. Cliquez sur Add puis choisir le type de donnes, on aura plusieurs dans notre cas choisissez Color puis appuyez sur Ok.
25
Pour associer cette couleur au background dimc.xml, ouvrez ce dernier, right click sur le Background ->properties-> background
26
3. Choisissez le projet :dans notre cas cest le FirstProject->Next. 4. Comme tant le premier projet on na pas un keystore alors il faut crer un nouvel et lutiliser pour les prochains projets. Un keystore sagit dune signature incorpore votre application la protgeant ainsi de tout individu mal intentionn. Cochez alors loption create new Keystore et remplissez : Location :o sera stocke la cl de signature Password :le mot de passe choisi. Confirm :retaper le mot de passe pour le confirmer. Appuyez sur Next Il vous demande de remplir un peu plus de case comme suit :
Alias :Le nom de lquipe Password :pas ncessairement comme le keystore. Confirm :retapez le password. Validity year : 25 ans par exemple
28
First and Last Name Appuyez sur Next, il vous demande de choisir une destination pour le fichier .apk Choisissez une et cliquez sur finish Enfin laide dun cble USB transfrez FirstProject.apk sur votre sdcard.
29