Programmation Android Composantes d’une application

Slides:



Advertisements
Présentations similaires
Les applications O.Legrand G. Seront. Les applications Chaque application a son Linux.
Advertisements

On a vu précédemment qu’il existait deux domaines en électronique L’analogique Et le numérique En analogique on a vu que le signal électrique représenté.
Plus d’interactions avec les CPAS via les médias sociaux Linkedin: un groupe d’échanges de bonnes pratiques.
Université de Nantes CHORD Vincent Trève. Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair?
Présentation de Scribe Votre nouvelle organisation du Réseau Informatique Pédagogique.
Présentation du projet JAVA Système de messagerie instantanée cryptée.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
Guide de l'enseignant SolidWorks, leçon 1 Nom de l'établissement Nom de l'enseignant Date.
TP 1 BIS Programmation structurée à l’aide de fonctions (FC) et de bloc fonctionnels (FB)
1. 2 Boite à outils Qt ● Boite à outils C++ pour le développement multi-plateforme d'application en environnement graphique (GUI) – des fonctions GUI.
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université d’Adrar Diagramme d’états-transitions Présenté par Sbai Omar Benothman.
ARCHITECTURE MULTITENANT CONTAINER DATABASE ET PLUGGABLE DATABASES Pr. A. MESRAR
NOTIONS INFORMATIQUES : RAPPEL
Les commandes externes
La technologie des mémoires
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
InfodataDay 2016 CONFÉRENCES 17 NOVEMBRE 2016.
Cycle 3 Cycle 4 Pilotage du robot mBot Site scratch :
Projet de programme et recommandations
A JavaScript library for building user interfaces
DropBox Projet App’Ifa.
La gestion des co-produits (niveau de version : C)
FARAH.Z "Cours sécurité1" /2016
Budget / affaire - Facturation
Détection des erreurs.
Algorithmique demander jeu du pendu.
L’essentiel à retenir BUDI - Vision partenaires
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
JAVA et POO : Notion d'héritage
Les composants informatiques
Javadoc et débogueur Semaine 03 Version A16.
Développement JAVA pour plateforme ANDROID
Asynchronous Javascript And Xml
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Les synthèses Sources : Guide pédagogique et didactique d’accompagnement du programme de technologie (page 15)
STRATÉGIES ET INSTRUMENTS D´ÉVALUATION
Développement avec Android
Semaine #4 INF130 par Frédérick Henri.
Piloter un robot mbot à distance avec retour vidéo
Caroline LAURENT, Véronique PETIT
Présentation des EJB Enterprise Java Beans.
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Programmation Android Communication entre composants
Programmation Orientée Objet
Programmation Android Bases De Données, SQL-lite
Structure et Services « STS » Documentation et suivi
Nouveaux programmes de sciences et de technologie : comment décliner l’enseignement au cours du cycle 3 ? Après les programmes, leur contenu… leur déclinaison…
Formation sur les bases de données relationnelles.
Diagrammes UML 420-KE2-LG.
Programmation Android Première application Android
L1 Technique informatique
Co-produits Management (Version Level: C)
Assembleur, Compilateur et Éditeur de Liens
Bonnes pratiques d’exploitation des applications
Modélisation objet avec UML
Base de donnée de support
Langages de programmation TP11
Réalisé Par : Ahmed Ben Dahmen Slimen Ouni Chahed Ben Slama
JDepend - Analyse de la qualité du code Java -
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Chapitre V La Procédure Comptable
7- Nouveaux services pédagogiques pour les élèves
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Les différents modes de démarrage de Windows
Groupe de travail « Gestion des données de l’université »
Présentation projet de fin d’études
Python Nicolas THIBAULT
Gestion des destinataires (recipients)
Transcription de la présentation:

Programmation Android Composantes d’une application Jérémy VINET IE-Concept 2017 Android-compApp V1.1 – IE-Concept 2017

Composantes d’une application Programmation Android Composantes d’une application Plan Composantes d’une application Composants applicatifs Eléments d’interaction Cycle de vie Android-compApp V1.1 – IE-Concept 2017

