MrSasaki Posté(e) 28 mars 2013 Share Posté(e) 28 mars 2013 Bonjour à tous, Je vous explique mon problème : J'ai une classe que je dois faire passer dans une autre activité. Cependant elle possède comme attribut : - une classe ayant elle meme pour attribut un bitmap - d'autres classes possédant des string en attribut Mes questions sont les suivantes : Il est dit dans les manuels portant sur le développement android qu'il ne faut pas utiliser de Parcelable pour les bitmap, comment faire ? Toutes mes classes doivent-elles implémenter l'interface Parcelable ? Dans cette même interface, à quoi sert la méthode à implémenter describecontents() ? Dans les exemples que j'ai trouvé on a juste un return 0; et je vois pas trop la logique avec la doc donnée par cette méthode.... Merci d'avance. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylvain-a Posté(e) 28 mars 2013 Share Posté(e) 28 mars 2013 T'as essayé avec l'interface Serializable? Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrSasaki Posté(e) 28 mars 2013 Auteur Share Posté(e) 28 mars 2013 Bonsoir, je voulais initialement, mais il me semble que s'pas très recommandé non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 29 mars 2013 Share Posté(e) 29 mars 2013 Serializable, Parcealable, même combat. Le principe dans les deux cas est de permettre de sérialiser/désérialiser un objet, pour le transmettre. Il s'agit alors d'un passage par valeur, ce qui veut dire que les données sont dupliquées avant d'être transmises. C'est pour cela que dans le cas des Bitmap, ce n'est pas vraiment recommandé. Je ne sais pas quelle pourrait être la solution dans ton cas pour contourner le problème. Tout dépend de ton besoin (une question à se poser est pourquoi ton activité a besoin de transmettre un Bitmap ?). Peut être pourrais tu passer par un service, auxquels les Activités se bindent localement, ce qui permet d'échanger des objets par référence... Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrSasaki Posté(e) 29 mars 2013 Auteur Share Posté(e) 29 mars 2013 Bonjour, si tu veux je dois lier une image (fourni par la galerie du téléphone) à des renseignements (le nom de l'utilisateur par exemple..) l'inviter à confirmer puis dans une autre activité afficher l'image et dans un prochain temps pouvoir faire des modifications (Placer des points par exemple) tout en gérant la rotation/zoom de celle-ci. Et on veut pouvoir savoir qui a touché à quelle image. J'espère avoir été assez compréhensible :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
arnouf Posté(e) 29 mars 2013 Share Posté(e) 29 mars 2013 Le plus simple sauvegarde l'image localement et charge là dans ton autre activité... Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrSasaki Posté(e) 29 mars 2013 Auteur Share Posté(e) 29 mars 2013 L'image est déjà dans la galerie, mais l'utilisateur inscrire son nom dans la meme activité que celle où il doit choisir l'image à éditer. Puis après le "formulaire" et une autre activité se lance affichant l'image à éditer. Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 2 avril 2013 Share Posté(e) 2 avril 2013 Si l'image est dans la gallerie, tu as une URI pour l'identifier et la récupérer. Tu peux dans ce cas transmettre non pas l'image mais l'URI de la première activité à la seconde... Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrSasaki Posté(e) 4 avril 2013 Auteur Share Posté(e) 4 avril 2013 Est ce qu'il ne vaut mieux pas que ma classe contienne un attribut de type Bitmap (oui j'y tiens ahah) car je dois faire des traitements sur l'image (gérer un axe XY et placer des points en fonction des souhaits de l'utilisateur) plutot que par l'URI, car cette dernière n'est qu'un "identifiant" pas le fichier en lui même non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.