SlideShare une entreprise Scribd logo
Architecture d'une application Android

   Les composants :
1- Les Activités : elle est composée d’une hiérarchie de vues contenant elles-mêmes
d’autres vues.

2- Les Vues : les éléments de l’interface graphique que l’utilisateur voit et sur lesquels
il pourra agir.

3- contrôles : (boutons, champs de saisie, case à cocher, etc.)

4- Les ressources : ensembles de fichiers(Images, textes, etc. )

5- Le fichier de configuration (Manifest) : C’est un fichier indispensable à chaque
application qui décrit entre autres :
5.1- quel code doit être exécuté au démarrage de l’application,
5.2- quels composants constituent ce programme,
5.3- les permissions nécessaires à l’exécution du programme (accès à Internet, accès à
l’appareil photo...).
                                                                                        1
Architecture d'une application Android

Composition d’une application




                                                 2
Architecture d'une application Android
  Composants applicatifs : activité, service, fournisseur de contenu
  et gadgets.
L’activité représente le bloc de base d’une application. Elle correspond à la partie
présentation de l’application et fonctionne par le biais de vues qui affichent des
interfaces graphiques et répondent aux actions utilisateur.

Le service est un composant qui fonctionne en tâche de fond, de manière invisible.
Ses principales utilisations sont la mise à jour de sources de données ainsi que
d’activités visibles et le déclenchement de notifications.

Le fournisseur de contenu permet de gérer et de partager des informations. Un
même fournisseur permet d’accéder à des données au sein d’une application et entre
applications.

Le gadget est un composant graphique qui s’installe sur le bureau Android. Le
calendrier qui affiche de l’information ou le lecteur audio qui permet de contrôler la
lecture de fichiers sont deux exemples de gadgets que l’on trouve souvent sur un
écran d’accueil.
                                                                                         3
Architecture d'une application Android

Les différents composants applicatifs Android et les classes associées




                                                                         4
Architecture d'une application Android
 Éléments d’interaction : intents, récepteurs, notifications

L’objet Intent : il permet de diffuser des messages en demandant la réalisation d’une
action. L’accès aux autres applications et au système étant restreinte par le modèle de
sécurité Android, ces objets permettent aux applications de fournir ou demander des
services ou des données. La transmission se fait à travers tout le système et peut cibler
précisément une activité ou un service.

Récepteur d’Intents : il permet à une application d’être à l’écoute des autres afin de
répondre aux objets Intent qui lui sont destinés et qui sont envoyés par d’autres
composants applicatifs.

Notification : une notification signale une information à l’utilisateur sans
interrompre ses actions en cours.




                                                                                       5
Architecture d'une application Android

Les différents mécanismes d’interaction avec leurs classes associées




                                                                       6
Architecture d'une application Android

    Permissions

Certaines opérations sont réalisables à condition d’en obtenir la permission. Ces
actions sont de plusieurs formes :

- opérations pouvant entraîner un surcoût (connexion, échange de données, envoi de
SMS par exemple) ;

- utilisation de données personnelles (accès à vos contacts, à votre compte
Google, exploitation de vos informations linguistiques entre autres) ;

- accès au matériel du téléphone (prise de clichés, écriture sur la carte mémoire...).




                                                                                         7
L’activité la plus simple possible :




                                       8
Cycle de vie d’une activité

Les états principaux d’une activité sont les suivants :

- active (active) : activité visible qui détient le focus utilisateur et attend les entrées
utilisateur. C’est l’appel à la méthode onResume, à la création ou à la reprise après
pause qui permet à l’activité d’être dans cet état. Elle est ensuite mise en pause quand
une autre activité devient active grâce à la méthode onPause ;

- suspendue (paused) : activité au moins en partie visible à l’écran mais qui ne
détient pas le focus. La méthode onPause est invoquée pour entrer dans cet état et les
méthodes onResume ou onStop permettent d’en sortir ;

- arrêtée (stopped) : activité non visible. C’est la méthode onStop qui conduit à cet
état.




                                                                                        9
Squelette d’une activité




                           10
Squelette d’une activité




                           11
Squelette d’une activité




                           12
Squelette d’une activité




                           13
Squelette d’une activité




                           14
Les vues