Composants applicatifs Programmation Android Composantes d’une application Composants applicatifs Composants applicatifs Les composants d’une application sont les éléments essentiels d’une application Android. Ils sont liés par le fichier manifeste de l’application qui décrit chaque composant et comment ils interagissent. Il existe quatre composants principaux qui peuvent être utilisés dans une application Android. Activités Services Fournisseurs de contenu Ecouteur d’intention diffusée Android-compApp V1.1 – IE-Concept 2017

Programmation Android Composantes d’une application Composants applicatifs Activités (Activity) Une 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. Elle répond aux actions utilisateur Réagit à son cycle de vie Android-compApp V1.1 – IE-Concept 2017

Programmation Android Composantes d’une application Composants applicatifs Services Un service est un composant qui fonctionne en tâche de fond, de manière invisible. Il ne nécessite pas d’interface utilisateur Ses principales utilisations sont la mise à jour de sources de données ainsi que d’activités visibles et le déclenchement de notifications Possède un cycle de vie différent d’une activité Android-compApp V1.1 – IE-Concept 2017

Fournisseurs de contenu Programmation Android Composantes d’une application Composants applicatifs Fournisseurs de contenu Un fournisseur de contenu (content providers) 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 (partage des données). Niveau d’abstraction pour toutes données stockées sur le terminal Android encourage la mise à disposition de ses propres données aux autres programmes grâce aux fournisseurs de contenu Android-compApp V1.1 – IE-Concept 2017

Ecouteur d’intention diffusée Programmation Android Composantes d’une application Composants applicatifs Ecouteur d’intention diffusée Permet à une application de récupérer des informations générales Evènement calendrier Réception d’un SMS Batterie faible … Android-compApp V1.1 – IE-Concept 2017

Eléments d’interaction Programmation Android Composantes d’une application Eléments d’interaction Eléments d’interaction Les éléments d’interaction permettent des interactions entre applications et avec le système Il y a deux grandes familles d’éléments d’interaction Les intentions Les notifications Android-compApp V1.1 – IE-Concept 2017

Programmation Android Composantes d’une application Eléments d’interaction Intention (Intent) Une intention est un message système qu’on peut qualifier d’ évènement Les Intents sont des objets permettant de faire passer des messages contenant de l’information entre composants principaux Emis par le terminal pour prévenir les applications de la survenue d’ événements (cas des événements système) ou par tout autre application (cas des événements applicatifs). Insertion d’une carte SD Réception d’un SMS Démarrage d’une application Acquisition d’un signal GPS Android-compApp V1.1 – IE-Concept 2017

Programmation Android Composantes d’une application Eléments d’interaction Notifications Le système de notifications fournit une indication permettant de prévenir l’utilisateur de certains évènements Arriver d’un SMS Appel en absence Chaque application peut générer des notifications Android-compApp V1.1 – IE-Concept 2017

Application Android Une activité = un programme + une interface Programmation Android Composantes d’une application Eléments d’interaction Application Android Une activité = un programme + une interface Un service = un programme sans interface Une application = Une activité principale Eventuellement une ou plusieurs activités secondaires Eventuellement un ou plusieurs services Eventuellement un ou plusieurs écouteurs d’intentions diffusées Eventuellement un ou plusieurs fournisseurs de contenu Android-compApp V1.1 – IE-Concept 2017

Déclaration des éléments dans AndroidManifest.xml Programmation Android Composantes d’une application Eléments d’interaction Déclaration des éléments dans AndroidManifest.xml Tous les éléments déclarés doivent se trouver entre les balises application Activité <activity> … </activity> Service <service> </service> Ecouteur d’intention diffusée <receiver> … </receiver> Fournisseur de contenu <provider> </provider> Android-compApp V1.1 – IE-Concept 2017

Exemple de manifeste pour une application ayant une activité Programmation Android Composantes d’une application Eléments d’interaction Exemple de manifeste pour une application ayant une activité Android-compApp V1.1 – IE-Concept 2017

Programmation Android Composantes d’une application Cycle de vie Cycle de vie Il est indispensable de connaitre voir le cycle de vie d’une application afin de savoir les points d’entrée et de réaction d’une application En fonction du type d’application le cycle de vie ne sera pas le même Deux cycles différents Cycle de vie d’une Activité Cycle de vie d’un Service Android-compApp V1.1 – IE-Concept 2017

