Académique Documents
Professionnel Documents
Culture Documents
Semaine 1
Semaine 1
Introduction
Introduction
Android - Semaine 1
Introduction
Qu’est-ce qu’Android ?
Android est une surcouche au dessus d’un système Linux :
Android - Semaine 1
Introduction
Historique
Programmation d’applications
Applications natives
Une application native Android est composée de :
Sources Java (ou Kotlin) compilés pour une machine virtuelle
appelée « ART », amélioration de l’ancienne machine « Dalvik »
(versions 4.4).
Fichiers appelés ressources :
format XML : interface, textes...
format PNG : icônes, images...
Manifeste = description du contenu du logiciel
version minimale du smartphone,
fichiers présents dans l’archive avec leur signature,
demandes d’autorisations, durée de validité, etc.
Tout cet ensemble est géré à l’aide d’un IDE (environnement de
développement) appelé Android Studio qui s’appuie sur un ensemble
logiciel (bibliothèques, outils) appelé SDK Android.
Android - Semaine 1
Introduction
Kotlin
C’est un langage de programmation «symbiotique» de Java :
une classe Kotlin est compilée dans le même code machine que
Java,
une classe Kotlin peut utiliser les classes Java et
réciproquement.
On peut mélanger des sources Java et Kotlin dans une même
application.
Kotlin est promu par Google parce qu’il permet de développer des
programmes plus sains. Par exemple, Kotlin oblige à vérifier chaque
appel de méthode sur des variables objets pouvant valoir null, ce
qui évite les NullPointerException.
Android - Semaine 1
Introduction
p r i v a t e P e r s o n n e p 1 = g e t P e r s o n n e ( ) ; // p e u t r e t o u r n e r n u l l
System...p rintln(getNo mCo mp let( p 1 ) ) ; / / NullP o interExcep tio n
En Kotlin :
fun getNo mCo mp l et ( p : Personne): String {
return p.prenom+" "+p.nom
}
var p1: Personne = getPersonne() // r e t o u r n u l l inter d it
println(getNomComplet(p1)) // n e s e c o m p i l e p a s
Android - Semaine 1
Introduction
Android Studio
SDK Manager
C’est le gestionnaire du SDK, une application qui permet de choisir
les composants à installer et mettre à jour.
Android - Semaine 1
SDK Android et Android Studio
Dossiers du SDK
Première application
Android - Semaine 1
Première application
Objectif de la semaine 1
Modèle d’application
Résultat de l’assistant
L’assistant a créé de nombreux éléments visibles dans la colonne de
gauche de l’IDE :
Fenêtre du projet
Android - Semaine 1
Première application
Éditeurs spécifiques
Les ressources (disposition des vues dans les interfaces, menus,
images vectorielles, textes...) sont définies à l’aide de fichiers XML.
Studio fournit des éditeurs spécialisés pour ces fichiers, par exemple :
Formulaires pour :
res/values/strings.xml : textes d e l’interface.
Éditeurs graphiques pour :
res/layout/*.xml : disposition des contrôles sur l’interface.
Android - Semaine 1
Première application
Exemple res/values/strings.xml
Android - Semaine 1
Première application
Exemple res/layout/main.xml
Android - Semaine 1
Première application
Reconstruction du projet
Gradle
Gradle est un outil de construction de projets comme Make (projets
C++ sur Unix), Ant (projets Java dans Eclipse) et Maven.
De même que make se sert d’un fichier Makefile, Gradle se sert de
fichiers nommés build.gradle pour construire le projet.
C’est assez compliqué car AndroidStudio fait une distinction entre le
projet global et l’application. Donc il y a deux build.gradle :
Première exécution
Android - Semaine 1
Première exécution
Exécution de l’application
L’application est prévue pour tourner sur un appareil (smartphone
ou tablette) réel ou simulé (virtuel).
Le SDK Android permet de :
Installer l’application sur une vraie tablette connectée par USB
Simuler l’application sur une tablette virtuelle AVD
Fenêtres Android
Android Studio affiche plusieurs fenêtres utiles indiquées dans
l’onglet tout en bas :
Fenêtre Logcat
Ils sont émis par les applications : debug, infos, erreurs... comme
syslog sur Unix : date, heure, gravité, source (code de l’émetteur) et
message.
Android - Semaine 1
Communication AVD - Android Studio
p u b l i c c l a s s M a i n A c t i v i t y e x t e n d s Ac t i v i t y {
p ub l i c s t a t i c fi n a l S t r i n g T A G = " m o n a p p l i " ;
void maMethode() {
Log.i(T AG, "appel d e maMethode()" );
Fonctions Log.* :
Logiciel ADB
Android Debug Bridge est une passerelle entre une tablette (réelle
ou virtuelle) et votre PC
Gestion du serveur
adb start-server : démarre le serveur,
adb kill-server : arrête le serveur,
adb devices : liste les tablettes connectées.
Exemple :
~/CoursAndroid/$ a d b devices
List of devices attached
emulator-5554 device
c1608df1b170d4f device ~/CoursAndroid/$
Android - Semaine 1
Communication AVD - Android Studio
Connexion à un shell
adb -s identifiant shell commande_unix...
exécute la commande sur la tablette
ad b -s identifiant shell
ouvre une connexion de type shell sur la tablette.
Paquet
Lors de la mise au point, Studio génère une clé qui ne permet pas
d’installer l’application ailleurs. Pour distribuer une application, il
faut une clé privée.
Les clés sont stockées dans un keystore = trousseau de clés. Il faut
le créer la première fois. C’est un fichier crypté, protégé par un mot
de passe, à ranger soigneusement.
Ensuite créer une clé privée :
alias = nom de la clé, mot de passe de la clé
informations personnelles complètes : prénom, nom,
organisation, adresse, etc.
Les mots de passe du trousseau et de la clé seront demandés à
chaque création d’un .apk. Ne les perdez pas.
Android - Semaine 1
Création d’un paquet installable
Création du keystore
Android - Semaine 1
Création d’un paquet installable
Création du paquet