Android: Übergabe von Parametern

In diesem kurzen Tutorial möchte ich gerne erklären wie ich Transferobjekte von einer Intent zur anderen übergebe.

Einbinden der Bibliothek GSON

Bei dieser Übergabe hilft mir die Bibliothek GSON von Google, welche in der Datei „build.gradle (Module : app)  folgendermaßen eingebunden wird:

Ggf. können in dem Abschnitt „dependencies“ weitere Bibliotheken oder Pfade stehen welche natürlich nicht überschrieben werden sollten.
Wenn der Pfad zur Bibliothek hinzugefügt und die Datei gespeichert wurde muss eine Syncronisation durchgeführt werden. Dazu klicken Sie auf den Hyperlink „Sync now“ oben links.
Es wird nun die Bibliothek aus dem Internet geladen und bereitgestellt dieses dauert je nach Verbindung und Geschwindigkeit des Computers.

Eine JUnit Testklasse für GSON

Um zu Testen das mein Transferobjekt, in diesem Fall die Klasse „RechenknirpsTO“ nach JSON und von JSON wieder korrekt in die Klasse gewandelt wird habe ich folgende JUnit Klasse geschrieben.

Übergabe von Parametern einer Intent

Eine Intent kann über die Methode „getExtras“ verschiedene Parameter bekommen, jedoch ist leider nicht die Übergabe von Objekten vorgesehen (vielleicht kommt das ja in einer späteren Version). Daher müssen wir nun über den Weg des JSON gehen:

Auslesen der Parameter

Um nun in der neuen Activity das Transferobjekt zu bekommen muss man sich in der Activitya die Intent holen und dort das Bundle laden dieses geschieht mit der Methode „getExtras()“.
Dieses Bundle Objekt enthält nun das Transferobjekt welches mit dem Key „rechenknirpsTO“ abgelegt wurde. Nun kann wiederum mithilfe der Gson Bibliothek das Transferobjekt aus dem JSON generiert werden (siehe JUnit Test).

In meiner Activity sieht das dann folgendermaßen aus:

Damit habe ich nun das Transferobjekt von einer in die andere Activity transferiert ohne das eine Statische Klasse oder andere Hilfsmittel verwendet werden musste.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.