DÉVELOPPEMENT D'APPLICATIONS MOBILES Android Partie I Ivan MADJAROV - 2016
Développement d'applications mobiles IvMad, 2016 2 1. Android Développement mobile Java sous Android L'objectif principal de ce cours est de découvrir la programmation sous Android, sa plate-forme de développement et les spécificités du développement embarqué pour Smartphone et Tablette.
Développement d'applications mobiles IvMad, 2016 3 L'architecture du système Android Android est un système embarqué conçu pour appuyer les particularités des Smartphones et des Tablettes. IHM (GUI) tactile avec utilisation des widgets; Gestion des modes: vibreur, sonnerie, silencieux, alarme; Notification d'applications, e-mails, SMS, appels en instance, GPS; Capteurs de gyroscope, gravité, accélération, baromètre, boussole; Technologie de carte à puce (NFC), HF courte portée (RFID), Téléphonie GSM et réseaux EDGE, 2G, 3G, 4G, etc... Navigateur Internet, bibliothèque graphique (Open GL) et base de données (SQLite), applications multimédias pour le son, la vidéo et les différents formats image, intégration avec le dashboard d'une voiture; Connexion Bluetooth et WiFi; Appareil Photo Numérique (APN) pour la prise de photos et vidéo.
Développement d'applications mobiles IvMad, 2016 4 L'architecture du système Android Android est un système embarqué open source (noyau Linux) pour les appareils mobiles (Smartphone et Tablette) Le SDK Android a tous les outils nécessaires pour le développement d'applications Java: Compilateur, Débogueur, Emulateur, Machine virtuelle. Android est un SE créé par l'open Handset Alliance dirigée par Google.
Développement d'applications mobiles IvMad, 2016 5 Application Android Android propose une interface de programmation Java avec sa propre machine virtuelle DVM (Virtual Machine Dalvik). L'interface fournit des outils pour la compilation, le débogage et un simulateur de périphérique mobile est embarqué. Android utilise une machine virtuelle spéciale. Son byte-code est incompatible avec celui de Java standard (Oracle). Un outil "dx" est proposé pour convertir un fichier Java classe dans le format Android "dex" (Dalvik exécutable). Une application Android est emballée dans un fichier.apk (Android Package) par AAPT (Android Asset Packaging Tool) Android Studio est l'ide officiel pour le développement d'applications mobiles pour Android. Il est basé sur l'éditeur IntelliJ IDEA. Le plugin ADT (Android Development Tools) pour l'ide Eclipse n'est plus supporté par Google (depuis aout 2015)!
Développement d'applications mobiles IvMad, 2016 6 Application Android L'ADT effectue automatiquement la conversion d'une classe "dex" en.apk au cours du déploiement. Android supporte le graphisme 2-D et 3-D avec OpenGL library. Le stockage de données dans une BD est pris en charge par SQLite. SQLite est une Open Source Database intégrée dans le système Android. SQLite supporte les fonctionnalités standards pour une BDR telles que SQL syntaxe, la gestion des transactions et "prepared statements". Une application Android s'exécute dans son propre processus et sous son propre nom d'utilisateur qui est généré automatiquement au cours de son déploiement. L'application Android est isolée des autres applications en cours et ne peut pas facilement affecter leur sécurité.
Développement d'applications mobiles IvMad, 2016 7 L'architecture du système Android Le GUI d'android est un système mono-thread, événementiel avec une bibliothèque à composants extensibles organisée autour du modèle Model-View-Controller (MVC). Model: représente les données et le conteneur de données: base de données, images, sons, etc. View: c'est la partie de l'application chargée de rendre l'affichage, l'envoi de l'audio aux haut-parleurs, générant un retour tactile. Controller: c'est la partie qui répond à des actions externes: le clavier, l'écran tactile, les appels entrants.
Développement d'applications mobiles IvMad, 2016 8 Le développement Android Android dispose d'un SDK basé sur le langage Java. Le SDK d'android est disponible pour les plateformes Linux, Mac et Windows à l'adresse : http://code.google.com/android/download.html Pour développer avec l'ide Android studio il faut télécharger et installer l'environnement integré de développement à partir de l'adresse: https://developer.android.com/studio/index.html Le développement pour Android est possible aussi sans un IDE particulier en se servant des commandes du SDK d'android avec Ant pour la compilation et la gestion du simulateur. A consulter: http://ydisanto.developpez.com/tutoriels/android/debuter/
Développement d'applications mobiles IvMad, 2016 9 Le développement Android La chaine de production Java Android
Développement d'applications mobiles IvMad, 2016 10 Le système Android La dépendance de l'activité Android et la chaîne d'exécution
Développement d'applications mobiles IvMad, 2016 11 Java2SE (Oracle) et Java Dalvik (Google)
Développement d'applications mobiles IvMad, 2016 12 L'application Android Une application Android en général est composée d'éléments identifiables qui se séquencent différemment en fonction des objectifs: 1. Interface graphique : la partie visuelle de l'application, elle sert de support pour les interactions de l'utilisateur. 2. Traitement d'un événement : Les interactions de l'utilisateur avec le GUI déclenche des événements qui sont gérés par les écouteurs d'événements (Listener) 3. Opération de fond (Intent) : Des opérations (service, activité) de fond peuvent échanger des messages par la technique des Intents. 4. Connexion TCP ou Bluetooth : connexion à un réseau Wi-Fi ou à un autre Smartphone. 5. Traitement asynchrone: AsyncTask permet de réaliser des tâches de manière asynchrone, à la manière de la classe Thread.