Actualité Android
bann aa

ANDROID : la structure de l'OS de Google expliquée simplement

par
Source: Google Android

Android… Un nom prononcé par tous aujourd’hui. Android est partout, sur les smartphones, les tablettes, les TV, beaucoup de sites spécialisés en parlent, les gens également. Mais enfin, que savons-nous réellement d’Android ?

6. Inter Process Call

IPC ou la communication inter processus. C’est sans doute la partie la plus inconnue d’Android, car peu de développeurs s'y intéressent. C’est pourtant une pièce maîtresse de tout le framework.

Pour permettre une communication entre les processus ou entre les applications et le cœur de framework (SystemServer), un mécanisme est proposé : Binder. Conçu initialement pour le système BeOS, il permet de décrire une interface entre deux processus. Cette interface est codée dans fichier AIDL (Android Interface Description Langage) avec une syntaxe très proche du Java. À partir de ce fichier, l’utilitaire aidl génère une interface Java et deux implémentations. La première permet la propagation des invocations des méthodes vers un autre processus avec sérialisation de tous les paramètres. La deuxième effectue l’opération inverse. Elle reçoit les invocations d’un autre processus et les transforme en invocations sur une classe Java d’implémentation.

Le mécanisme IPC introduit avec Binder est très important, mais nous ne pouvons rentrer plus en détail sans nous atteler à la programmation qui sera beaucoup trop longue à expliquer.

binder


7. Les applications (enfin)


Nous arrivons à la dernière partie de ce dossier, les applications.

Les applications se divisent en deux catégories. Les services qui sont des codes fonctionnant en arrière-plan, non interactif, et les activités qui prennent la forme d’écrans. Les activités fonctionnent suivant un principe de « pile ». C’est un fonctionnement similaire aux technologies Web. Les activités sont comme des pages Web, et l’utilisateur peut naviguer à sa guise d’une page à l’autre (autrement dit d’une application à une autre, mais aussi entre différentes activités d’une même application).

Pour réaliser cette navigation, les applications (activités) font toujours appel à Binder (décidément, il est partout celui-là).  Pour utiliser le mécanisme d’IPC, les applications créent des intents (intentions). Ces derniers ne provoquent pas d’action directe, mais sont interceptés par le framework pour être interprétés. Suivant les types d’intents, il se peut que plusieurs applications puissent y répondre. Dans ce cas, une boite de dialogue est affichée, permettant à l’utilisateur de choisir lui-même l’application.

Commenter 6 commentaires

Troufiniou
Très bon dossier ! Mais j'ai juste une question, le SDK ne permet pas d'avoir des accès au Kernel lors de développement d'applications ? Elle permet juste un accès au Framework c'est ça ?
Signaler Citer
eykxas
Troufiniou Wrote:Très bon dossier ! Mais j'ai juste une question, le SDK ne permet pas d'avoir des accès au Kernel lors de développement d'applications ? Elle permet juste un accès au Framework c'est ça ?


Comme tu l'as fait remarquer, le sdk ne donne accès qu'au framework, mais il faut aussi savoir ce qu'est que le framework. Car dans Android, le framework désigne deux choses :

Le Framework, une partie de l'environnement d'execution

et le framework Android, qui est l'environnement de programmation (donc le sdk, souvent associé à eclipse).

Le noyau n'est pas accessible sauf si le bootloader du téléphone est débloqué ou que le fabriquant a mis à disposition ses outils concernant le kernel.
Signaler Citer
eykxas
Oui c'est possible (en théorie), mais je vous demanderai de poser ces questions sur le forum, pas ici.

Nous sommes ici pour parler du dossier, et pour moi, d'avoir des retours pour parfaire mes prochains sujets.
Signaler Citer