Android – Architecture
Le système d’exploitation Android est une pile de composants logiciels qui est grossièrement divisé en cinq sections et quatre couches principales, comme indiqué ci-dessous dans le diagramme d’architecture.
Sommaire
Noyau Linux
Au bas des couches, Linux-Linux 3.6 comporte environ 115 patchs. Cela fournit un niveau d’abstraction dans le matériel de l’appareil et il contient tous les pilotes matériels essentiels comme la caméra, le clavier, l’affichage etc. De plus, le noyau gère tout ce dont Linux est vraiment bon, comme le réseautage et une vaste gamme de pilotes de périphériques , Qui supporte la douleur de l’interfaçage de matériel périphérique.
Bibliothèques
En plus du noyau Linux, il existe un ensemble de bibliothèques incluant le moteur de navigateur Web open source WebKit, la bibliothèque de bibliothèque bien connue, la base de données SQLite qui est un référentiel utile pour le stockage et le partage des données d’application, les bibliothèques à lire et à enregistrer de l’audio et de la vidéo SSL Les bibliothèques responsables de la sécurité sur Internet, etc.
Bibliothèques Android
Cette catégorie englobe les bibliothèques basées sur Java qui sont spécifiques au développement d’Android. Des exemples de bibliothèques dans cette catégorie comprennent les bibliothèques de cadres d’applications en plus de celles qui facilitent la construction d’interface utilisateur, le dessin graphique et l’accès à la base de données. Un résumé de certaines bibliothèques principales de base de Android disponibles pour le développeur Android est le suivant –
- Android.app – Fournit l’accès au modèle d’application et constitue la pierre angulaire de toutes les applications Android.
- Android.content – Facilite l’accès au contenu, la publication et le messagerie entre les applications et les composants de l’application.
- Android.database – Utilisé pour accéder aux données publiées par les fournisseurs de contenu et comprend les classes de gestion de base de données SQLite.
- Android.opengl – Une interface Java à l’API de rendu graphique OpenGL ES 3D.
- Android.os – Fournit aux applications un accès aux services standard du système d’exploitation, y compris les messages, les services système et la communication interprocessus.
- Android.text – Utilisé pour rendre et manipuler du texte sur l’affichage d’un périphérique.
- Android.view – Les éléments fondamentaux des interfaces utilisateur de l’application.
- Android.widget – Une collection riche de composants d’interface utilisateur pré-construits tels que des boutons, des étiquettes, des listes, des gestionnaires de disposition, des boutons radio, etc.
- Android.webkit – Un ensemble de classes destinées à permettre l’intégration des fonctionnalités de navigation Web dans les applications.
Après avoir couvert les bibliothèques de base basées sur Java dans l’exécution de l’Android, il est maintenant temps d’attirer l’attention sur les bibliothèques basées sur C / C ++ contenues dans cette couche de la pile de logiciels Android.
Android Runtime
Il s’agit de la troisième section de l’architecture et disponible sur la deuxième couche en bas. Cette section fournit un composant clé appelé Dalvik Virtual Machine, qui est une sorte de machine virtuelle Java spécialement conçue et optimisée pour Android.
La VM Dalvik utilise des fonctionnalités principales de Linux comme la gestion de la mémoire et le multi-threading, intrinsèque dans la langue Java. La VM Dalvik permet à toute application Android de fonctionner dans son propre processus, avec sa propre instance de la machine virtuelle Dalvik.
Le runtime d’Android fournit également un ensemble de bibliothèques de base qui permettent aux développeurs d’applications Android d’écrire des applications Android en utilisant un langage de programmation Java standard.
Framework d’application
La couche Framework d’application fournit de nombreux services de niveau supérieur aux applications sous la forme de classes Java. Les développeurs d’applications sont autorisés à utiliser ces services dans leurs applications.
Le cadre Android comprend les services clés suivants:
- Activity Manager – Contrôle tous les aspects du cycle de vie de l’application et de la pile d’activité.
- Fournisseurs de contenu – Permet aux applications de publier et de partager des données avec d’autres applications.
- Resource Manager – Fournit l’accès à des ressources non intégrées au code telles que les chaînes, les paramètres de couleur et les mises en page de l’interface utilisateur.
- Notifications Manager – Permet aux applications d’afficher des alertes et des notifications à l’utilisateur.
- View System – Un jeu extensible de vues utilisé pour créer des interfaces utilisateur d’application.