Les vues sont les briques de construction de l’interface graphique d’une activité
Android. Les objets View représentent des éléments à l’écran qui permettent d’interagir
avec l’utilisateur via un mécanisme d’événements.

Plus concrètement, chaque écran Android contient un arbre d’éléments de type View
dont chaque élément est différent de par ses propriétés de forme, de taille...

Bien que la plupart des éléments dont nous ayons besoin – textes, boutons... – soient
fournis par la plate-forme, il est tout à fait possible de créer des éléments personnalisés

Les vues peuvent être disposées dans une activité (objet Activity) et donc à l’écran soit
par une description XML, soit par un morceau de code Java.




                                                                                        15
Les ressources


Les ressources sont des fichiers externes – ne contenant pas d’instruction – qui sont
utilisés par le code et liés à votre application au moment de sa construction. Android
offre un support d’un grand nombre de fichiers ressources comme les fichiers images
JPEG et PNG, les fichiers XML…

Physiquement, les ressources de l’application sont créées ou déposées dans le
répertoire res de votre projet. Ce répertoire sert de racine et contient lui-même une
arborescence de dossiers correspondant à différents types de ressources.




                                                                                   16
Les types majeurs de ressources avec leur répertoire associé




                                                               17
Structure d’un projet Android




Voici une capture d’écran d’un projet typique
Android en version 1.5 avec quelques-unes
des ressources.




                                                18
Le fichier de configuration Android :
 la recette de votre application
Chaque application Android nécessite un fichier de configuration :
AndroidManifest.xml. Ce fichier est placé dans le répertoire de base du projet, à sa
racine. Il décrit le contexte de l’application, les activités, les services, les récepteurs
d’Intents (Broadcast receivers), les fournisseurs de contenu et les permissions.

  Structure du fichier de configuration

Un fichier de configuration est composé d’une racine (le tag manifest      ) et d’une suite
de noeuds enfants qui définissent l’application.




                                                                                       19
 Structure vide d’un fichier de configuration d’une application




La racine XML de la configuration est déclarée avec un espace de nom Android
(xmlns:android ) qui sera utile plus loin dans le fichier ainsi qu’un paquetage dont
la valeur est celle du paquetage du projet.

Un fichier au format XML doit donc toujours être :
- bien formé : c’est-à-dire respecter les règles d’édition d’un fichier XML en termes de
nom des balises, de balises ouvrante et fermante, de non-imbrication des balises, etc. ;
- valide : il doit utiliser les éléments prévus par le système avec les valeurs prédéfinies.




                                                                                        20
Un exemple de structure du fichier AndroidManifest.xml




                                                         21
Les permissions qui seront déclarées ici seront un prérequis pour l’application. À
l’installation, l’utilisateur se verra demander l’autorisation d’utiliser l’ensemble des
fonctions liées à ces permissions comme la connexion réseau, la localisation de
l’appareil, les droits d’écriture sur la carte mémoire...


Un manifeste contient un seul et unique noeud application qui en revanche contient
des noeuds concernant la définition d’activités, de services…


Déclare une activité présentée à l’utilisateur. Si vous oubliez ces lignes de
configuration, vos éléments ne pourront pas être utilisés.



Déclare un composant de l’application en tant que service. Ici pas question d’interface
graphique, tout se déroulera en tâche de fond de votre application.


                                                                                     22
Déclare un récepteur d’objets Intent. Cet élément permet à l’application de recevoir ces
objets alors qu’ils sont diffusés par d’autres applications ou par le système.




Déclare un fournisseur de contenu qui permettra d’accéder aux données gérées par
l’application.




                                                                                    23
Personnaliser notre première application Android

Après ces quelques lignes de théorie, construisons une application et prenons un soin
tout particulier à réaliser une première activité. Plus l’application sera complexe, plus
elle nécessitera d’écrans et donc d’activités.


Une activité peut occuper tout l’écran ou apparaître sous forme de fenêtre semi
transparente.
Une application typique pourra regrouper plusieurs activités telles qu’une activité
principale et une secondaire (classe Activity), une zone de liste de données
(ListActivity), une boîte de dialogue (AlertDialog) et pourquoi pas une page de
paramètres (PreferenceActivity).



     Représentation schématique
    des activités
Exemle : Activité principale créée par défaut




