TP 03. Cycle de vie d une activité. 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle)



Documents pareils
TP au menu «UI ANDROID»

1.3 Gestion d'une application

TP SIN Programmation sur androïde Support : eclipse

Warren PAULUS. Android SDK et Android x86

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

Projet Android (LI260) Cours 2

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

TP2 : Client d une BDD SqlServer

Module Architecture des systèmes mobiles : Android première partie Didier FERMENT - UPJV

Créer des applications Android

Tutorial pour une application simple

Education Delivery Intelligent Tool

Programmation mobile avec Android

Android UIThread, Thread, Handler et AsyncTask

De Java à Android version 0.1

Développement sous Android

Développement sous Android

1. Base de données SQLite

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

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

Architectures Mobiles

Android en action. Abdelkader Lahmadi Université de Lorraine

Les fondamentaux du développement d applications Java

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1

Développement Android. J.-F. Couchot

TD/TP 1 Introduction au SDK d Android

Programmation Android L3 informatique

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

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

SOMMAIRE

Introduction à Eclipse

Tutoriel Android - TP de prise en main

Épisode 2 : Les outils de développement Alain Menu édition 2.1, septembre 2013

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Programmer en JAVA. par Tama

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Tutoriel Android. Pour démarrer la programmation d'applications Android

Android 101. Rémi Forax

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

GUIDE UTILISATEUR SYSTEMES CCTV

Encore plus de widgets et de conteneurs

Alfstore workflow framework Spécification technique

Keyyo Unify Application de téléphonie intégrée pour Salesforce

Projet de programmation (IK3) : TP n 1 Correction

TP1 : Initiation à Java et Eclipse

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

Interfaces graphiques avec l API Swing

Intégration d'un système d'audio-vidéo conférence sur un robot de téléprésence

Tutoriel de formation SurveyMonkey

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Le langage C. Séance n 4

Velo-city Nantes France Mode d emploi pour soumettre votre contribution en ligne. Guide des contributeurs

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

La base de données XML exist. A. Belaïd

Arbres binaires de recherche

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

APPLICATIONS JAVA. 1. JDBC Java Database Connectivity. Applications Web

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

Programmation Par Objets

Threads. Threads. USTL routier 1

Votre premier projet Android

Application de messagerie simple sur Android : Rapport de projet de VAP RSM

Form Designer Guide d utilisateur DOC-FD-UG-FR-01/01/12

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

1 ) INSTALLATION DE LA CONSOLE 2 2 ) PREMIER DÉMARRAGE DE LA CONSOLE 3 3 ) LES JOBS 4 4 ) LES ORDINATEURS 6

Stockage de données sous Android

Programmation avec des objets : Cours 7. Menu du jour

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Développement Logiciel

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Module d introduction Comment réaliser vos propres cartes avec ArcGIS Online

Package Java.util Classe générique

Installation et compilation de gnurbs sous Windows

Android et le Cloud Computing

Manuel logiciel client for Android

Gérer les règles de prix catalogue sur Magento

wxwidgets dans un environnement Microsoft Windows

Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii

Corrigé des exercices sur les références

Créer une trace, obtenir son fichier gpx et sa carte Ou Afficher un fichier trace GPX

WebParts. Version 1.0

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

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

ECOWIN PRO. A retenir

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

VIDEO RECORDING Accès à distance

Auto-évaluation Programmation en Java

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

Design patterns. Design patterns - définition. Design patterns - avantages

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

as Architecture des Systèmes d Information

NOTICE TELESERVICES : Créer mon compte personnel

4. Groupement d objets

Guide de mise à jour BiBOARD

Wireless IP Camera 75790, 75790WH, Quick Start Guide Guide de départ rapide

WEB page builder and server for SCADA applications usable from a WEB navigator

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Transcription:

TP 03 Cycle de vie d une activité 1 ) Créer un nouveau projet Android 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle) 2 ) Surchage des fonctions de callback 1. Ouvrez le fichier «MainActivity.java» 2. Ajoutez une surcharge des fonctions de callback d Android (voir annexe) : - oncreate - onstart - onrestart - onresume - onpause - onstop - ondestroy - onsaveinstancestate - onrestoreinstancestate 3. Affichez un message en console dans chacune d entre elles pour identifier à quel moment elles sont appelées (importer «android.util.log») : Log.i("MainActivity", "oncreate"); 4. Exécutez le projet 5. Si la console ne s affiche pas d elle même, cliquez sur le bouton «Logcat» : (probablement situé en bas à gauche, mais cela peut varier). Si vous n avez pas cette icône, faîtes «Window Show view Other Logcat» 6. Utilisez l application et regardez les messages affichés en console quand : - vous utilisez le bouton home - vous utilisez le bouton back - vous passez en mode paysage / portrait (sur l émulateur : CTRL + F12)

2 ) Interaction avec l interface graphique 1. Le but de cette partie est que vous fassiez en sorte que la TextView affiche le nombre de fois où votre application est passée dans la fonction «onresume». Pour tester si cela marche bien, vous pouvez appuyer sur le bouton home puis revenir à votre application. Infos utiles : - Affecter un id à la TextView : <TextView android:id="@+id/textview_onresume_count" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> - Récupérer une vue grâce à son id : TextView onresumecounttextview=(textview)this.findviewbyid(r.id.textview_onresume_count); - Changer le texte d une TextView : onresumecounttextview.settext(""); 2. Une fois que votre compteur fonctionne, regardez ce qu il se passe lorsque vous changez l orientation de l appareil. Essayez maintenant de faire en sorte que votre compteur s incrémente aussi lors de la rotation. Infos utiles : - Sauvegarde un entier dans un objet de type Bundle : outstate.putint("myint", myint); - Récupérer un entier contenu dans un objet de type Bundle : int myint = savedinstancestate.getint("myint"); 3. Si vous avez fini, vous pouvez essayer d ajouter un bouton dans le fichier de layout, puis faire en sorte qu au clic sur ce bouton, une popup s ouvre. Infos utiles : - Laisser MainActivity implémenter l interface «OnClickListener» : public class MainActivity extends Activity implements OnClickListener

- Réagir à l évènnement «onclick» : public void onclick(view v) { - Affecter le OnClickListener (la MainActivity dans ce cas) au bouton : Button popupbutton = (Button) this.findviewbyid(r.id.button_popup); popupbutton.setonclicklistener(this); - Gestion d une popup : // Create a dialog : AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.settitle("popup!"); builder.setmessage("popup message"); builder.setpositivebutton("ok", null); AlertDialog dialog = builder.create(); // Show a dialog : dialog.show(); // Dismiss a dialog : dialog.dismiss();

Annexe - Surchage des callback du cycle de vie package fr.ifremer.activitylifecycle; import android.app.activity; import android.os.bundle; import android.view.menu; public class MainActivity extends Activity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // Load the layout : setcontentview(r.layout.activity_main); public boolean oncreateoptionsmenu(menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true; protected void onstart() { super.onstart(); protected void onrestart() { super.onrestart(); protected void onresume() { super.onresume();

protected void onpause() { super.onresume(); protected void onstop() { super.onstop(); protected void ondestroy() { super.ondestroy(); protected void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); protected void onrestoreinstancestate(bundle savedinstancestate) { super.onrestoreinstancestate(savedinstancestate); Pour plus d informations sur le cycle de vie d une activité (avec notamment une application de test des fonctions de callback plus poussée que celle de ce TP) : http://developer.android.com/training/basics/activity-lifecycle/pausing.html