PRÉSENTATION DU CADRE DE DÉVELOPPEMENT
Les applications Android sont normalement écrites à l'aide des langages de programmation Java ou Kotlin et sont exécutées à l'aide d'Android Run Time (ART).
Historiquement, les applications Android étaient écrites principalement à l'aide de la syntaxe du langage Java. Plus récemment, Android Studio 3.0 a introduit le support complet de Kotlin en tant que langage officiel de première classe pour le développement d’applications. Kotlin est un langage JVM, qui est interopérable avec les langues Android existantes et Android Run Time, vous permettant d'utiliser les syntaxes Java et Kotlin dans les mêmes applications.
Chaque application Android s'exécute dans un processus séparé, laissant toute responsabilité en matière de gestion de la mémoire et des processus à Android Run Time, qui arrête et supprime les processus nécessaires à la gestion des ressources. ART repose sur un noyau Linux qui gère les interactions matérielles de bas niveau, notamment les pilotes et la gestion de la mémoire, tandis qu'un ensemble d'API fournit un accès à tous les services, fonctionnalités et matériels sous-jacents.
Qu'est ce qui vient dans la boîte
Le SDK Android comprend tout ce dont vous avez besoin pour commencer à développer, tester et déboguer des applications Android:
➤ |
Bibliothèques d'API Android: le noyau du SDK est constitué des bibliothèques d'API Android offrant aux développeurs un accès à la pile Android. Ce sont les mêmes bibliothèques que Google utilise pour créer des applications Android natives. |
➤ |
Outils de développement: le SDK inclut Android Studio IDE et plusieurs autres outils de développement vous permettant de compiler et de déboguer vos applications afin de transformer le code source Android en applications exécutables. Vous en apprendrez plus sur les outils de développement au chapitre 2, "Mise en route". |
➤ |
Gestionnaire et émulateur de périphériques virtuels Android: l'émulateur Android est un émulateur de périphérique mobile entièrement interactif comportant plusieurs skins alternatifs. L'émulateur s'exécute dans un périphérique virtuel Android (AVD) qui simule la configuration matérielle d'un périphérique. À l'aide de l'émulateur, vous pouvez voir à quoi ressembleront vos applications sur un véritable appareil Android. Toutes les applications Android s’exécutant dans ART, l’émulateur logiciel constitue donc un excellent environnement de développement. En effet, du fait qu’il est indépendant du matériel, il offre un meilleur environnement de test indépendant que toute implémentation matérielle unique. |
➤ |
Documentation complète - Le SDK comprend de nombreuses informations de référence au niveau du code, détaillant ce qui est inclus dans chaque paquet et classe, ainsi que la façon de les utiliser. Outre la documentation sur le code, la documentation de référence et les guides du développeur d’Android expliquent comment démarrer, expliquent en détail les principes fondamentaux du développement d’Android, mettent en évidence les meilleures pratiques et fournissent des informations détaillées sur les sujets de la structure. |
➤ |
Exemple de code: le SDK Android comprend une sélection d’exemples d’applications illustrant certaines des possibilités offertes par Android, ainsi que de simples programmes qui expliquent comment utiliser les fonctionnalités individuelles de l’API. |
➤ |
Assistance en ligne: Android possède des communautés de développeurs dynamiques sur la plupart des réseaux sociaux en ligne. |
Comprendre la pile de logiciels Android
La pile logicielle Android est un noyau Linux et un ensemble de bibliothèques C / C ++ exposées via un cadre d’application fournissant des services et une gestion du temps d’exécution et des applications
➤ |
Noyau Linux: les services principaux (y compris les pilotes de matériel, la gestion de processus et de mémoire, la sécurité, le réseau et la gestion de l'alimentation) sont gérés par un noyau Linux (la version du noyau spécifique dépend de la version de la plateforme Android et de la plateforme matérielle). |
➤ |
HAL (Hardware Application Layer): la couche HAL fournit une couche d'abstraction entre le matériel du périphérique physique sous-jacent et le reste de la pile. |
➤ |
Bibliothèques: s'exécutant sur le noyau et HAL, Android inclut diverses bibliothèques principales C / C ++ telles que libc et SSL, ainsi que les suivantes: Une médiathèque pour la lecture de supports audio et vidéo Un gestionnaire de surface pour gérer les écransLibraries Bibliothèques graphiques incluant SGL et OpenGL pour les graphiques 2D et 3D SQLite pour le support de base de données native SSL et WebKit pour un navigateur Web intégré et la sécurité Internet |
Durée d'exécution Android: c'est la durée d'exécution qui fait d'un téléphone Android un téléphone Android plutôt qu'une implémentation Linux mobile. Y compris les bibliothèques principales, Android Run Time est le moteur qui alimente vos applications et constitue la base du cadre d’application.
Libraries Bibliothèques principales: bien que la plupart des applications développées sous Android soient écrites à l'aide des langages Java ou JVM de Kotlin, ART n'est pas une machine virtuelle Java. Les bibliothèques principales Android fournissent la plupart des fonctionnalités disponibles dans les principales bibliothèques Java, ainsi que dans les bibliothèques spécifiques à Android.
Framework Framework d'application: le framework d'application fournit les classes utilisées pour créer des applications Android. Il fournit également une abstraction générique pour l'accès au matériel et gère l'interface utilisateur et les ressources de l'application.
Couche d'application: toutes les applications, natives et tierces, sont basées sur l'application.couche au moyen des mêmes bibliothèques API. La couche d'application s'exécute dans Android Run Time, à l'aide des classes et des services disponibles à partir du framework d'application.
Le temps d'exécution Android
L'un des éléments clés d'Android est l'Android Run Time (ART). Plutôt que d'utiliser une machine virtuelle Java traditionnelle telle que Java ME, Android utilise son propre environnement d'exécution personnalisé, conçu pour garantir le fonctionnement efficace de plusieurs instances sur un seul périphérique.ART utilise le noyau Linux sous-jacent du périphérique pour gérer les fonctionnalités de bas niveau, notamment la sécurité, les threads ainsi que la gestion des processus et de la mémoire. Il est également possible d’écrire des applications C / C ++ plus proches du système d’exploitation Linux sous-jacent. Bien que vous puissiez le faire, dans la plupart des cas, il n’ya aucune raison de le faire.Si la rapidité et l'efficacité de C / C ++ sont requises pour votre application, Android fournit un kit de développement natif (NDK). Le NDK est conçu pour vous permettre de créer des bibliothèques C ++ à l'aide des bibliothèques libc et libm, avec un accès natif à OpenGL.