Aperçu du fichier main.xml


                                                Ce fichier se compose
                                                d’un LinearLayout
                                                contenant un
                                                TextView . En d’autres
                                                termes nous avons un
                                                conteneur et un label.
Créer une activité sans main.xml




                                   L’avantage de l’utilisation
                                   du fichier XML réside
                                   dans le fait qu’il est
                                   premièrement
                                   plus facile à lire et à créer
                                   notamment grâce à
                                   l’assistant intégré.
personnaliser le texte

Ouvrez le fichier strings.xml qui se trouve dans le répertoire res/values. Il contient
les chaînes de caractères utilisées comme ressources dans l’application.

   Ressources textuelles utilisées dans l’application :




   La chaîne de caractères à modifier porte l’identifiant hello




                                                                                         27
Création d’interfaces utilisateur




                                    28

Contenu connexe

Tendances

Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
Olivier Le Goaër
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
Franck SIMON
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
Jasmine Conseil
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications Android
Lilia Sfaxi
 
Hello droid
Hello droidHello droid
Hello droid
Wiki Info Systeme
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1
Sabeur LAJILI
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
Lilia Sfaxi
 
1 tours horizon
1 tours horizon1 tours horizon
1 tours horizon
Saber LAJILI
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
Yann Caron
 
P4 intents
P4 intentsP4 intents
P4 intents
Lilia Sfaxi
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
Lilia Sfaxi
 
Cours android
Cours androidCours android
Cours androidAd Hafsa
 
Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
Sabeur LAJILI
 
CocoaHeads An Android Overview (fr)
CocoaHeads An Android Overview (fr)CocoaHeads An Android Overview (fr)
CocoaHeads An Android Overview (fr)
Mathias Seguy
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
Lilia Sfaxi
 
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Mathias Seguy
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
Houssem Lahiani
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
ENSET, Université Hassan II Casablanca
 

Tendances (19)

Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications Android
 
Hello droid
Hello droidHello droid
Hello droid
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
 
1 tours horizon
1 tours horizon1 tours horizon
1 tours horizon
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
P4 intents
P4 intentsP4 intents
P4 intents
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
 
Cours Android
Cours AndroidCours Android
Cours Android
 
Cours android
Cours androidCours android
Cours android
 
Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
 
CocoaHeads An Android Overview (fr)
CocoaHeads An Android Overview (fr)CocoaHeads An Android Overview (fr)
CocoaHeads An Android Overview (fr)
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
 
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 

En vedette

Android architecture
Android architectureAndroid architecture
Android architecture
Hari Krishna
 
Les vues (views) sous android
Les vues (views) sous androidLes vues (views) sous android
Les vues (views) sous android
Houssem Lahiani
 
Les intents sous Android
Les intents sous Android Les intents sous Android
Les intents sous Android
Houssem Lahiani
 
Les interface graphiques sous android
Les interface graphiques sous androidLes interface graphiques sous android
Les interface graphiques sous android
Houssem Lahiani
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
Toxicode
 
Android
AndroidAndroid
Tutorial android - créer des apps
Tutorial android - créer des appsTutorial android - créer des apps
Tutorial android - créer des apps
Noé Breiss
 
Android pour l'industrie
Android pour l'industrieAndroid pour l'industrie
Android pour l'industrie
Alexandre LAHAYE
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
Houssem Lahiani
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
Nazih Heni
 
Cm6.04 part2 gestion_multiculturalite tech
Cm6.04 part2 gestion_multiculturalite techCm6.04 part2 gestion_multiculturalite tech
Cm6.04 part2 gestion_multiculturalite techidigroupe6
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
Harrathi Mohamed
 
Etude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application AndroidEtude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application AndroidSaad Dardar
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Androidambin_fr
 
Smart Taxi (Tunisie)
Smart Taxi (Tunisie)Smart Taxi (Tunisie)
Smart Taxi (Tunisie)
Ghassen BENALI
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
G²FOSS ENIT
 
Alphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, AndroidAlphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, Android
Alphorm
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5
Alphorm
 
Introduction au développement iOS par Pascal Batty - 131112
Introduction au développement iOS par Pascal Batty - 131112Introduction au développement iOS par Pascal Batty - 131112
Introduction au développement iOS par Pascal Batty - 131112
SOAT
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node jsHoracio Gonzalez
 

En vedette (20)

Android architecture
Android architectureAndroid architecture
Android architecture
 
