LES PARCELABLES. Dans ce cas nous avons les 2 méthodes de l interface a implémenter :



Documents pareils
TP SIN Programmation sur androïde Support : eclipse

Premiers Pas en Programmation Objet : les Classes et les Objets

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

TD/TP PAC - Programmation n 3

RMI le langage Java XII-1 JMF

Warren PAULUS. Android SDK et Android x86

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

TD/TP PAC - Programmation n 3

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Remote Method Invocation (RMI)

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

Héritage presque multiple en Java (1/2)

TP au menu «UI ANDROID»

Chapitre 2. Classes et objets

Android et le Cloud Computing

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Projet Android (LI260) Cours 2

Tp 1 correction. Structures de données (IF2)

Auto-évaluation Programmation en Java

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Chapitre 10. Les interfaces Comparable et Comparator 1

Développement sous Android

TP1 : Initiation à Java et Eclipse

Créer des applications Android

Les fondamentaux du développement d applications Java

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Algorithmique & programmation

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

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Programmer en JAVA. par Tama

Corrigé des exercices sur les références

Création d objet imbriqué sous PowerShell.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

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

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

De Java à Android version 0.1

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

SOMMAIRE

Support de cours et TD Programmation Orientée Objet

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Programmation par les Objets en Java

1.3 Gestion d'une application

Les frameworks au coeur des applications web

TP1 : Initiation à Java et Eclipse

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

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

TP2 : Client d une BDD SqlServer

TP1. Outils Java Eléments de correction

Programmation mobile avec Android

Cours 1: Java et les objets

TD3: tableaux avancées, première classe et chaînes

Surveiller sa maison via son Smartphone sous Android

Package Java.util Classe générique

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

Langage Java. Classe de première SI

Android UIThread, Thread, Handler et AsyncTask

Tutorial pour une application simple

TP, première séquence d exercices.

Programmation Objet Java Correction

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Projet gestion d'objets dupliqués

Exercices sur les interfaces

Développement Logiciel

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Programmation Android L3 informatique

Programmation Orientée Objet

Java Licence Professionnelle CISII,

as Architecture des Systèmes d Information

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

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

Tutoriel Android - TP de prise en main

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application

Initiation à JAVA et à la programmation objet.

Corrigés des premiers exercices sur les classes

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Introduction ANDROID

Une introduction à Java

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Projet de programmation (IK3) : TP n 1 Correction

Programmation Par Objets

Certificat Big Data - Master MAthématiques

Systeme d'exploitation

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

Android en action. Abdelkader Lahmadi Université de Lorraine

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

Flux de données Lecture/Ecriture Fichiers

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

ACTIVITÉ DE PROGRAMMATION

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction

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

Chapitre VI- La validation de la composition.

Environnements de développement (intégrés)

Importer des images sur la bibliothèque de contenus multimédia librement réutilisable de Wikimédia Commons

Transcription:

LES PARCELABLES Comment passer un objet entre des activity? Passer des données entre des activités est très facile sous Android. Normalement on utilise les Bundles. Mais que se passe -t-il quand on veut envoyer des objets complexes d une activité à une autres? Le système basé sur les Parcels est utilisé nativement par Android, il transforme des objets en Parcel, ce qui permet de passer des informations entre les activités. On peut dire que c est l équivalent de la sérialisation pour le passage d objet entre différentes activités ou différents processus (IPC Inter-Process Communication). Pour pouvoir passer un objet complexe en utilisant le Bundle, il suffit que la classe représentant votre objet implémente l interface Parcelable. Dans ce cas nous avons les 2 méthodes de l interface a implémenter : describecontents : Sert à décrire le contenu de notre Parcel et plus précisément le nombre d objet spéciaux contenus dans votre Parcel writetoparcel : Sert à écrire l objet dans un Parcel. Exemple : public class Personne implements Parcelable{

La méthode writetoparcel nous permet d ecrire les attributs de notre objet Personne dans l objet parcel. public class Personne implements Parcelable{ Ensuite il est nécessaire de créer un objet CREATOR de la classe PARCELABLE, et un constructeur prenant en argument notre objet personne afin de pouvoir créer un objet Personne à partir d un parcel. public static final Parcelable.Creator<Personne> CREATOR=new Parcelable.Creator<Personne>(){ public Personne createfromparcel(parcel p){ return new Personne(p); public Personne[] newarray(int size){ return new Personne[size]; ; public Personne(Parcel in){ this.prenom=in.readstring();

this.nom=in.readstring(); this.email=in.readstring(); this.adresse=in.readstring(); this.datenaissance=in.readstring(); Exemple de cas dans une activity Activiteprincipale : protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_activite_principale); //instanciation de personne Personne pers=new Personne("Valjean","Jean@free.Fr","1 bd Victor Hugo 44000 Nantes","10/06/1964","Jean"); SecondeActivite : //declaration de l'intent Intent i=new Intent(ActivitePrincipale.this,SecondeActivite.class); //Ajout de l'objet personne dans l'intent i.putextra("personne",pers); startactivity(i); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_seconde_activite); TextView montexte=(textview) findviewbyid(r.id.texte); //récupération de l'intent de la 1ere activity Intent x=getintent(); //récupération du bundle de l'activity Bundle y=x.getextras(); //recuperation de l'objet Personne Personne pers=y.getparcelable("personne"); String txt=""; txt+="nom: "+pers.getnom()+"\n"; txt+="prenom: "+pers.getprenom()+"\n"; txt+="email: "+pers.getemail()+"\n"; txt+="adresse: "+pers.getadresse()+"\n"; txt+="date de naissance: "+pers.getdatenaissance()+"\n"; //affectation de txt au TextView montexte.settext(txt); Classe personne.java :

public class Personne implements Parcelable{ public static final Parcelable.Creator<Personne> CREATOR=new Parcelable.Creator<Personne>(){ public Personne createfromparcel(parcel p){ return new Personne(p); public Personne[] newarray(int size){ return new Personne[size]; ; public Personne(Parcel in){ this.prenom=in.readstring(); this.nom=in.readstring(); this.email=in.readstring(); this.adresse=in.readstring(); this.datenaissance=in.readstring(); public String getprenom() { return prenom;

public void setprenom(string prenom) { public String getnom() { return nom; public void setnom(string nom) { public String getemail() { return email; public void setemail(string email) { public String getadresse() { return adresse; public void setadresse(string adresse) { public String getdatenaissance() { return datenaissance; public void setdatenaissance(string datenaissance) {