Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
DÉCOUVERTE DU
DÉVELOPPEMENT ANDROID
Présentation Générale, Emulateur, Pile Logicielle Android,
Application Android, Concepts de Base du Développement Android
2005: Google a racheté la société et a commencé à élargir le concept et cibler les smartphones
Son Objectif à l’époque était de concurrencer les OS mobiles tels que Windows Mobile, BlackBerry OS,
Symbian OS, …
2007: Open Handset Alliance = Association entre Google et plusieurs entreprises des nouvelles
technologies (Fabricants de matériels (Samsung, Sony, HTC …) , opérateurs téléphoniques, …)
Android est devenu une plateforme pour les appareils mobiles en général: smartphones, tablettes tactiles,
TV, voitures, montres, …
2017: Android est le OS mobile le plus utilisé au monde devant iOS de Apple
Un pourcentage sur les appareils utilisant une version donnée à travers
le monde est disponible sur la page dashboard du site officiel d’Android
(https://developer.android.com/about/dashboards/index.html)
Remarque :
SDK Android : (Software
Development Kit) crée des Avant l’apparition d’Android
applications pour Android à Studio, les applications
partir de Java. Android était réalisées à
l’aide de l’IDE Eclipse auquel
on rajoute le plugin ADT
(Android Development Kit)
AVD : un émulateur de
téléphone Android qui permet qui permet d’intégrer le SDK
de tester l’application même si Android à Eclipse.
on ne possède pas d’appareil
Android
Le AVD Manager est un outil pour la gestion des AVD (Android Virtual Device) ou bien Emulateurs. Ce sont
des configurations matérielles et logicielles d’appareils mobiles virtuels.
Créer un nouveau émulateur (AVD) Actions qu’on peut réaliser sur les AVD:
Lancer l’AVD
Deux AVD créés qui simulent Modifier l’AVD
des téléphones Nexus.
On peut interagir avec l’application sur l’émulateur en utilisant l’écran ou les boutons de navigations.
Il exécute la pile Android complète afin de tester et debugger les applications sur différentes configurations
matérielles et logicielles.
Couche Application
Couche Framework
Librairies Android
C/C++ Runtime
Noyau Linux
Fournit les classes nécessaires à l’application pour la gestion des ressources de l’appareil.
C’est une abstraction pour les accès au matériel pour une plateforme de développement ouverte: Permet
ainsi aux développeurs de créer des applications riches.
Les développeurs sont libres de profiter :
• du matériel périphérique,
• les informations de localisation d'accès,
• exécutez les services d'arrière-plan,
• définir des alarmes,
• ajouter des notifications de la barre d'état,
• ….
C’est l’ensemble de bibliothèques C/C++ utilisés par les différents composants de la plateforme Android.
Sont accessibles aux développeurs par l’intermédiaire du Framework à travers des appels aux fonctions
C/C++ plus rapide à l’exécution que les méthodes Java.
La technologie JNI (Java Native Interface) permet l’échange entre le code java et le code C/C++.
Android n’utilise pas une machine virtuelle Java (JVM) mais sa propre VM appelée Dalvik.
A partir de Lollipop (version 5.0 = API 21), Google remplace Dalvik par une nouvelle VM plus optimisée
appelée ART.
Chaque application Android s'exécute dans son propre processus, avec sa propre instance de VM.
L’Android Runtime contient les librairies de fondamentales pour la machine virtuelle.
Android repose sur le noyau Linux (version 2.6) qui joue le rôle d’abstraction entre le logiciel et le matériel.
Le kernel effectue les tâches de bas niveau tels que :
• La gestion de la mémoire et des processus,
• La gestion du matériel, des pilotes et de l’énergie,
• La gestion de la sécurité, du réseau et d’autres services systèmes.
Chaque Application Android commence par une idée. Avec l’avancement du projet, il passe par le design,
le développement et le déploiement.
Le répertoire Java : contient les classes java des composants du projet. La première activité (écran)
est nommée MainActivity
Le répertoire res : contient les ressources tels que les layouts XML, les images, … Chaque activité
est associée avec un fichier de ressource XML qui spécifie les layouts de ses vues.
Visualisation de
l’arborescence du
projet. Fichier qui définit le comportement de l’app au
système Android. Ex : nom, icone, thème,
version, activités, …
À l’exécution d’un projet sous Android Studio, le code est compilé en byte code,
Le byte code est exécuté dans l’appareil dans le Runtime et sous Android Studio, il est exécuté avec le
Gradle.
Le Gradle réalise un paquetage du byte code avec les ressources de l’application (images externes, XML…)
dans un fichier APK (Android Application Package File) qui est un format spécial du fichier zip.
Une fois l’APK est prêt, Android Studio le signe et l’installe sur l’appareil en utilisant un ADB (Android Debug
Bridge).
ADB permet d’interagir et déboguer les Apps sur n’importe quel appareil (physique ou virtuel).
L’écran vue et manipulé par l’utilisateur est implémenté par la classe Activity
Il s’agit de la mise en page qui permet d’organiser la façon dont ses enfants (les éléments
contenus dans le Layout) sont positionnés à l’écran.
Toutes les layout héritent de ViewGroup (qui hérite de View) et on peut imbriquer les mises en
pages
Exemples :
- Service vérifiant périodiquement des mises à jour de flux RSS
- Service permettant d’écouter une playlist (indépendamment de toute activité)