Principes de base :
Android de Google est un système d'exploitation pour téléphones
mobiles. Il est fondé sur Linux. L'architecture des applications pour Android introduit
des concepts allant au-delà des modèles classiques.
Les applications Android sont
écrites
dans
le langage de programmation Java. Le SDK Android compile le
code-ainsi
que toutes
les données et les fichiers de ressources dans un paquet
Android,
un fichier
d'archive
avec
un suffixe
« apk
».
Tout le code dans un fichier APK est considérée comme
une
application et c’est le fichier que les appareils Android utilisent pour
installer
l'application.
Une fois installé sur un appareil mobile, chaque application
Android
vit dans son propre « sandbox » sécurisé.
Le système d'exploitation Android est un système multi-utilisateurs
Linux
dans
lequel chaque application est un autre utilisateur.
Par défaut, le système attribue à chaque application un
ID
utilisateur
unique Linux (l'ID est utilisé uniquement
par
le
système
et est
inconnue
à la
demande).
Le
système
Android définit les autorisations pour tous les fichiers
dans
une application de sorte que seul l'ID utilisateur affecté
à cette application peut y avoir accès.
Chaque processus a sa propre machine virtuelle
(VM),
une
application s'exécute d’une façon isolée par rapport aux autres applications.
Par défaut, chaque application s'exécute dans son propre processus
Linux. Android commence le processus lorsque l'un des composants de l'application
doit être exécuté, puis arrêter le processus quand il n'est plus nécessaire ou lorsque
le système doit récupérer la mémoire pour d'autres applications.
De cette façon, le système Android met en œuvre le principe du
moindre privilège. Cela signifie que chaque application, par défaut, a accès aux
seuls éléments dont elle a besoin pour faire son travail et rien de plus. Cela crée
un environnement très sûr dans lequel l’application ne peut pas accéder à certaines
parties du système pour lesquels elle n'est pas l'autorisation.
Toutefois, il existe des moyens pour qu’une application partage
des données avec d'autres applications d'accéder aux services du système:
Il est possible de prendre des dispositions pour deux applications
de partager le même ID utilisateur Linux, auquel cas ils sont en mesure d'accéder
à leurs fichiers.
Pour économiser les ressources système, les applications avec
le même ID utilisateur peuvent également s’organiser à courir dans le même processus
Linux et partagent la même machine virtuelle.
Une application peut demander l'autorisation d'accès aux données
de l’appareil mobile telles que les contacts de l'utilisateur, les messages SMS,
le stockage (carte SD), appareil photo, Bluetooth, GPS...
Toutes les autorisations d'application doit être accordée
par l'utilisateur lors de l'installation. Qui couvre les bases concernant la façon
dont une application Android existe au sein du système.
Le modèle données-vues
C'est le modèle utilisé notamment
par la librairie Swing de Java. La vue est l'interface par laquelle l'utilisateur
interagit avec le logiciel. Les données sont stockées séparément et peuvent s'afficher
dans des vues différentes.
La vue peut aussi changer les
données selon le contexte, par exemple changer le texte selon la langue de l'utilisateur.
Le modèle d'Android
Android étend ce modèle vues/données,
il fournit un nouveau modèle qui convient aux matériels activés en permanence. La
structure des applications est définie ainsi:
Les vues (classe android.view.View)
L'interface d'un programme pour
Android est une arborescence de vues.
Le fichier AndroidManifest.xml
Il définit les composants de
l'application et leurs relations. Il donne à l'application les permissions quand
à ce qu'elle peut faire vis à vis des utilisateurs. On peut aussi donner des permissions
aux composants de l'application.
Les composants de l'application:
Ce sont les éléments essentiels d'une application Android. Chaque composant est un point d’entrée dans votre application. Toutes les composantes sont les
points d'entrée effective pour l'utilisateur et certains dépendent les uns des autres, mais chacun existe comme une entité propre et joue un rôle spécifique, chacun est un bloc de construction unique qui permet de définir le comportement global de votre application.
Il existe
quatre différents types de composants applicatifs. Chaque type a un objectif distinct et
présente un
cycle de vie distincts qui définit comment le composant est créé et détruit.
No comments:
Post a Comment