Android, c’est quoi ?
Composantes d’une application Android
Activities (Activités en Français)
- Une vue pour afficher la liste des mp3.
- Une activité pour gérer le remplissage et l’affichage de la liste.
- Si l’on veut pouvoir rajouter, supprimer des mp3, on pourrait rajouter d’autres activités.
Services
- Au démarrage du téléphone.
- Au moment d’un événement (arrivée d’un appel, SMS, mail, etc…).
- Lancement de votre application.
- Action particulière dans votre application.
Broadcast and Intent Receivers
Content providers
- Aux contacts stockés dans le téléphone.
- A l’agenda.
- Aux photos.
- Ainsi que d’autres données depuis votre application grâce aux content providers.
Cycle de vie d’une application Android
onCreate
onStart
onResume
onPause
onStop
onDestroy
Installer votre environnement de développement.
Installation du SDK Android
- Pour commencer allez sur le lien suivant : http://developer.android.com/sdk/index.htmlet téléchargez la version du SDK qui convient à votre OS. (Pour la suite on est sur un Windows 7).
- Vous avez le choix entre la version zip ou la version exe. Dans cet exemple on a pris la version Zip.
- Une fois le SDK téléchargé, allez dans le dossier où se trouve le fichier zip et l’extraire dans le dossier de votre choix.
- Lancez l’exécutable « SDK Setup » qui se trouve à la racine du dossier.
- La fenêtre suivante apparait (La dernière version actuelle du SDK est 2.3) :
- Choisissez ce que vous voulez installer. Par exemple :
- SDK Platform Android 2.x, : Correspond tout simplement au SDK Android basique en version 2.x.
- Samples for SDK API 7 : Correspond à quelques exemples.
- Android + Google APIs : Correspond au SDK Android (1ère option) + Google Api qui inclut différentes fonctions comme GoogleMap…etc.
- Galaxy Tab : C’est le SDK pour la tablette Samsung Galaxy Tab
- En cas de problème d’installation, allez dans « Settings » et cochez « Force https://… sources to be fetched using http://…« .
- Cliquez sur « Install ».
- Installer Eclipse : http://www.eclipse.org/downloads/ (Téléchargez une version comprenant Java, Soit la version pour les développeurs Java ou la version pour les développeurs J2EE) : Version installée pour ce tutoriel : 3.6.1 Helios.
- Il faut aussi installer JDK (Java Development Kit) et JRE (Java Runtime Environement) si c’est pas déjà fait : http://java.sun.com/javase/downloads/index.jsp.
- Lancez votre Eclipse, Allez dans le menu « Help and Install New Software »
- Dans la partie « Available Software », cliquez sur « Add ».
- Rajoutez le nom du site (« ADT plugin » par exemple). Dans la location rajoutez : https://dl-ssl.google.com/android/eclipse/, puis cliquez sur OK.
- Revenez dans « Available Software », vous devez voir « Developer Tools ». Sélectionnez-le et appuyez sur « Next ».
- Cliquez sur « Next » pour lire et accepter la licence et puis cliquez sur « Finish ».
- Pour finir l’installation relancez Eclipse.
Configuration de votre environnement de développement
- Installer de nouveaux paquets (Available Packages).
- Mettre à jour vos paquets.
- Voir les paquets déja installés (Installed Packages).
- Créer votre émulateur Android et cela grâce à l’onglet « Virtual Devices ». Cliquez sur le bouton « New ». Une nouvelle fenêtre pour la création de votre émulateur apparaîtra.
- Name : Le nom de votre émulateur (sans espace).
- Target : Version du SDK Android de l’émulateur.
- SD Card (Facultatif) : Configuration de la SD Card (Taille…etc).
- Skins : Choisissez la taille, résolution de votre émulateur. Des émulateurs pré-configurer se trouve dans la partie Built-in.
- Hardware : Cette partie permet de rajouter le matériel spécifique à votre émulateur. Par exemple vous pouvez rajouter un GPS, configurer le clavier, l’accéléromètre, etc…
Ma première application sous Android
Création du projet « Hello World »
- Project name : Le nom du projet. Pour notre exemple on choisira Hello World.
- Build Target : Cochez la SDK que vous souhaitez. On prendra Android 2.3.
- Properties :
- Application name : Le nom de l’application. On choisira Hello World.
- Package name : Le nom du package principal de l’application. Il faut que ce dernier comporte au moins deux identifiants séparés par des points. On prendra com.tuto.android.
- Create Activity : Si vous laissez coché, vous devez spécifier un nom. pour l’activité de base de votre application. nous choisirons HelloWorldActivity.
- Min SDK Version : Vous pouvez spécifier quelle version minimum du SDK est nécessaire pour le fonctionnement de votre application. Ce champs est facultatif.
Explication de l’arborescence du projet
- src : Ce dossier contient les sources de votre application (code JAVA) et les packages.
- com.tuto.android : un package de votre application. Bien sûr vous pouvez avoir plusieurs packages dans votre application.
- HelloWorldActivity.java : Notre principale activité. (Je vous conseille d’avoir plusieurs activités pour les différentes parties de votre code).
- gen : Dossier qui contiendra le fichier R.java (ce fichier est généré automatiquement à partir de vos vues et fichiers de ressource).
- R.java : Ce fichier est automatiquement généré par le SDK Android à chaque pré-compilation.
- assets : Contient des données qui pourront être utilisées dans votre application (images, vidéos, licence…etc).
- res : C’est le dossier qui contiendra les ressources de votre application (images, vidéos, styles).
- drawable-hpdi : Contient toutes images, bitmaps dont vous avez besoin pour votre application en haute résolution.
- drawable-ldpi : Contient toutes images, bitmaps dont vous avez besoin pour votre application en basse résolution.
- drawable-mdpi : Contient toutes images, bitmaps dont vous avez besoin pour votre application en moyenne résolution.
- Icon.png : L’icône de votre application, cet icône sera affichée sur le bureau.
- layout : Le SDK Android offre une technique de création d’interfaces graphiques à l’aide de fichiers XML. C’est dans ce dossier que vous inclurez l’ensemble des fichiers décrivant vos interfaces. Vous pouvez créer d’autres dossiers pour les menus par exemple.
- Main.xml : Le fichier principal de votre interface.
- values : Ce dossier contient un ensemble de fichiers décrivant les valeurs (pseudo variables) utilisées par votre application. On peut, par exemple, y mettre des chaines de caractères (strings.xml), des tableaux (arrays.xml), des entiers, des couleurs, etc….
- Strings.xml : Fichier qui contient vos déclarations de chaines de caractères.
- AndroidManifest.xml : Définit le comportement de votre application au système Android. Ce fichier définit par exemple (Le nom, l’icône, la version min du SDK, les activités, les services, etc…).
« Hello, World! »
- AndroidManifest.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?xml version="1.0" encoding="utf-8"?><manifest package="com.tuto.android" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".HelloWorldActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest> |
- La balise « manifest » à la ligne deux contient plusieurs arguments, le plus important est »package », qui donne le nom du package dans lequel se trouve votre activité principale.
- La balise « application » sert à la déclaration de différentes propriétés de votre application :
- android:icon : L’emplacement où se trouve l’icône de votre application.
- android:label : Le nom de votre application (il se trouve dans strings.xml).
- La balise « activity » permet de déclarer une activité, à chaque nouvelle activité il faut remettre cette balise.
- android:name : le nom de la classe java qui représente l’activité. Le nom doit commencer par un . et on ne met pas le .java à la fin.
- android:label : le label de l’activité en question
- intent-filter : c’est pour spécifier une action.
- la sous balise action est pour spécifier l’action à exécuter, dans notre cas c’est le main.
- la sous balise category est là pour spécifier la catégorie de l’action.
- Voici un lien qui explique les différents types d’actions et de catégories : http://developer.android.com/guide/topics/intents/intents-filters.html.
- strings.xml
1 2 3 4 5 6 7 | <xml version="1.0" encoding="utf-8"><resources><string name="hello">Hello World, HelloWorldActivity!</string><string name="app_name">Hello World</string></resources> |
- dans les balises resources, on met une balise string à chaque fois que l’on a besoin de déclarer une chaine de caractères.
- on déclare deux chaines :
- La chaine hello qui contiendra « Hello World, HelloAndroActivity! » qui est le message qui sera affiché dans l’application
- La chaine app_name qui contient « Hello Andro » qui représente le nom de l’application
- main.xml
- On dispose de deux modes de visualisation.
- Onglet Layout : Mode visualisation et édition d’interface.
- Onglet main.xml : mode code source
- On commence par une balise qui définit le layout : ici LinearLayout.
- Voici un lien pour la liste des différents layout : http://developer.android.com/reference/android/view/ViewGroup.html.
- On déclare une composante TextView pour afficher du texte et on lui dit qu’elle doit afficher le contenu de @string/hello, donc de la variable hello qui est déclarée dansstrings.xml c’est à dire « Hello World, HelloWorldActivity! ».
- On dispose de deux modes de visualisation.
- HelloAndroActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 | package com.mti.android;import android.app.Activity;import android.os.Bundle;public class HelloAndroActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }} |
- Notre main activité. Elle doit hériter de la classe Activity ou d’une sous classe de cette dernière.
- http://developer.android.com/reference/android/app/Activity.html.
- La méthode « OnCreate » est équivalente au main, elle est appelée à la création de votre vue.
- On appelle simplement le OnCreate de la classe mère puis on initialise la vue. Puis, on met dedans R.layout.main, c’est-à-dire la vue déclarée dans le fichier main.xml.
- A chaque fois que vous voyez « R » , c’est à dire que l’on utilise du code qui a été généré par les différents fichiers xml de ressource.
- « R.layout » : On va chercher la vue déclarée dans le dossier layout et qui s’appellemain donc notre main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */package com.mti.android;public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; }} |
- Vous ne devez pas toucher à ce fichier, il est généré automatiquement à partir de vos fichiers qui se trouvent dans le dossier des ressources (res).
- Vous remarquez que toutes les variables déclarées dans strings.xml sont présentes, que l’interface déclarée dans main.xml aussi (Ce qui explique l’utilisation de la ligne R.layout.main dans le HelloWorldActivity.java) ainsi que l’icône de l’application.
16:18
.Wassim El Mririe && Ramzi Essid


