Passer un object d'une activité à une autre

javasfutur - 13 avril 2013 à 14:21
 javasfutur - 17 avril 2013 à 22:07
Bonjour tout le monde;

j'ai fait une application ou je dois passer un objet d'une activité à une autre et après une recherche sur le net j'ai trouvé qu'il fallait que l'object implemente
Serialisabe ou bien Parcelable mais moi je ne veux pas cette solution c'est pour ça je me demande s'il y'a une méthode autre que l'implementtaion de Serialisable et Parcelable
avec le intent.putExtra ou bien le bundle ??

8 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 372
15 avril 2013 à 08:34
Salut,

Tu peux créer un singleton pour que ton objet soit disponible dans tout ton code
0
BunoCS Messages postés 15492 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 octobre 2024 103
15 avril 2013 à 13:06
Yop,
Soit tu utilise l'interface Parcelable, soit tu passe par les extras, soit, comme dit Julien, tu passes par un singleton.
Il y a également l'astuce des SharedPreferences, mais ce n'est pas très propre...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Bonsoir ,

merci pour vos réponses mais en fait j'ai pas bien compris pourquoi j'utiliserai le singleton dans ce cas . Et aussi pour l'interface Parcelable elle a beaucoup de limitation donc c'est impossible pour moi de l'utiliser et les extras ne prennent que les types primitifs, parcelable serialisable et bundle ce dernier peut prendre des types envollopes .

Pour me bien comprendre je déclare un bean que je dois passer d'une activité à une autre et donc si ce bean n’implémente pas le serialisable il ne passe pas ,mais le projet sur lequel je travaille doit avoir même structure soit pour android soit pour un autre projet java simple (le bean ne doit avoir que les getters et setters sans rien implementé) et donc pour le desktop et mobile il n’y pas ce problème c'est pour cette raison je doit avoir même chose sur android puisque il utilise lui aussi du code java
0
BunoCS Messages postés 15492 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 octobre 2024 103
16 avril 2013 à 10:44
Hello,
Le singleton te permettrait justement de "bypasser" le passage de paramètre via Intent.
En gros, tu crée un objet (singleton, manager,...) valide tout au long de ton appli avec lequel tu peux communiquer depuis n'importe quelle Activity.


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15492 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 octobre 2024 103
16 avril 2013 à 10:49
[Suite du message]
Dans ton Activity appelante, avant de faire un startActivity, il te faudra faire:
monSingleton.setObject(monObject);
startActivity(new Intent(...));


Dans l'appelé, dans le onCreate() ou onResume():
Object monObject = monSingleton().getObject();


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Bonjour,

Si c possible de me donner le code du singleton à utiliser car le mien ne fonctionne pas et merci
0
BunoCS Messages postés 15492 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 octobre 2024 103
17 avril 2013 à 15:04
Un exemple ici
Si tu as un souci, n'hésites pas à poster ton code.

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
oui ça a marcher il me fallait ajouter une classe , mais maintenant j'ai un problème avec le singleton est que pour plusieurs utilisateur en meme temps je vais avoir un problème vu qu'il y'a qu'une seule instance :( et donc je ne vois pas comment je vais résoudre ce problème
0
Rejoignez-nous