Chapitre 2 Cycle de vie d une application

Documents pareils
Tutorial pour une application simple

Table des matières. Partie I Concepts de base Préface... VII

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

1.3 Gestion d'une application

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

1. Base de données SQLite

Une passerelle SMS comme périphérique SynoZwave, et un monitoring de votre infrastructure

Développement sous Android

Edutab. gestion centralisée de tablettes Android

Développement sous Android

Education Delivery Intelligent Tool

OCLOUD BACKUP MINI GUIDE. 1 Ocloud Backup/Mini- Guide

Créer et partager des fichiers

JVC CAM Control. Mode d'emploi. for Android. Français LYT A 0812YMHYH-OT

MANUEL D UTILISATION POUR APPAREILS ANDROID

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

SOMMAIRE... 1 ESPACE DU CLUB...

Guide de l utilisateur Mikogo Version Windows

Développement d applications professionnelles avec Android 2

Java 7 Les fondamentaux du langage Java

Android 4 Les fondamentaux du développement d'applications Java

Documentation Technique du programme HYDRONDE_LN

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP Interfaces Multimodales

GUIDE ADMINISTRATEUR BIEN DÉMARRER AVEC WISEMBLY

Mode d emploi Flip Box

TP2 : Client d une BDD SqlServer

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Formation Utiliser son iphone ou son ipad

TP au menu «UI ANDROID»

Création d'un questionnaire (sondage)

Installation et prise en main

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Gérer, stocker et partager vos photos grâce à Picasa. Janvier 2015

GUIDE D UTILISATION. Informations importantes Toshiba FOLIO 100 Conseils pour une première utilisation, configuration et principaux usages

TD/TP 1 Introduction au SDK d Android

USER GUIDE. Interface Web

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

SimpleOCR, un logiciel gratuit de reconnaissance de caractères

LES TABLETTES : EN PRATIQUE

Accès à distance sécurisé au Parlement (ADSP)

Atelier Introduction au courriel Utiliser Guide de l apprenant

COURS WINDEV NUMERO 3

L accès à distance du serveur

Animer son cours depuis la tablette

Projet Android (LI260) Cours 2

Guide de démarrage rapide. (pour la version 5.0.)

Programmation Mobile Android Master CCI

Manuel de l utilisateur. Soft-phone - Client VoIP 3CX Version 6.0

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

CREG : versailles.fr/spip.php?article803

PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US

Traduction des Langages : Le Compilateur Micro Java

Prise en main. août 2014

Configuration du moteur de recherche de SharePoint Foundation 2013

Manuel d'installation de GESLAB Client Lourd

Tune Sweeper Manuel de l'utilisateur

Terminaux Mobiles Communicants

DÉMATÉRIALISATION DES MARCHÉS

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

progecad NLM Guide de l'utilisateur

Cette console est compatible avec le logiciel isuper. Nous vous conseillons de consacrer quelques minutes à la lecture de ce guide d'utilisation.

Administration du site

Service de certificat

Site web de Support : Manuel utilisateur

Manuel d utilisation pour la plateforme BeExcellent MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT

CRÉER SON SITE INTERNET. Créer son site Internet. Méd de Roanne. FG 16/09/08

PROGRAMME DE MESSAGERIE INSTANTANEE RAPPORT FINAL. Généralités Structure du code Détail de scénarios Précisions de fonctionnement

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Atelier Introduction au courriel Utiliser Yahoo.ca Guide de l apprenant

Tutorial Terminal Server sous

Partager sa connexion Internet via le WiFi avec Windows 8

Mes documents Sauvegardés

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

WF-MB Relai Wi-Fi/Radio GUIDE D INSTALLATION RAPIDE SOLEM. customersupport@solem.fr

Créer un site Internet dynamique

Windows 8 : une petite révolution? 9. Démarrer Windows Accéder au Bureau à la connexion 13. Ouvrir ou activer une nouvelle session 13

Utilisation et création de la clé USB OSCAR

Manipulation 4 : Application de «Change».

Partie 7 : Gestion de la mémoire

Construire un portail de ressources numériques avec Netvibes

Tutorial et Guide TeamViewer

Manuel d installation et d utilisation du logiciel GigaRunner

Service client LSC 1

Composition d un ordinateur :

Fiche Pratique. Présentation du problème. Le cas le plus simple. Un cas plus compliqué. MAJ le 15/12/2011

CONTACT EXPRESS 2011 ASPIRATEUR D S

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Popsy Financials. Liaison bancaire Quick Start

Outil de démonstration : Application PassNFC

Cours Android. Développement et API. Romain Raveaux 1. Mars 06-03, romain.raveaux at univ-tours.fr. Organisation du module

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Dongle WiFi de QUMI Manuel de l utilisateur

Transcription:

