Maison > Java > javaDidacticiel > Comment réussir à transmettre des données, y compris des bitmaps et des listes, entre des activités dans Android à l'aide de sérialisable ?

Comment réussir à transmettre des données, y compris des bitmaps et des listes, entre des activités dans Android à l'aide de sérialisable ?

Barbara Streisand
Libérer: 2024-12-10 06:07:10
original
334 Les gens l'ont consulté

How to Successfully Pass Data, Including Bitmaps and Lists, Between Activities in Android Using Serializable?

Transmission de données via une intention à l'aide de Serialisable : résolution des problèmes courants

L'utilisation de Serialisable est une approche permettant de transmettre des données entre des activités dans des applications Android. Cependant, des problèmes peuvent survenir lors de la mise en œuvre. Voici comment résoudre les problèmes les plus courants.

Problème :

L'implémentation sérialisable ne fonctionne pas pour une classe personnalisée contenant Bitmap.

Solution :

Assurez-vous que Bitmap est sérialisable en ayant une classe Bitmap personnalisée qui implémente Serialisable ou trouvez d'autres moyens de le représenter et de l'envoyer.

Problème supplémentaire :

La transmission d'une liste d'objets miniatures personnalisés via Intent.putExtra échoue.

Solution :

Utilisez Bundle.putSerializing au lieu de Intent.putExtra pour transmettre la liste sérialisable. Le Bundle doit être récupéré à l'aide de getIntent().getExtras(), et la liste est accessible à l'aide de getSeriallessly.

Code révisé :

// Prepare the Bundle
Bundle bundle = new Bundle();
bundle.putSerializable("value", all_thumbs);

// Pass the Bundle to the Intent
intent.putExtras(bundle);

// Retrieve the Bundle in the receiving Activity
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();

// Retrieve the serializable list
List<Thumbnail> thumbs =
    (List<Thumbnail>) bundle.getSerializable("value");
Copier après la connexion

En utilisant Bundle.putSerializing et en le récupérant correctement, vous pouvez transmettre avec succès une liste d'objets sérialisables via une intention. N'oubliez jamais d'implémenter l'interface Serialisable ou d'utiliser un mécanisme de transfert de données compatible lorsque vous utilisez des objets personnalisés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal