Developpez.com

Club des développeurs et IT pro
Plus de 4 millions de visiteurs uniques par mois

Developpez.com - Java
X

Choisissez d'abord la catégorieensuite la rubrique :


Introduction à la programmation sous Android

Date de publication : 08 avril 2011.

Par Feanorin
 

Ce tutoriel a pour but de vous présenter succinctement Android, ainsi que les prémices de la programmation sous celui-ci.

       Version PDF (Miroir)   Version hors-ligne (Miroir)
Viadeo Twitter Facebook Share on Google+        



I. Android, c'est quoi ?
II. Composantes d'une application Android
2.1. Activities (Activités en français)
2.2. Services
2.3. Broadcast and Intent Receivers
2.4. Content providers
III. Cycle de vie d'une application Android
3.1. OnCreate
3.2. onStart
3.3. onResume
3.4. onPause
3.5. onStop
3.6. onDestroy
IV. Installer votre environnement de développement
4.1. Installation du SDK Android
4.2. Configuration de votre environnement de développement
V. Ma première application sous Android
5.1. Création du projet « Hello World »
5.2. Explication de l'arborescence du projet
5.3. Hello, World!
VI. Conclusion
VII. Remerciements
VIII. Liens


I. Android, c'est quoi ?

Android est un OS mobile Open Source pour smartphone, PDA, MP3 et tablette. Conçu initialement par Android Inc , il a été racheté par Google en 2005.

Pour commencer la programmation Android, il faut d'abord installer le SDK Android et comprendre les bases de la programmation sous Android. Puis nous allons faire notre premier programme sous Android c'est-à-dire le bien connu « Hello Word » pour bien comprendre ces bases.


II. Composantes d'une application Android

Une application Android est composée d'éléments de base :


2.1. Activities (Activités en français)

Une activité est la composante principale pour une application Android. Elle représente l'implémentation métier dans une application Android.

Prenant l'exemple d'une application qui liste tous vos fichiers mp3 présents dans votre téléphone, le projet pourrait se décomposer comme ci-dessous :


2.2. Services

Un service, à la différence d'une activité, ne possède pas de vue mais permet l'exécution d'un algorithme sur un temps indéfini. Il ne s'arrêtera que lorsque la tâche est finie ou que son exécution est arrêtée.

Il peut être lancé à différents moments :


2.3. Broadcast and Intent Receivers

Un Broadcast Receiver comme son nom l'indique permet d'écouter ce qui se passe sur le système ou sur votre application et déclencher une action que vous aurez prédéfinie. C'est souvent par ce mécanisme que les services sont lancés.


2.4. Content providers

Les « content providers » servent à accéder à des données depuis votre application. Vous pouvez accéder :


III. Cycle de vie d'une application Android


3.1. OnCreate

Cette méthode est appelée à la création de votre activité (Activity). Elle sert à initialiser votre activité ainsi que toutes les données nécessaires à cette dernière.

Quand la méthode OnCreate est appelée, on lui passe un Bundle en argument. Ce Bundle contient l'état de sauvegarde enregistré lors de la dernière exécution de votre activité.


3.2. onStart

Cette méthode est appelée dans le cas où votre application est en arrière-plan et qu'elle repasse en avant-plan.

Si votre activité ne peut pas aller en avant-plan quelle que soit la raison, l'activité sera transférée à OnStop.


3.3. onResume

Cette méthode est appelée après OnStart (au moment où votre application repasse en avant-plan).

OnResume est aussi appelée quand votre application passe en arrière-plan à cause d'une autre application.


3.4. onPause

Appelée juste avant qu'une autre activité que la vôtre passe en OnResume. À ce stade, votre activité n'a plus accès à l'écran, vous devez arrêter de faire toute action en rapport avec l'interaction utilisateur. Vous pouvez par contre continuer à exécuter des algorithmes nécessaires mais qui ne consomment pas trop de CPU.


3.5. onStop

Appelée quand votre activité n'est plus visible quelle que soit la raison.


3.6. onDestroy

Appelée quand votre application est totalement fermée (Processus terminé).


