Académique Documents
Professionnel Documents
Culture Documents
Découvrir la plateforme
Android
❚ source : http://fr.wikipedia.org/wiki/Android
© JMF (Tous droits réservés) 4
Les différentes versions
(1/2)
❚ 1.0 : Version connue des développeurs : sortie avant le premier téléphone
Android (fin 2007)
❚ 1.1 : Version incluse dans le premier téléphone, le HTC Dream
❚ 1.5 : Cupcake (Petit Gâteau), sortie en avril 2009
❚ 1.6 : Donut (Beignet), sortie en septembre 2009
❚ 2.0 (2.0.1) : A cause de nombreux bugs, remplacée par la la 2.1
❚ 2.1 : Eclair, sortie en janvier 2010
❚ 2.2 : FroYo (Frozen Yogourt : Yaourt glacé), sortie en mai 2010
❚ 2.3 : Gingerbread (Pain d'épice), sortie le 6 décembre 2010
❚ Versions des machines Android qui ont accédé à Google Play (ex
Android Market) une semaine avant le 2 octobre 2013
❚ Voir à
http://developer.android.com/about/dashboards/index.html
© JMF (Tous droits réservés) 7
Smartphone != ordinateur
❚ Android tire partie des particularités des smartphones :
❙ interface homme machine adapté (tactile, widget)
❙ divers modes : vibreur, sonnerie, silencieux, alarme
❙ notifications (d'applications, d'emails, de SMS, d'appels en instance)
❙ de boussole, accéléromètre, GPS
❙ divers capteurs (gyroscope, gravité, accélération linéaire, baromètre)
❙ NFC, RFID
❙ téléphonie (GSM) et réseau EDGE, 3G
❚ En plus de ce qu'on peut avoir sur un ordinateur : navigateur, bibliothèques
graphiques 2D, 3D (Open GL), base de données (SQLite), applications de
rendu multimédia (audio, vidéo, image) de divers formats, réseau Bluetooth
et Wi-Fi, caméra
AVD Manager
ADT Eclipse
SDK Android
Plugin
❚ Voir aussi à
http://developer.android.com/g
uide/topics/manifest/uses-sdk-
© JMF (Tous droits réservés) 18
element.html
Le AVD (Android Virtual
Device) (1/2)
❚ Pour exécuter les programmes Android, il suffit d'un émulateur. C'est le
AVD (Android virtual device)
❚ A la première utilisation il faut en obtenir un. Par la suite on pourra
utiliser toujours celui là
❚ Dans Eclipse, on peut construire un nouvel AVD
par le
bouton
de la
barre de
menu :
ou bien par Window | AVD Manager
© JMF (Tous droits réservés) 19
Le AVD (Android Virtual
Device) (2/2)
❚ Dans la fenêtre "Android Virtual Device Manager" cliquer New...
❚ Dans la fenêtre "Create new Android Virtual Device (AVD)", Donner lui
un nom "parlant" puis le chercher dans la liste Target
Développement Android
❚ Remarque :
Suivant les versions des
environnements que vous
avez, vous pouvez avoir
des fenêtres légèrement
différentes des captures
d'écran des diapos
suivantes
❚ On obtient la fenêtre :
Le nom de l'application
(qui apparaîtra sur le
smartphone)
Le nom du projet (utile
pour eclipse)
Le nom du paquetage
(utile pour le
développement Java)
Le numéro d'API cible (=
Le numéro d'API minimale de l'application est plutôt
l'application (pour un smartphone de destinée aux smartphones
numéro d'API inférieur, l'application ayant ce numéro d'API)
n'est pas exécutée) © JMF (Tous droits réservés) 25
Développement du projet
Hello World (3/4)
❚ Cliquez Next > sur les écrans suivants pour arriver à :
• Les composants graphiques ont un identifiant dans le fichier xml qui les
contient (par exemple le main.xml). Cet identifiant est la valeur de
l'attribut android:id et est de la forme "@+id/leId". On récupère,
dans le code, le composant graphique grâce à cet identifiant par l'appel
findViewById(R.id.leId);
• Par exemple
Button leBouton = (Button)findViewById(R.id.leBelId);
ou par :
❚ source : http://developer.android.com/sdk/win-usb.html
© JMF (Tous droits réservés) 48
Charger un driver USB de
smartphone (2/3)
❚ Si vous êtes sous windows, voir ensuite à l'URL
http://developer.android.com/sdk/oem-
usb.html#InstallingDriver
❚ Les principales étapes sont :
❙ Connecter le smartphone à l'ordinateur
❙ Sélectionner l'icône de l'ordinateur, cliquer droit, et sélectionner
Gérer
❙ Sélectionner Gestionnaire de
périphériques dans le panneau
gauche, puis Autres périphériques
dans le panneau droit
© JMF (Tous droits réservés) 49
Charger un driver USB de
smartphone (3/3)
❙ Cliquer droit sur l'icône du smartphone puis l'item "Mettre à jour le pilote"
❙ Dans la nouvelle fenêtre cliquer sur "Rechercher un pilote sur mon
ordinateur"
❙ Aller le chercher dans
RepInstallAndroid%\extras\google\usb_driver\
❙ Cliquer le bouton Suivant
noir
vert
Fenetre Principale
On doit programmer comme :
bt_elips
bt_noir bt_texte
bt_rouge bt_trait
bt_vert bt_rect
noir
vert
texte
on écrit plutôt : c'est à dire : Fenetre Principale
noir
Cont_col Cont_ligne
AireDes s in
import java.util.Date;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
67
strings.xml
main.xml
68
SMBXXX : Programmation Android
strings.xml
strings.xml
69
SMBXXX : Programmation Android
strings.xml
AndroidManifest.xml
70
SMBXXX : Programmation Android
La gestion des
événements
❚ Deux moyens :
❙ 1°) créer un auditeur d'événements (classe qui implémente une
interface connue) et l'enregistrer auprès du composant (View)
❙ 2°) les View sont elles mêmes auditrices de certains
événements : (touché de l'écran). Spécialiser la méthode
adaptée et lancée lorsque l'événement survient
❚ 1°) est classique (Java SE, Java ME). Les interfaces sont des
interfaces internes à la classe View et de nom OnXXXListener
(donc des interfaces de nom View.OnXXXListener). Cela
nécessite d'implémenter une méthode de nom onXXX(). On
enregistre un auditeur par
setOnXXXListener(View.OnXXXListener l)
❚ 2°) permet d'écrire directement la gestion de certains événements
qui peuvent se produire dans la View
© JMF (Tous droits réservés) 71
Créer un auditeur
d'événements : exemple
❚ Le code peut être :
private OnClickListener lAuditeurDuBouton = new OnClickListener() {
public void onClick(View v) {
// code lancé lorsque le bouton est cliqué
}
};
❚ Vérifier que tout s'est bien passé dans l'onglet AndroidManifest.xml. Il doit y
avoir la ligne
<activity android:name=".AProposActivity"></activity>
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// le code lancé lors de la sélection d'un item
}
});
}
static final String[] COUNTRIES = new String[] { ... }
}
❚ Voir à REP_INSTALL_ANDROID\android-sdk\platforms\android-
XXX\data\res\layout\simple_list_item_1.xml
❚ Ce fichier est encodé dans android.jar
❚ Bref les items sont des TextView
© JMF (Tous droits réservés) 87
La "UI Thread" (1/2)
❚ Lorsqu'une application Android est lancée, un seul processus est
créé qui contient une seule thread pour l'application
❚ Cette thread est dite la thread principale
❚ Elle s'occupe, entre autre, de l'affichage et de l'interaction sur les
divers écrans
❚ Voilà pourquoi cette thread principale est appelée la UI Thread (User
Interface Thread) : "As such, the main thread is also sometimes
called the UI thread."
❚ source :
http://developer.android.com/guide/components/processes-
and-threads.html
❚ Elle est faite pour gérer correctement la gestion entre une thread
(de traitement long) et la UI Thread
❚ Elle permet de lancer un traitement en arrière plan et de mettre à
jour (éventuellement de temps en temps) l'interface graphique de
l'application
❚ Les paramètres génériques sont utilisés pour :
❙ Params : le type des paramètres nécessaires à la tâche en
arrière plan
❙ Progress : le type des paramètres reçus par la méthode de
mise à jour
❙ Result : le type du résultat retourné par la tâche en arrière
plan