Thursday, February 14, 2013

devenir un developpeur d'applications pour mobiles: Bien debuter avec ANDROID



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