Les vues (views) sous android
Les vues (views) sous androidLes vues (views) sous android
Les vues (views) sous android
 
Les intents sous Android
Les intents sous Android Les intents sous Android
Les intents sous Android
 
Les interface graphiques sous android
Les interface graphiques sous androidLes interface graphiques sous android
Les interface graphiques sous android
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
 
Android
AndroidAndroid
Android
 
Tutorial android - créer des apps
Tutorial android - créer des appsTutorial android - créer des apps
Tutorial android - créer des apps
 
Android pour l'industrie
Android pour l'industrieAndroid pour l'industrie
Android pour l'industrie
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Cm6.04 part2 gestion_multiculturalite tech
Cm6.04 part2 gestion_multiculturalite techCm6.04 part2 gestion_multiculturalite tech
Cm6.04 part2 gestion_multiculturalite tech
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Etude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application AndroidEtude des aspects de sécurité Android & Audit d'une application Android
Etude des aspects de sécurité Android & Audit d'une application Android
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Android
 
Smart Taxi (Tunisie)
Smart Taxi (Tunisie)Smart Taxi (Tunisie)
Smart Taxi (Tunisie)
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
 
Alphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, AndroidAlphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, Android
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5
 
Introduction au développement iOS par Pascal Batty - 131112
Introduction au développement iOS par Pascal Batty - 131112Introduction au développement iOS par Pascal Batty - 131112
Introduction au développement iOS par Pascal Batty - 131112
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node js
 

Similaire à Cours 1 Android

Ch2. Développement mobile
Ch2. Développement mobileCh2. Développement mobile
Ch2. Développement mobile
Haifa Chorfi
 
cours.pdf
cours.pdfcours.pdf
cours.pdf
merazgaammar2
 
Chapitre 1 android
Chapitre 1 androidChapitre 1 android
Architecture android
Architecture androidArchitecture android
Architecture android
OCTO Technology
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)Sanaa Guissar
 
My droid
My droidMy droid
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
Hadina RIMTIC
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
med_univ78
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
RihabBENLAMINE
 
Android introvf
Android introvfAndroid introvf
Android introvf
Anne-Marie Pinna-Dery
 
OCTO - Sécurité android
OCTO - Sécurité androidOCTO - Sécurité android
OCTO - Sécurité android
OCTO Technology
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdf
olfaharrabi2
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
YaminaGh1
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
IdrissaDembl
 
De iOS à bada présentation complète_octobre 2011
De iOS à bada présentation complète_octobre 2011De iOS à bada présentation complète_octobre 2011
De iOS à bada présentation complète_octobre 2011
BeMyApp
 
Création d’applications et découverte d’Android
Création d’applications et découverte d’AndroidCréation d’applications et découverte d’Android
Création d’applications et découverte d’Android
ENSAM Casablanca
 

Similaire à Cours 1 Android (20)

Ch2. Développement mobile
Ch2. Développement mobileCh2. Développement mobile
Ch2. Développement mobile
 
cours.pdf
cours.pdfcours.pdf
cours.pdf
 
Chapitre 1 android
Chapitre 1 androidChapitre 1 android
Chapitre 1 android
 
Architecture android
Architecture androidArchitecture android
Architecture android
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
 
Développement Sous Android
Développement Sous AndroidDéveloppement Sous Android
Développement Sous Android
 
Chapitre 4 sem
Chapitre 4 semChapitre 4 sem
Chapitre 4 sem
 
My droid
My droidMy droid
My droid
 
Chap android
Chap androidChap android
Chap android
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
Android introvf
Android introvfAndroid introvf
Android introvf
 
OCTO - Sécurité android
OCTO - Sécurité androidOCTO - Sécurité android
OCTO - Sécurité android
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdf
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
De iOS à bada présentation complète_octobre 2011
De iOS à bada présentation complète_octobre 2011De iOS à bada présentation complète_octobre 2011
De iOS à bada présentation complète_octobre 2011
 
Cours android
Cours androidCours android
Cours android
 
Création d’applications et découverte d’Android
Création d’applications et découverte d’AndroidCréation d’applications et découverte d’Android
Création d’applications et découverte d’Android
 

Dernier

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 

Dernier (11)

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 

