SlideShare ist ein Scribd-Unternehmen logo
1 von 28
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

Weitere ähnliche Inhalte

Was ist angesagt?

Développement Android
Développement AndroidDéveloppement Android
Développement AndroidFranck SIMON
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications AndroidLilia Sfaxi
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1Sabeur LAJILI
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à androidLilia Sfaxi
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia 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_2016Sabeur LAJILI
 
CocoaHeads An Android Overview (fr)
CocoaHeads An Android Overview (fr)CocoaHeads An Android Overview (fr)
CocoaHeads An Android Overview (fr)Mathias Seguy
 
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'AndroidHoussem Lahiani
 

Was ist angesagt? (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
 

Andere mochten auch

Android architecture
Android architectureAndroid architecture
Android architectureHari Krishna
 
Les vues (views) sous android
Les vues (views) sous androidLes vues (views) sous android
Les vues (views) sous androidHoussem 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 androidHoussem Lahiani
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introductionToxicode
 
Tutorial android - créer des apps
Tutorial android - créer des appsTutorial android - créer des apps
Tutorial android - créer des appsNoé Breiss
 
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'AndroidHoussem 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édiaNazih 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 WebHarrathi 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
 
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, AndroidAlphorm
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm
 
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 - 131112SOAT
 
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
 

Andere mochten auch (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
 

Ähnlich wie Cours 1 Android

Ch2. Développement mobile
Ch2. Développement mobileCh2. Développement mobile
Ch2. Développement mobileHaifa Chorfi
 
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
 
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 2016Hadina RIMTIC
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfmed_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.pdfRihabBENLAMINE
 
OCTO - Sécurité android
OCTO - Sécurité androidOCTO - Sécurité android
OCTO - Sécurité androidOCTO 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).pdfolfaharrabi2
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptxYaminaGh1
 
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 2011BeMyApp
 
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’AndroidENSAM Casablanca
 
Chapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-androidChapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-androidSalah Gharbi
 

Ähnlich wie 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
 
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
 
Chapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-androidChapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-android
 

Kürzlich hochgeladen

SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 

Kürzlich hochgeladen (20)

SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 

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