Chapitre 2 : Cycle de vie d une application 20 Chapitre 2 Cycle de vie d une application Chapitre 2 : Cycle de vie d une application 21 Une application Android est composée d un ensemble de 4 éléments qui interagissent entre eux. Ces éléments sont : «Activité», «Service», «Broadcast Reciever» et «Content Provider».

Chapitre 2 : Cycle de vie d une application 22 1. Activité - L activité est le premier composant essentiel permettant de gérer le cycle de vie d'une application et l'interactivité avec l'utilisateur moyennant une interface graphique. - Par extension, on dit que l activité est grosso modo la forme disponible sur l écran. - Elle offre à l utilisateur l interface (écran) pour interagir avec l application. - Chaque écran de l application représente une activité. - Une application Android est composée d une ou de plusieurs activités (un jeu sur plusieurs écrans). - Une seule activité est lancée à la fois. Chapitre 2 : Cycle de vie d une application 23 - Dans «Java», chaque activité est une classe qui étend par héritage la classe «Activity». - Lors du démarrage d une activité, 3 méthodes sont appelées automatiquement : «oncreate», «onstart» et «onresume». - Lorsque l on quitte l activité, 3 méthodes sont appelées automatiquement : «onpause», «onstop» et «ondestroy». - Ces méthodes sont définies dans la classe «Activity» et devront être redéfinies si c'est nécessaire. - L ensemble du code «Java» est généralement écrit dans la méthode «oncreate».

Chapitre 2 : Cycle de vie d une application 24 - La sauvegarde des données importantes quant à elle est effectuée dans la méthode «onpause». - En effet quand une activité n a plus «le focus», elle est mise en pause d où l appel à la méthode «onpause». Il est donc préférable de sauvegarder les informations critiques avant de se mettre en pause! - Quand l activité «onpause» termine sa période de repos, le système appelle la méthode «onresume». - La figure qui suit est disponible à cette adresse : http://developer.android.com/reference/android/app/activity.html Chapitre 2 : Cycle de vie d une application 25

Chapitre 2 : Cycle de vie d une application 26 onresume onpause oncreate onstart Arrière-plan onstop ondestroy Reprend le focus Durée de l'activité Visible onrestart - Examiner l exemple «02_01 : activite». - Redéfinir les 6 méthodes. Ajouter un Log.i(TAG, «x») pour chaque méthode. - Interagir (envoyer un gsm) avec l AVD et examiner le comportement de l application et les différents appels aux 6 méthodes. Chapitre 2 : Cycle de vie d une application 27 Description des états - État «start» : quand l activité n est pas encore référencée en mémoire, elle est dans un état «start». - État «Resume» / «Running» : une activité qui a le focus, est dans un état «Running» à un instant «t». Cette activité se trouve au sommet de la pile. - État «Pause» : une activité qui n a pas le focus (donc elle n interagit pas avec l utilisateur), mais reste visible à l écran, est dans un état «Pause». Elle maintient son état et reste attachée au gestionnaire de fenêtres. Cette activité peut quand même être détruite par le système si ce dernier se trouve en manque de mémoire par exemple. - État «Stopped» : une activité qui n est pas visible à l écran, mais existe quand même en mémoire, est dans un état «Stopped». - État «Destroyed» : quand l activité n est plus en mémoire, elle est détruite. Ce phénomène arrive, car le gestionnaire d activités décide qu une telle activité n est plus utilisée.

Chapitre 2 : Cycle de vie d une application 28 Pile http://developer.android.com/guide/components/tasks-and-back-stack.html - Les activités sont cédulées en utilisant la notion de pile. - La pile est du type «LIFO» (Last In First Out). Chapitre 2 : Cycle de vie d une application 29 - Quand une activité est dans un des états onpause, onstop et ondestroy, elle est dans une situation où elle peut être détruite si le système est en manque de mémoire. - L état «onpause» est le seul qui a la possibilité de s exécuter complètement avant que l activité ne soit détruite complètement. - Ainsi donc, s il y a des données critiques à écrire, c est dans cet état qu il faudra le faire.

Chapitre 2 : Cycle de vie d une application 30 2. Service - Un service est une composante qui fonctionne en arrière-plan (tâche de fond). - Un service n est pas un composant graphique. - Ce fonctionnement lui permet de réaliser une tâche d une très longue durée sans une interaction avec l utilisateur : écouter de la musique en arrière-plan, sauvegarder des données sur le réseau. - Un service s exécutant en arrière-plan est prioritaire qu une application exécutée dans le même plan. Chapitre 2 : Cycle de vie d une application 31 Un service peut avoir deux états : - Started (Démarré) : quand une composante d une application, par exemple une activité, a démarré le service en faisant appel à la méthode «startservice()». Quand un service est démarré, il peut fonctionner en arrière-plan indéfiniment même si la composante qui s est chargée de le démarrer a été détruite. - Bound (Lié) : un service est dans cet état, quand un composant d une application s est lié à lui en appelant la méthode «bindservice()». Cet état offre une interface client-serveur permettant aux composantes d interagir avec le service, envoyer des requêtes, obtenir des résultats, etc. Le diagramme suivant explique le cycle de vie d un service et les différentes méthodes nécessaires pour interagir avec lui.