Cycle de vie d’une Activity Programmation Android Composantes d’une application Cycle de vie Cycle de vie d’une Activity Dans un cycle de vie d’une activité on compte 7 états. Ces états sont déclenchés soit par le système soit par l’utilisateur. Il peut être très utile pour une application de pouvoir réagir à ces états. Android-compApp V1.1 – IE-Concept 2017

Cycle de vie d’une Activity Programmation Android Composantes d’une application Cycle de vie Cycle de vie d’une Activity Les 7 états du cycle de vie sont accessibles grâce à 7 callback définis dans la classe Activity onCreate() onStart() onResume() onRestart() onPause() onStop() onDestroy() Chaque classe d’écrivant une activité doit hériter de la classe Activity ou de toutes autres classes héritant elles-mêmes de cette classe Android-compApp V1.1 – IE-Concept 2017

Généralités sur le cycle de vie d’une activité Programmation Android Composantes d’une application Cycle de vie Généralités sur le cycle de vie d’une activité Aucune méthode main dans un programme Android Android exécute le code d’une activité en appelant des callbacks Ces callbacks correspondent aux phrases de la vie d’une activité Il n’est pas nécessaire d’implémenter toutes les callbacks Android-compApp V1.1 – IE-Concept 2017

Activity : code source Android-compApp V1.1 – IE-Concept 2017 Programmation Android Composantes d’une application Cycle de vie Activity : code source Android-compApp V1.1 – IE-Concept 2017

Vision simplifiée du cycle de vie d’une activité Programmation Android Composantes d’une application Cycle de vie Vision simplifiée du cycle de vie d’une activité Android-compApp V1.1 – IE-Concept 2017

Les états d’une activité Programmation Android Composantes d’une application Cycle de vie Les états d’une activité Les trois états durables d’une activité : Resumed : L’activité est au premier plan et l’utilisateur peut interagir avec elle. On dit aussi qu’elle est en train d’être exécutée. Paused : L’activité est partiellement recouverte par une autre activité qui se trouve au premier plan. L’activité en pause ne peut pas recevoir d’action de l’utilisateur. Stopped : L’activité est totalement cachée et ne peut plus exécuter de code. En revanche, toutes ses informations sont conservées. Les deux états transitoires d’une activité : Created : L’activité vient d’être créée. Started : L’activité vient de devenir visible. Android-compApp V1.1 – IE-Concept 2017

Cycle de vie d’un Service Programmation Android Composantes d’une application Cycle de vie Cycle de vie d’un Service Dans un cycle de vie d’un service on compte 5 états. onCreate() onStartCommand() onBind() onUnbind() onDestroy() Android-compApp V1.1 – IE-Concept 2017

Généralités sur le cycle de vie d’un service Programmation Android Composantes d’une application Cycle de vie Généralités sur le cycle de vie d’un service Il y a moins de callbacks pour un service qu’une activité Il y a deux types de service Les services locaux, ils sont lancés depuis le même processus. Les services distants, ils sont lancés depuis un processus différent. Android-compApp V1.1 – IE-Concept 2017

Les états d’un service Il n’y a qu’un état durable pour un service : Programmation Android Composantes d’une application Cycle de vie Les états d’un service Il n’y a qu’un état durable pour un service : Service running pour un service local, le service est en cours d’exécution. Client are bound to service pour un service distant, le service est en cours d’exécution tant qu’il y a des clients connectés Android-compApp V1.1 – IE-Concept 2017

Service : code source Android-compApp V1.1 – IE-Concept 2017 Programmation Android Composantes d’une application Cycle de vie Service : code source Android-compApp V1.1 – IE-Concept 2017

Généralités sur les cycles de vie Programmation Android Composantes d’une application Cycle de vie Généralités sur les cycles de vie Il est important d’implémenter les callbacks afin que votre application fonctionne correctement : Réception d’un appel et basculement sur une autre application. Ne pas consommer trop de ressources système. Ne pas avoir de problème lors de la création / restauration de l’application par le système (par exemple lors d’une rotation de l’écran). Il est donc important d’avoir fait des tests dans les situations évoquées ci-dessus, avant de distribuer une application. Android-compApp V1.1 – IE-Concept 2017

Programmation Android Composantes d’une application Ressources Ressources https://developer.android.com/guide/components/activities/index.htm l https://developer.android.com/guide/components/services.html https://developer.android.com/guide/components/index.html https://developer.android.com/ Android-compApp V1.1 – IE-Concept 2017