Android : L'essentiel de la programmation



Programmation en Android




   Le but de ce Tutoriel est de découvrir la programmation sous Android, sa plate-forme de développement et les spécificités du développement embarqué sur smartphone, Tablette, TV.


Les grandes notions abordées dans ce Tutoriel sont:


  • ·         Présenter le système Android ;
  • ·         Créer les interfaces d'une application ;
  • ·         Naviguer et faire communiquer des applications ;
  • ·         Manipuler des données (préférences, fichiers, ...) ;
  • ·         Manipuler Services, threads et programmation concurrente ;
  • ·         Utiliser les capteurs, le réseau.



 Android



             Définition :


    Android est un système d’exploitation qui va donner vie aux appareils, il sait parler aux composants et vous pouvez également directement lui parler via une interface graphique. Ce “programme” va servir ainsi de liaison, le plus emblématique des OS reste Microsoft Windows installé sur plus de 90% du parc informatique. Android est quant à lui dédié aux appareils mobiles, smartphones et tablettes, mais aussi aux télévisions connectés avec la solution Google TV. Ces appareils mobiles ont nécessité de développer un OS qui leur est dédié, la raison est simple : l’expérience utilisateur d’un smartphone ou d’une tablette nécessite des interactions et un fonctionnement particulier.

        Les couches Android : 






Les couches Android

Historique des versions:



Nom
Version
Date
Android
1.0
09/2008
Petit Four
1.1
02/2009
Cupcake
1.5
04/2009
Donut
1.6
09/2009
Gingerbread
2.3
12/2010
Honeycomb
3.0
02/2011
Ice Cream Sandwich
4.0.1
10/2011
Jelly Bean
4.1
07/2012
KitKat
4.4
10/2013
Lollipop
5.0
10/2014
5.0.1
12/2014
5.0.2
12/2014
5.1
03/2015
5.1.1
04/2015
Marshmallow
6
10/2015
6.0.1
12/2015
Nougat
7.0
08/2016
7.1
10/2016


SDK Android


L'écosystème d'Android s'appuie sur deux piliers :
·      Le langage Java
·      Le SDK qui permet d'avoir un environnement de développement facilitant la tâche du développeur.



Le kit de développement donne accès à des exemples, de la documentation mais surtout à l'API de programmation du système et à un émulateur pour tester ses applications.

 Le plugin Android Development Tool permet d'intégrer les fonctionnalités du SDK à  . Il faut l'installer comme un plugin classique en précisant l'URL du plugin. Ensuite, il faut renseigner l'emplacement du SDK (préalablement téléchargé et décompressé) dans les préférences du plugin ADT.


Pour Télécharger d’android studio et sdk  cliquer ici

L'Operating System

Android est en fait un système de la famille des Linux, pour une fois sans les outils GNU. L'OS s'appuie sur :



  • Un noyau Linux (et ses drivers) 
  • Une couche d'abstraction pour l'accès aux capteurs (HAL) 
  • Une machine virtuelle : Dalvik Virtual Machine (avant Lollipop)
  • Un compilateur de bytecode vers le natif Android Runtime (pour Lollipop) 
  • Des applications (navigateur, gestion des contacts, application de téléphonie...) 
  • Des bibliothèques (SSL, SQLite, OpenGL ES, etc.…) • Des API d'accès aux services Google

Anatomie d'un déploiement



L'essentiel de la programmation en Android

Dalvik et ART

[Dalvik] est le nom de la machine virtuelle open-source utilisée sur les systèmes Android. Cette machine virtuelle exécute des fichiers.dex, plus ramassés que les .class classiques. Ce format évite par exemple la duplication des String constantes. La machine virtuelle utilise elle-même moins d'espace mémoire et l'adressage des constantes se fait par un pointeur de 32 bits. 
[Dalvik] n'est pas compatible avec une JVM du type Java SE ou même Java ME. La librairie d'accès est donc redéfinie entièrement par Google. 
A partir de Lollipop, Android dispose d'ART qui compile l'application au moment du déploiement (Ahead-of-time compilation).



L'essentiel de la programmation en Android
comparaison Dalvik et ART


Composants d’une application Android :

Une application Android est composée d’éléments de base :



L'essentiel de la programmation en Android


Activités :

Présentation :

Une activité est la composante principale pour une application Android. Elle représente l’implémentation et les interactions de l’interfaces. 
Une activité correspond à un écran. Si une application se compose de plusieurs écrans, elle a une activité pour chaque écran. Chaque activité est une classe qui étend la classe de base Activity. Elle dispose d'une interface utilisateur graphique faite de vues (views) et elle répond à des évènements (events)

Les objets d’une activité :


  • Un fichier XML qui s’appelle layout
  • Une classe JAVA.

L'essentiel de la programmation en Android


Cycle de vie d’une activité :



L'essentiel de la programmation en Android
Cycle de vie


Description du cycle de vie :


Méthode
Description
onCreate()
Cette méthode est appelée à la création de votre activité (Activity). Elle sert à initialiser votre activité ainsi que toutes les données nécessaires à cette dernière.
Quand la méthode OnCreate est appelée, on lui passe un Bundle en argument. Ce Bundle contient l’état de sauvegarde enregistré lors de la dernière exécution de votre activité.
onStart()
Cette méthode est pour signifier le début d’exécution de votre activité (début du passage au premier plan).
Si votre activité ne peut pas aller en avant plan quel que soit la raison, l’activité sera transférée à OnStop.
onResume()
Cette méthode est appelée après OnStart (au moment où votre application repasse en foreground). à la fin de l’appel à la méthode onResume votre application se trouve au premier plan et reçoit les interactions utilisateurs.
onPause()

Si une autre activité passe au premier plan, la méthode onPause est appelée sur votre activité. Afin que vous sauvegardiez l’état de l’activité et les différents traitements effectués par l’utilisateur.

A ce stade, votre activité n’a plus accès à l’écran, vous devez arrêter de faire toute action en rapport avec l’interaction utilisateur (désabonner les listeners). Vous pouvez par contre continuer à exécuter des algorithmes nécessaires mais qui ne consomment pas trop de CPU.
onStop()

Appelée quand votre activité n’est plus du tout visible quel que soit la raison. Dans cette méthode vous devez arrêter tous les traitements et services exécutés par votre application.
onDestroy()

Appelée quand votre application est totalement fermée (Processus terminé). Toutes les données non sauvegardées sont perdues.


Services :

Présentation :

Un service, à la différence d’une activité, ne possède pas de vue mais permet l’exécution d’un algorithme sur un temps indéfini. Il ne s’arrêtera que lorsque la tâche est finie ou que son exécution est arrêtée.
Il peut être lancé à différents moments :

  • Au démarrage du téléphone.
  • Au moment d’un événement (arrivée d’un appel, SMS, mail, etc…). 
  • Lancement de votre application.
  • Action particulière dans votre application.

Cycle de vie d’un service :

L'essentiel de la programmation en Android
Cycle de vie d’un service

Boradcast Receiver :


Un Broadcast Receiver comme son nom l’indique permet d’écouter ce qui se passe sur le système ou sur votre application et déclencher une action que vous aurez prédéfinie. C’est souvent par ce mécanisme que les services sont lancés.

Content providers :


Les « content providers » servent à accéder à des données depuis votre application. Vous pouvez accéder : 

  • Aux contacts stockés dans le téléphone. 
  • A l’agenda. 
  • Aux photos. 
  • Ainsi que d’autres données depuis votre application grâce aux content providers.

Fragments :


Un fragment est un sous-contrôleur d’une activité, contenant une vue ainsi que son propre cycle de vie, capable d’être ajouté/retiré/déplacé d’une activité.


Intents :



Les Intents sont des objets permettant de faire passer des messages contenant de l'information entre composants principaux (Activity, Services,…). La notion d'Intent peut être vue comme une demande de démarrage d'un autre composant, d'une action à effectuer. La raison d'être des Intents provient du modèle de sécurité d'Android.

Arborescence d’une application sous Android Studio:


L'essentiel de la programmation en Android
Arborescence d’une application 



Description 
1
Fichier configuration de l’application au système Android. Ce fichier définit par exemple (Le nom, l’icône, la version min du SDK, les activités, les services, etc…)
2
·    java : Ce dossier contient les sources de votre application (code JAVA) et les packages.
·    MainActivity.java : Notre principale activité.
3
C’est le dossier qui contiendra les ressources de votre application (images, vidéos, styles).
4
Contient vos images et les styles
5
Les fichiers interface graphique de l’application.
6
Dossier contient les icônes de l’application
7
Fichier qui contient les couleurs
8
Fichier qui contient vos déclarations de chaines de caractères.
9
Représente le thème par défaut utilisé par votre application. 
10
Scripts gradle



Enregistrer un commentaire

0 Commentaires