Chapitre 2 : Cycle de vie d une application 32 http://developer.android.com/guide/components/services.html Chapitre 2 : Cycle de vie d une application 33 onstartcommand() : cette méthode est appelée par le système quand une activité a démarré le service en faisant appel à «startservice()». Cette méthode sert à exécuter le traitement que doit effectuer votre service. Si cette méthode est implémentée, il faut arrêter le service quand la tâche est terminée avec «stopself()» (commande interne au service) ou «stopservice()» (commande externe). onbind() : cette méthode est appelée par le système quand une autre composante veut se lier à ce service en faisant appel à «bindservice()». Si cette méthode est implémentée, vous devez prévoir pour le client une interface lui permettant de communiquer avec le service en retournant un objet «IBinder». Vous pouvez retourner une valeur «null» si vous voulez refuser toute liaison possible. onunbind() : cette méthode est appelée quand un client s est déconnecté de l interface fournie par le service. onrebind() : cette méthode est appelée quand un nouveau client s est connecté au service après que ce dernier ait reçu l information comme quoi tous les clients se sont déconnectés de lui en utilisant la méthode «onunbind()». oncreate() : cette méthode est appelée quand un service est créé ou qu une liaison a été établie avec le service, pour la première fois. Cet appel permet d exécuter une seule fois une série de commandes.

Chapitre 2 : Cycle de vie d une application 34 ondestroy() : cette méthode est appelée quand un service n est plus utilisé. Cette méthode doit-être implémentée pour faire le ménage correctement (threads, écouteurs, etc.). - Examiner l exemple «02_02 : MonService». Chapitre 2 : Cycle de vie d une application 35 3. BroadcastReceiver (Récepteur d événements) - C est un récepteur spécialisé dont la tâche est d écouter les messages transmis. - Il va écouter certaines intentions en particulier (grâce à des filtres d intention). - Il est conçu pour recevoir des intentions afin d effectuer une action. - La tablette a une batterie faible. Android va envoyer un message «interne» pour informer les «BroadcastReceiver» associés à diverses applications de cet état. À eux d effectuer les tâches nécessaires suite à ce message. - Un «BroadcastReceiver» n est pas un composant graphique.

Chapitre 2 : Cycle de vie d une application 36 - Pour qu un «BroadcastReceiver» puisse fonctionner, vous devez d abord le créer puis l enregistrer. Création : - Un «BroadcastReceiver» que vous allez définir doit-être implémenté comme une sous-classe de «BroadcastReceiver». - Vous devez redéfinir la seule méthode disponible dans cette classe, il s agit de «onreceive». - Cette méthode est appelée en cas de réception d une intention. Enregistrement : - Un récepteur est déclaré par l ajout d un élément «receiver» dans le fichier «AndroidManifest.xml». - Les principaux «broadcast» sont définis dans la classe «intent». Parmi eux «android.intent.action.airplane_mode». - Examiner l exemple «02_03 : SimpleBroadcastReceiverApp». Chapitre 2 : Cycle de vie d une application 37 Un récepteur d événements sur mesure - Pour qu'une application génère et envoie par elle-même une intention («intent»), il faut utiliser la méthode «sendbroadcast()». - Examiner l exemple «02_04 : AirplaneMode».

Chapitre 2 : Cycle de vie d une application 38 4. Les Content Providers (fournisseurs de contenu) - Une base de données «SQLite» est embarquée dans Android. - Une application peut créer une base de données pour regrouper un ensemble d informations (exemple les contacts, une banque de photos, etc.). - Si cette application veut rendre ses données accessibles, elle le fait à travers un mécanisme bien défini. - Elle utilise pour cela un «fournisseur de contenu» en précisant le mode d accès «lecture/écriture». - Les fournisseurs de contenu gèrent les données partagées par une ou plusieurs applications. - Ils ont la charge de fournir ces informations ou bien de les modifier à la demande. - C est le seul moyen disponible pour partager des données entre différentes applications. Chapitre 2 : Cycle de vie d une application 39 - La notion de fournisseurs de contenu est un concept évolué sur la gestion de données communes basée sur le principe de permissions d accès. - Ainsi donc, Android a créé une séparation claire entre votre application et les données exposées. - Exemple : en installant une application Android sur votre appareil, ce dernier vous informe des accès réclamés par cette application et, si vous êtes d accord pour les accorder. - Nous allons revenir sur ces notions dans le chapitre «Persistance et partage des données».