Heim >Java >javaLernprogramm >Wie können Daten, einschließlich Bitmaps und Listen, mithilfe von Serializable erfolgreich zwischen Aktivitäten in Android übergeben werden?
Daten durch Absicht mit Serializable weitergeben: Häufige Probleme lösen
Die Verwendung von Serializable ist ein Ansatz für die Weitergabe von Daten zwischen Aktivitäten in Android-Anwendungen. Allerdings können bei der Umsetzung Probleme auftreten. So beheben Sie die häufigsten Probleme.
Problem:
Serialisierbare Implementierung funktioniert nicht für eine benutzerdefinierte Klasse, die Bitmap enthält.
Lösung:
Stellen Sie sicher, dass Bitmap serialisierbar ist, indem Sie eine benutzerdefinierte Bitmap-Klasse haben implementiert Serializable oder findet alternative Möglichkeiten, es darzustellen und zu senden.
Zusätzliches Problem:
Das Übergeben einer Liste benutzerdefinierter Thumbnail-Objekte über Intent.putExtra schlägt fehl.
Lösung:
Verwenden Sie Bundle.putSerializable statt Intent.putExtra zum Übergeben der serialisierbaren Liste. Das Bundle muss mit getIntent().getExtras() abgerufen werden und auf die Liste kann mit getSerializable zugegriffen werden.
Überarbeiteter Code:
// 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");
Durch Verwendung von Wenn Sie Bundle.putSerializable verwenden und es ordnungsgemäß abrufen, können Sie eine Liste serialisierbarer Objekte erfolgreich über einen Intent übergeben. Denken Sie immer daran, die Serializable-Schnittstelle zu implementieren oder einen kompatiblen Datenübertragungsmechanismus zu verwenden, wenn Sie benutzerdefinierte Objekte verwenden.
Das obige ist der detaillierte Inhalt vonWie können Daten, einschließlich Bitmaps und Listen, mithilfe von Serializable erfolgreich zwischen Aktivitäten in Android übergeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!