Cours 1 Android

  • 1. Architecture d'une application Android Les composants : 1- Les Activités : elle est composée d’une hiérarchie de vues contenant elles-mêmes d’autres vues. 2- Les Vues : les éléments de l’interface graphique que l’utilisateur voit et sur lesquels il pourra agir. 3- contrôles : (boutons, champs de saisie, case à cocher, etc.) 4- Les ressources : ensembles de fichiers(Images, textes, etc. ) 5- Le fichier de configuration (Manifest) : C’est un fichier indispensable à chaque application qui décrit entre autres : 5.1- quel code doit être exécuté au démarrage de l’application, 5.2- quels composants constituent ce programme, 5.3- les permissions nécessaires à l’exécution du programme (accès à Internet, accès à l’appareil photo...). 1
  • 2. Architecture d'une application Android Composition d’une application 2
  • 3. Architecture d'une application Android Composants applicatifs : activité, service, fournisseur de contenu et gadgets. L’activité représente le bloc de base d’une application. Elle correspond à la partie présentation de l’application et fonctionne par le biais de vues qui affichent des interfaces graphiques et répondent aux actions utilisateur. Le service est un composant qui fonctionne en tâche de fond, de manière invisible. Ses principales utilisations sont la mise à jour de sources de données ainsi que d’activités visibles et le déclenchement de notifications. Le fournisseur de contenu permet de gérer et de partager des informations. Un même fournisseur permet d’accéder à des données au sein d’une application et entre applications. Le gadget est un composant graphique qui s’installe sur le bureau Android. Le calendrier qui affiche de l’information ou le lecteur audio qui permet de contrôler la lecture de fichiers sont deux exemples de gadgets que l’on trouve souvent sur un écran d’accueil. 3
  • 4. Architecture d'une application Android Les différents composants applicatifs Android et les classes associées 4
  • 5. Architecture d'une application Android Éléments d’interaction : intents, récepteurs, notifications L’objet Intent : il permet de diffuser des messages en demandant la réalisation d’une action. L’accès aux autres applications et au système étant restreinte par le modèle de sécurité Android, ces objets permettent aux applications de fournir ou demander des services ou des données. La transmission se fait à travers tout le système et peut cibler précisément une activité ou un service. Récepteur d’Intents : il permet à une application d’être à l’écoute des autres afin de répondre aux objets Intent qui lui sont destinés et qui sont envoyés par d’autres composants applicatifs. Notification : une notification signale une information à l’utilisateur sans interrompre ses actions en cours. 5
  • 6. Architecture d'une application Android Les différents mécanismes d’interaction avec leurs classes associées 6
  • 7. Architecture d'une application Android Permissions Certaines opérations sont réalisables à condition d’en obtenir la permission. Ces actions sont de plusieurs formes : - opérations pouvant entraîner un surcoût (connexion, échange de données, envoi de SMS par exemple) ; - utilisation de données personnelles (accès à vos contacts, à votre compte Google, exploitation de vos informations linguistiques entre autres) ; - accès au matériel du téléphone (prise de clichés, écriture sur la carte mémoire...). 7
  • 8. L’activité la plus simple possible : 8
  • 9. Cycle de vie d’une activité Les états principaux d’une activité sont les suivants : - active (active) : activité visible qui détient le focus utilisateur et attend les entrées utilisateur. C’est l’appel à la méthode onResume, à la création ou à la reprise après pause qui permet à l’activité d’être dans cet état. Elle est ensuite mise en pause quand une autre activité devient active grâce à la méthode onPause ; - suspendue (paused) : activité au moins en partie visible à l’écran mais qui ne détient pas le focus. La méthode onPause est invoquée pour entrer dans cet état et les méthodes onResume ou onStop permettent d’en sortir ; - arrêtée (stopped) : activité non visible. C’est la méthode onStop qui conduit à cet état. 9
  • 15. Les vues Les vues sont les briques de construction de l’interface graphique d’une activité Android. Les objets View représentent des éléments à l’écran qui permettent d’interagir avec l’utilisateur via un mécanisme d’événements. Plus concrètement, chaque écran Android contient un arbre d’éléments de type View dont chaque élément est différent de par ses propriétés de forme, de taille... Bien que la plupart des éléments dont nous ayons besoin – textes, boutons... – soient fournis par la plate-forme, il est tout à fait possible de créer des éléments personnalisés Les vues peuvent être disposées dans une activité (objet Activity) et donc à l’écran soit par une description XML, soit par un morceau de code Java. 15
  • 16. Les ressources Les ressources sont des fichiers externes – ne contenant pas d’instruction – qui sont utilisés par le code et liés à votre application au moment de sa construction. Android offre un support d’un grand nombre de fichiers ressources comme les fichiers images JPEG et PNG, les fichiers XML… Physiquement, les ressources de l’application sont créées ou déposées dans le répertoire res de votre projet. Ce répertoire sert de racine et contient lui-même une arborescence de dossiers correspondant à différents types de ressources. 16
  • 17. Les types majeurs de ressources avec leur répertoire associé 17
  • 18. Structure d’un projet Android Voici une capture d’écran d’un projet typique Android en version 1.5 avec quelques-unes des ressources. 18
  • 19. Le fichier de configuration Android : la recette de votre application Chaque application Android nécessite un fichier de configuration : AndroidManifest.xml. Ce fichier est placé dans le répertoire de base du projet, à sa racine. Il décrit le contexte de l’application, les activités, les services, les récepteurs d’Intents (Broadcast receivers), les fournisseurs de contenu et les permissions. Structure du fichier de configuration Un fichier de configuration est composé d’une racine (le tag manifest ) et d’une suite de noeuds enfants qui définissent l’application. 19
  • 20.  Structure vide d’un fichier de configuration d’une application La racine XML de la configuration est déclarée avec un espace de nom Android (xmlns:android ) qui sera utile plus loin dans le fichier ainsi qu’un paquetage dont la valeur est celle du paquetage du projet. Un fichier au format XML doit donc toujours être : - bien formé : c’est-à-dire respecter les règles d’édition d’un fichier XML en termes de nom des balises, de balises ouvrante et fermante, de non-imbrication des balises, etc. ; - valide : il doit utiliser les éléments prévus par le système avec les valeurs prédéfinies. 20
  • 21. Un exemple de structure du fichier AndroidManifest.xml 21
  • 22. Les permissions qui seront déclarées ici seront un prérequis pour l’application. À l’installation, l’utilisateur se verra demander l’autorisation d’utiliser l’ensemble des fonctions liées à ces permissions comme la connexion réseau, la localisation de l’appareil, les droits d’écriture sur la carte mémoire... Un manifeste contient un seul et unique noeud application qui en revanche contient des noeuds concernant la définition d’activités, de services… Déclare une activité présentée à l’utilisateur. Si vous oubliez ces lignes de configuration, vos éléments ne pourront pas être utilisés. Déclare un composant de l’application en tant que service. Ici pas question d’interface graphique, tout se déroulera en tâche de fond de votre application. 22
  • 23. Déclare un récepteur d’objets Intent. Cet élément permet à l’application de recevoir ces objets alors qu’ils sont diffusés par d’autres applications ou par le système. Déclare un fournisseur de contenu qui permettra d’accéder aux données gérées par l’application. 23
  • 24. Personnaliser notre première application Android Après ces quelques lignes de théorie, construisons une application et prenons un soin tout particulier à réaliser une première activité. Plus l’application sera complexe, plus elle nécessitera d’écrans et donc d’activités. Une activité peut occuper tout l’écran ou apparaître sous forme de fenêtre semi transparente. Une application typique pourra regrouper plusieurs activités telles qu’une activité principale et une secondaire (classe Activity), une zone de liste de données (ListActivity), une boîte de dialogue (AlertDialog) et pourquoi pas une page de paramètres (PreferenceActivity).  Représentation schématique des activités
  • 25. Exemle : Activité principale créée par défaut Aperçu du fichier main.xml Ce fichier se compose d’un LinearLayout contenant un TextView . En d’autres termes nous avons un conteneur et un label.
  • 26. Créer une activité sans main.xml L’avantage de l’utilisation du fichier XML réside dans le fait qu’il est premièrement plus facile à lire et à créer notamment grâce à l’assistant intégré.
  • 27. personnaliser le texte Ouvrez le fichier strings.xml qui se trouve dans le répertoire res/values. Il contient les chaînes de caractères utilisées comme ressources dans l’application. Ressources textuelles utilisées dans l’application : La chaîne de caractères à modifier porte l’identifiant hello 27