IV. Installer votre environnement de développement


4.1. Installation du SDK Android

1. Pour commencer allez sur le lien suivant : http://developer.android.com/sdk/index.html et téléchargez la version du SDK qui convient à votre OS. Pour la suite on est sur un Windows 7.
2. Vous avez le choix entre la version Zip ou la version exe. Dans cet exemple on a pris la version Zip.
3. 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.
4. Lancez l'exécutable « SDK Setup » qui se trouve à la racine du dossier.
5. La fenêtre suivante apparait (la dernière version actuelle du SDK est 2.3) :

6. Choisissez ce que vous voulez installer. Par exemple :

7. Cliquez sur « Install ».
8. Installez 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.
9. Il faut aussi installer JDK (Java Development Kit) et JRE (Java Runtime Environement) si ce n'est pas déjà fait : http://java.sun.com/javase/downloads/index.jsp.
10. Lancez votre Eclipse, allez dans le menu « Help and Install New Software »
11. Dans la partie « Available Software », cliquez sur « Add ».
12. Rajoutez le nom du site (« ADT plugin » par exemple). Dans la location rajoutez : https://dl-ssl.google.com/android/eclipse/, puis cliquez sur OK.
13. Revenez dans « Available Software », vous devez voir « Developer Tools ». Sélectionnez-le et appuyez sur « Next ».
14. Cliquez sur « Next » pour lire et accepter la licence et puis cliquez sur « Finish ».
15. Pour finir l'installation relancez Eclipse.

Voilà votre environnement de développement est prêt à être utilisé.


4.2. Configuration de votre environnement de développement

Vous avez dû remarquer qu'un nouvel élément est apparu dans votre Eclipse dans le menu du haut (un petit Android qui sort d'une boîte) :

Cliquez sur l'icône en question, une nouvelle fenêtre va apparaître.

Cet écran vous permettra de :

L'émulateur apparaîtra maintenant dans la liste des émulateurs disponibles.

Maintenant on va passer à la partie la plus intéressante.


V. Ma première application sous Android


5.1. Création du projet « Hello World »

Dans Eclipse, cliquez sur « File -> New -> Android Project ». La fenêtre ci-dessous s'affichera :

Remplissez les champs :

Puis cliquez sur « Finish », le projet « Hello World » va apparaître dans l'arborescence d'Eclipse.


5.2. Explication de l'arborescence du projet

Voici le résultat de la création de votre projet et l'arborescence de ce dernier


5.3. Hello, World!

Le projet exemple créé de base par Eclipse représente un « Hello World! ». Vous pouvez le lancer en tant qu'une application Android. Pour cela, il vous suffit de cliquer droit sur le projet, puis sélectionner l'option « Run As -> Android Application » et la l'émulateur devrait se lancer. L'émulateur prendra un peu de temps à se lancer la première fois (ne le fermez pas entre vos différentes modifications).

Voilà le deuxième écran qui devrait s'afficher si tout se passe bien (le premier est pareil mais avec juste écrit « Android »)

Notre Hello Word est bien fonctionnel mais reste encore à le comprendre. Allons voir le code pour comprendre ce qui se passe.


<?xml version="1.0" encoding="utf-8"?>
<manifest
      xmlns:android="http://schemas.android.com/apk/res/android"
      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>

<xml version="1.0" encoding="utf-8">
<resources>
<string name="hello">
Hello World, HelloWorldActivity!
</string>
<string name="app_name">Hello World</string>
</resources>

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);
    }
}

/* 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;
    }
}
warning 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).


VI. Conclusion

Voilà on s'arrête ici pour ce premier tutoriel, d'autres tutoriels vont suivre très prochainement et aborderont des sujets plus approfondis.


VII. Remerciements

Je tiens à remercier tout particulièrement Feanorin qui a mis ce tutoriel au format Developpez.com.
Merci également à ClaudeLELOUP ainsi qu'à jpcheck d'avoir pris le temps de le relire et de le corriger.


VIII. Liens




               Version PDF (Miroir)   Version hors-ligne (Miroir)

Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -