In meiner Android-Anwendung verwende ich immer die direkte putExtra()
Funktion der Intent
Klasse, um eine beliebige Anzahl von Werten an new zu übergeben Activity
.
So was:
Intent i = new Intent(this, MyActivity.class);
i.putExtra(ID_EXTRA1, "1");
i.putExtra(ID_EXTRA2, "111");
startActivity(i);
Ich kenne mich mit Bundle
Android aus und habe gesehen, dass Leute Bundle
Werte an neue weitergeben Activity
.
So was:
Intent intent = new Intent(this, MyActivity.class);
Bundle extras = new Bundle();
extras.putString("EXTRA_USERNAME","my_username");
extras.putString("EXTRA_PASSWORD","my_password");
intent.putExtras(extras);
startActivity(intent);
Hier habe ich 2 Zweifel.
Warum sollte ich verwenden, Bundle
wenn ich Werte an new übergeben kann, Activity
indem ich sie direkt an Intent
ablege?
Was sind die Vorteile der Verwendung Bundle
anstelle von direkt Intent
putExtra()
?
quelle
startActivity(intent, options)
oder erfolgenintent.putExtra()
? Ich weiß, dass beides möglich ist, aber ich denke nur an bewährte Verfahren? Normalerweise berühre ich das an onCreate übergebene Bundle nicht, aber ich bin unerfahren und suche nach Meinungen.Zusätzlicher Vorteil : Sobald Daten in einem Bundle gespeichert sind, können Sie dieselben Daten mit mehreren Absichten senden. (Nur in dem Fall sollen mehrere Absichten gesendet werden).
quelle
Bundles sind cool, weil Sie ihre Erstellung / das Lesen einfacher isolieren können, wodurch der Code, der die Bundles behandelt, vom Code der Benutzeroberfläche getrennt wird.
In den meisten Fällen ist dies nutzlos, da Sie die kleinstmögliche Datenmenge übertragen möchten (normalerweise nur ein paar Zeichenfolgen, eine ID ...).
quelle
Sie können auf Intent and Bundle Relation (Stackoverflow) und auch auf die Bedeutung von Bundle in einem Android-Programm (Stackoverflow) verweisen .
Sie können mehrere oder mehrere Daten in einem Bundle senden und über Intent senden. oder eine andere Möglichkeit besteht darin, mehrere Anweisungen von PutExtra () hinzuzufügen.
Und es gibt meines Wissens nach keinen so wichtigen Unterschied.
quelle