Ich versuche, ein Objekt meiner Kundenklasse von einem zu senden Activity
und in einem anderen anzuzeigen Activity
.
Der Code für die Kundenklasse:
public class Customer {
private String firstName, lastName, Address;
int Age;
public Customer(String fname, String lname, int age, String address) {
firstName = fname;
lastName = lname;
Age = age;
Address = address;
}
public String printValues() {
String data = null;
data = "First Name :" + firstName + " Last Name :" + lastName
+ " Age : " + Age + " Address : " + Address;
return data;
}
}
Ich möchte sein Objekt von einem Activity
zum anderen senden und dann die Daten auf dem anderen anzeigen Activity
.
Wie kann ich das erreichen?
Antworten:
Eine Option könnte darin bestehen, dass Ihre benutzerdefinierte Klasse die
Serializable
Schnittstelle implementiert , und Sie können dann Objektinstanzen in der Absicht extra mit derputExtra(Serializable..)
Variante derIntent#putExtra()
Methode übergeben.Pseudocode :
Hinweis: Stellen Sie sicher, dass jede verschachtelte Klasse Ihrer benutzerdefinierten Hauptklasse eine serialisierbare Schnittstelle implementiert hat, um Serialisierungsausnahmen zu vermeiden. Zum Beispiel:
quelle
Parcelable
IS speziell für diesen Zweck entwickelt wurde (und viel schneller alsSerializable
). Ich bin verwirrt.Parcelable
mag gut für die Geschwindigkeit sein, aber es ist kompliziert zu implementieren. Was ist, wenn Sie 8 Objekte haben, die Sie zwischen den Aktivitäten übergeben müssenParcelable
? Werden Sie jedes einzelne erstellen ? Es wäre sinnvoller,Serializable
stattdessen zu verwenden . Wenn Sie implementierenParcelable
, müssen Sie der Klasse viel Code hinzufügen und Felder auf eine ganz bestimmte Weise ordnen.Serializable
du nicht. Letztendlich denke ich, dass es darauf ankommt, wie viele Objekte Sie passieren und was Sie versuchen zu tun.Serializable
ist eine Standard-Java-Schnittstelle. Sie markieren einfach eine Klasse Serializable, indem Sie die Schnittstelle implementieren, und Java serialisiert sie in bestimmten Situationen automatisch.Parcelable
ist eine Android-spezifische Schnittstelle, über die Sie die Serialisierung selbst implementieren. Es wurde entwickelt, um weitaus effizienter als Serializable zu sein und um einige Probleme mit dem Standard-Java-Serialisierungsschema zu umgehenImplementieren Sie Ihre Klasse mit Serializable. Nehmen wir an, dies ist Ihre Entitätsklasse:
Wir senden das
dene
von X-Aktivität aufgerufene Objekt an Y-Aktivität. Irgendwo in X-Aktivität;In der Y-Aktivität erhalten wir das Objekt.
Das ist es.
quelle
classCastException: java.lang.Long
. Können Sie bitte erklären, warum?(Serializable)
dem Objekt ein Präfix voranstellen müssen ?Über diese Site können Sie Paketcode für Ihre Klasse generieren .
quelle
Parcelable
möchte ich meine POJO-Klassen lieber Android-unabhängig halten und verwendenSerializable
.Verwenden Sie gson , um Ihr Objekt in JSON zu konvertieren und es zu übergeben. Konvertieren Sie in der neuen Aktivität den JSON in ein Objekt.
Fügen
build.gradle
Sie dies in Ihren Abhängigkeiten hinzuKonvertieren Sie in Ihrer Aktivität das Objekt in json-string:
Konvertieren Sie in Ihrer empfangenden Aktivität den JSON-String zurück in das ursprüngliche Objekt:
Für Kotlin ist es genauso
Übergeben Sie die Daten
Erhalten Sie die Daten
quelle
Beim Aufrufen einer Aktivität
In toClass.java erhalten Sie die Aktivität von
Bitte stellen Sie sicher, dass die Kundenklasse paketfähig implementiert
quelle
Nach meiner Erfahrung gibt es drei Hauptlösungen mit jeweils ihren Nachteilen und Vorteilen:
Paket implementieren
Serializable implementieren
Verwenden einer leichten Ereignisbusbibliothek (z. B. EventBus von Greenrobot oder Otto von Square)
Parcelable - schnell und Android-Standard, aber es hat viel Boilerplate-Code und erfordert hartcodierte Zeichenfolgen als Referenz, wenn Werte aus der Absicht herausgezogen werden (nicht stark typisiert).
Serialisierbar - nahe Null, aber es ist der langsamste Ansatz und erfordert auch hartcodierte Zeichenfolgen, wenn Werte aus der Absicht herausgezogen werden (nicht stark typisiert).
Event Bus - Null-Boilerplate, schnellster Ansatz und erfordert keine fest codierten Zeichenfolgen, erfordert jedoch eine zusätzliche Abhängigkeit (obwohl normalerweise leichtgewichtig, ~ 40 KB)
Ich habe einen sehr detaillierten Vergleich dieser drei Ansätze veröffentlicht, einschließlich Effizienz-Benchmarks.
quelle
Ich habe eine einfache und elegante Methode gefunden:
Methode 1
Code für die erste Aktivität:
Code für die zweite Aktivität:
Sie werden das gleiche finden
objSent
undobjReceived
habenhashCode
, so dass sie identisch sind.Aber warum können wir auf diese Weise ein Java-Objekt übergeben?
Tatsächlich erstellt Android Binder eine globale JNI-Referenz für das Java-Objekt und gibt diese globale JNI-Referenz frei, wenn für dieses Java-Objekt keine Referenz vorhanden ist. Binder speichert diese globale JNI-Referenz im Binder-Objekt.
* VORSICHT: Diese Methode funktioniert NUR, es sei denn, die beiden Aktivitäten werden im selben Prozess ausgeführt. Andernfalls wird ClassCastException unter (ObjectWrapperForBinder) getIntent (). GetExtras (). GetBinder ("object_value") ausgelöst. *
Klasse ObjectWrapperForBinder Definition
Methode 2
Methode 2 hat jedoch ein kleines, aber schwerwiegendes Problem: Wenn der Empfänger das Java-Objekt nicht wiederherstellen kann (z. B. tritt vor der Wiederherstellung des Java-Objekts eine Ausnahme auf oder die Empfängeraktivität überhaupt nicht vorhanden ist), wird das Java-Objekt zu einem Orphan oder Speicherverlust, Methode 1 hat dieses Problem nicht, da Android Binder diese Ausnahme behandelt
Methode 3
Um das Java-Objekt remote aufzurufen, erstellen wir einen Datenvertrag / eine Datenschnittstelle zur Beschreibung des Java-Objekts. Wir verwenden die Hilfedatei
IDataContract.aidl
Code für die erste Aktivität
Code für die zweite Aktivität:
Ändern Sie das android: process-Attribut in AndroidManifest.xml in einen nicht leeren Prozessnamen, um sicherzustellen, dass die zweite Aktivität in einem anderen Prozess ausgeführt wird
Auf diese Weise können wir eine Schnittstelle zwischen zwei Aktivitäten übergeben, obwohl diese in unterschiedlichen Prozessen ausgeführt werden, und die Schnittstellenmethode remote aufrufen
Methode 4
Methode 3 scheint nicht einfach genug zu sein, da wir eine Hilfeschnittstelle implementieren müssen. Wenn Sie nur eine einfache Aufgabe ausführen möchten und der Rückgabewert der Methode nicht erforderlich ist, können wir android.os.Messenger verwenden
Code für die erste Aktivität (Absender):
Code für die zweite Aktivität (Empfänger):
Alle Messenger.send werden asynchron und sequentiell in einem Handler ausgeführt.
Tatsächlich ist android.os.Messenger auch eine Hilfeschnittstelle. Wenn Sie den Android-Quellcode haben, finden Sie eine Datei mit dem Namen IMessenger.aidl
quelle
Sie können die Daten des Objekts auch in temporäre Zeichenfolgen und Ints schreiben und an die Aktivität übergeben. Auf diese Weise erhalten Sie natürlich die Daten, aber nicht das Objekt selbst.
Wenn Sie sie jedoch nur anzeigen und das Objekt nicht in einer anderen Methode oder ähnlichem verwenden möchten, sollte dies ausreichen. Ich habe es genauso gemacht, nur Daten von einem Objekt in einer anderen Aktivität anzuzeigen.
Sie könnten sie auch direkt anstelle der temporären Ivars weitergeben, aber auf diese Weise ist es meiner Meinung nach klarer. Darüber hinaus können Sie die temporären ivars auf null setzen, damit sie früher vom GarbageCollector bereinigt werden.
Viel Glück!
Nebenbei bemerkt: Überschreiben Sie toString (), anstatt Ihre eigene Druckmethode zu schreiben.
Wie in den Kommentaren unten erwähnt, erhalten Sie Ihre Daten auf diese Weise in einer anderen Aktivität zurück:
quelle
Bundle extras = getIntent().getExtras();
String val = extras.getString("fname");
Ich habe eine Singleton-Hilfsklasse erstellt, die temporäre Objekte enthält.
Verwenden Sie IntentHelper, anstatt Ihre Objekte in Intent zu platzieren:
In Ihrer neuen Aktivität können Sie das Objekt abrufen:
Beachten Sie, dass das Objekt nach dem Laden entfernt wird, um unnötige Verweise zu vermeiden.
quelle
BookActivity.getInstance().recommendationResponse
inRoomsActivity
obj
wirdnull
. Um dies zu vermeiden,obj
sollte irgendwo gelagert werden, um es wieder zu bekommen. In der Tat speichert die Json-Lösung Objektdaten in Intent.Es gibt verschiedene Möglichkeiten, auf Variablen oder Objekte in anderen Klassen oder Aktivitäten zuzugreifen.
Eine Datenbank
B. Gemeinsame Einstellungen.
C. Objektserialisierung.
D. Eine Klasse, die allgemeine Daten enthalten kann, kann als allgemeine Dienstprogramme bezeichnet werden. Es hängt von dir ab.
E. Weitergabe von Daten über Absichten und Paketschnittstelle.
Dies hängt von Ihren Projektanforderungen ab.
A. Datenbank
SQLite ist eine Open Source-Datenbank, die in Android eingebettet ist. SQLite unterstützt standardmäßige relationale Datenbankfunktionen wie SQL-Syntax, Transaktionen und vorbereitete Anweisungen.
Tutorials
B. Gemeinsame Einstellungen
Angenommen, Sie möchten den Benutzernamen speichern. So wird es nun zwei Dinge sein, einen Schlüssel Benutzernamen, Wert Wert.
Wie zu speichern
Mit putString (), putBoolean (), putInt (), putFloat () und putLong () können Sie den gewünschten Datentyp speichern.
Wie zu holen
http://developer.android.com/reference/android/content/SharedPreferences.html
C. Objektserialisierung
Die Objektserlisierung wird verwendet, wenn ein Objektstatus gespeichert werden soll, um ihn über ein Netzwerk zu senden, oder wenn Sie ihn auch für Ihren Zweck verwenden können.
Verwenden Sie Java-Beans und speichern Sie sie als eines seiner Felder. Verwenden Sie dafür Getter und Setter.
JavaBeans sind Java-Klassen mit Eigenschaften. Stellen Sie sich Eigenschaften als private Instanzvariablen vor. Da sie privat sind, können sie nur über Methoden in der Klasse von außerhalb ihrer Klasse aufgerufen werden. Die Methoden, die den Wert einer Eigenschaft ändern, werden als Setter-Methoden bezeichnet, und die Methoden, die den Wert einer Eigenschaft abrufen, werden als Getter-Methoden bezeichnet.
Stellen Sie die Variable in Ihrer Mail-Methode mit ein
Verwenden Sie dann die Objektserialisierung, um dieses Objekt zu serialisieren und in Ihrer anderen Klasse dieses Objekt zu deserialisieren.
Bei der Serialisierung kann ein Objekt als eine Folge von Bytes dargestellt werden, die die Daten des Objekts sowie Informationen über den Objekttyp und die im Objekt gespeicherten Datentypen enthält.
Nachdem ein serialisiertes Objekt in eine Datei geschrieben wurde, kann es aus der Datei gelesen und deserialisiert werden. Das heißt, die Typinformationen und Bytes, die das Objekt und seine Daten darstellen, können verwendet werden, um das Objekt im Speicher neu zu erstellen.
Wenn Sie ein Tutorial dazu wünschen, lesen Sie:
Serialisierung in Java (Blogbeitrag)
Variable in anderen Klassen abrufen (Stapelüberlauf)
D. CommonUtilities
Sie können selbst eine Klasse erstellen, die allgemeine Daten enthalten kann, die Sie häufig in Ihrem Projekt benötigen.
Stichprobe
E. Daten durch Absichten weitergeben
Informationen zum Übergeben von Daten finden Sie im Tutorial Android - Paketdaten zum Übergeben zwischen Aktivitäten mithilfe von Paketklassen .
quelle
Erstellen Sie Ihre eigene Klasse
Customer
wie folgt:In Ihrer
onCreate()
MethodeIn der
xyz activity
Klasse müssen Sie den folgenden Code verwenden:quelle
Der beste Weg ist, eine Klasse (nennen Sie es Control) in Ihrer Anwendung zu haben, die eine statische Variable vom Typ 'Customer' enthält (in Ihrem Fall). Initialisieren Sie die Variable in Ihrer Aktivität A.
Zum Beispiel:
Gehen Sie dann zu Aktivität B und rufen Sie sie aus der Kontrollklasse ab. Vergessen Sie nicht, nach Verwendung der Variablen eine Null zuzuweisen, da sonst Speicherplatz verschwendet wird.
quelle
Jetzt möchten Sie das Objekt dieser Klasse in startActivity übergeben. Verwenden Sie einfach dies:
Dies funktioniert hier, weil MyClass implementiert
Serializable
.quelle
Wenn Sie die von Samuh beschriebene Verwendung wählen, denken Sie daran, dass nur primitive Werte gesendet werden können. Das heißt, Werte, die parcable sind. Wenn Ihr Objekt komplexe Objekte enthält, folgen diese nicht. Zum Beispiel Variablen wie Bitmap, HashMap usw. Diese sind schwierig zu übergeben.
Im Allgemeinen würde ich Ihnen raten nur primitive Datentypen als Statisten zu senden, wie String, int, boolean usw. In Ihrem Fall wäre es:
String fname
,String lname
,int age
, undString address
.Meine Meinung: Komplexere Objekte werden durch die Implementierung eines ContentProviders , einer SDCard usw. besser gemeinsam genutzt . Es ist auch möglich, eine statische Variable zu verwenden , dies kann jedoch schnell zu fehleranfälligem Code führen ...
Aber auch hier ist es nur meine subjektive Meinung.
quelle
Ich verwende Parcelable, um Daten von einer Aktivität zu einer anderen Aktivität zu senden. Hier ist mein Code, der in meinem Projekt gut funktioniert.
In AktivitätA verwenden Sie es wie folgt:
Verwenden Sie es in ActivityB folgendermaßen, um Daten abzurufen:
quelle
Sie können versuchen, diese Klasse zu verwenden. Die Einschränkung besteht darin, dass es nicht außerhalb eines Prozesses verwendet werden kann.
Eine Aktivität:
Andere Aktivität:
quelle
Starten Sie eine andere Aktivität von dieser Aktivität aus und übergeben Sie die Parameter über das Bundle-Objekt
Daten zu einer anderen Aktivität abrufen (YourActivity)
Dies ist für einfache Datentypen in Ordnung. Aber wenn Sie komplexe Daten zwischen den Aktivitäten übergeben möchten. Sie müssen es zuerst serialisieren.
Hier haben wir das Mitarbeitermodell
Sie können die von Google bereitgestellte Gson lib verwenden, um die komplexen Daten wie folgt zu serialisieren
quelle
Diese Frage wird auch in einer anderen Frage zum Stapelüberlauf behandelt. Bitte schauen Sie sich eine Lösung an, um Daten mithilfe von Serializable absichtlich weiterzugeben . Der Hauptpunkt ist die Verwendung eines
Bundle
Objekts, in dem die erforderlichen Daten gespeichert sindIntent
.So extrahieren Sie Werte:
Vorteil
Serializable
ist seine Einfachheit. Sie sollten jedoch die Verwendung derParcelable
Methode in Betracht ziehen, wenn Sie viele Daten übertragen möchten, da dieseParcelable
speziell für Android entwickelt wurden und effizienter sind alsSerializable
. Sie können eineParcelable
Klasse erstellen mit:quelle
Kreta eine Klasse wie Bean-Klasse und implementieren Sie die
Serializable
Schnittstelle. Dann können wir es durch dieintent
Methode führen, zum Beispiel:Dann holen Sie es sich von der anderen Aktivität, zum Beispiel:
quelle
Erstellen Sie zwei Methoden in Ihrer benutzerdefinierten Klasse wie folgt
Jetzt in Ihrer Absenderaktivität machen Sie das so
Und in Ihrer Empfängeraktivität
quelle
Ja, die Verwendung eines statischen Objekts ist bei weitem der einfachste Weg, dies mit benutzerdefinierten nicht serialisierbaren Objekten zu tun.
quelle
static
ist die bessere Problemumgehung, wenn es einfach unpraktisch ist, weiterhinputExtra()
für jede Eigenschaft aufzurufen, die Sie weitergeben möchten. Zum Beispiel möchte ich gerade eine übergebenArrayList
, die Objekte enthält. Ich könnte genauso gut meine ArrayList erstellenstatic
.Android-Aktivitätsobjekte können zerstört und wiederhergestellt werden. Sie müssen also einen anderen Ansatz verwenden, um sie zu betrachten - oder jedes Objekt, das sie erstellen !!! - auf. Das heißt, Sie könnten als statische Klassenreferenz übergeben, aber dann ist das Objekthandle (Java nennt diese "Referenzen" wie SmallTalk; sie sind jedoch keine Referenzen im Sinne von C oder Assembly) möglicherweise später ungültig, da ein "Feature" von Android OE ist jede Aktivität kann später vernichtet und wiederhergestellt werden.
Die ursprüngliche Frage lautete "Wie wird ein Objekt in Android von einer Aktivität an eine andere übergeben?", Und niemand hat darauf geantwortet. Natürlich können Sie serialisieren (Serializable, Parcelable, to / from JSON) und eine Kopie der Objektdaten übergeben, und es kann ein neues Objekt mit denselben Daten erstellt werden. Es werden jedoch NICHT die gleichen Referenzen / Handles verwendet. Viele andere haben erwähnt, dass Sie die Referenz in einem statischen Speicher speichern können. Und das wird funktionieren, wenn Android nicht beschließt, Ihre Aktivität zu zerstören.
Um die ursprüngliche Frage wirklich zu lösen, benötigen Sie eine statische Suche. Außerdem aktualisiert jedes Objekt seine Referenz, wenn es neu erstellt wird. Beispielsweise würde sich jede Android-Aktivität erneut auflisten, wenn onCreate aufgerufen wird. Sie können auch sehen, wie einige Personen die Aufgabenliste verwenden, um eine Aktivität nach Namen zu suchen. (Das System zerstört diese Instanz der Aktivität vorübergehend, um Platz zu sparen. getRunningTasks. Die Aufgabenliste ist effektiv eine spezielle Liste der neuesten Objektinstanz jeder Aktivität.)
Als Referenz:
Der Message Bus ist also eine praktikable Lösung. Es "schlägt" im Grunde. Anstatt zu versuchen, Verweise auf Objekte zu haben; Anschließend erstellen Sie Ihr Design neu, um MessagePassing anstelle von SequentialCode zu verwenden. Exponentiell schwerer zu debuggen; Sie können diese Art von OperatingEnvironment-Verständnis jedoch ignorieren. Tatsächlich wird jeder Zugriff auf die Objektmethode invertiert, sodass der Aufrufer eine Nachricht sendet und das Objekt selbst einen Handler für diese Nachricht definiert. Viel mehr Code, kann ihn aber mit den Android OE-Einschränkungen robust machen.
Wenn Sie nur die Top-Aktivität wünschen (typisch für Android-Apps, da überall "Kontext" benötigt wird), können Sie jede Aktivität einfach als "Top" im statischen globalen Bereich auflisten lassen, wenn ihr onResume aufgerufen wird. Dann kann Ihr AlertDialog oder was auch immer einen Kontext benötigt, ihn einfach von dort abrufen. Es ist auch ein bisschen glücklich, ein globales zu verwenden, aber es kann die Weitergabe eines Kontexts überall auf und ab vereinfachen, und wenn Sie einen MessageBus verwenden, ist ES sowieso global.
quelle
Ich weiß, dass statische Aufladung schlecht ist, aber es scheint, dass wir gezwungen sind, sie hier zu verwenden. Das Problem bei Parceables / Seriazables besteht darin, dass die beiden Aktivitäten doppelte Instanzen desselben Objekts aufweisen = Verschwendung von Speicher und CPU.
Aktivität aufrufen
Aufgerufene Aktivität (Beachten Sie, dass onCreate () und onResume () mehrmals aufgerufen werden können, wenn das System Aktivitäten zerstört und neu erstellt.)
Eine andere Möglichkeit besteht darin, ein statisches Feld der Klasse zu deklarieren, die Sie in genau dieser Klasse übergeben möchten. Es wird nur zu diesem Zweck dienen. Vergessen Sie nicht, dass es in onCreate null sein kann, da Ihr App-Paket vom System aus dem Speicher entladen und später neu geladen wurde.
Wenn Sie bedenken, dass Sie den Aktivitätslebenszyklus noch bewältigen müssen, möchten Sie möglicherweise alle Daten direkt in gemeinsame Einstellungen schreiben, was bei komplexen Datenstrukturen schmerzhaft ist.
quelle
Die obigen Antworten sind fast alle korrekt, aber für diejenigen, die diese Antworten nicht verstehen, hat Android eine leistungsstarke Absicht. Mithilfe dieser Antworten teilen Sie Daten nicht nur zwischen Aktivitäten, sondern auch mit anderen Komponenten von Android (Broadcasr-Empfänger, Dienste für Inhalte, sofern wir die ContetnResolver-Klasse no Intent verwenden ). In Ihrer Aktivität bauen Sie Absichten auf
In Ihrer Empfangsaktivität haben Sie
Sie müssen die Schnittstelle Parceable oder Serializable auf Ihrem Objekt implementieren, um sie zwischen Aktivitäten gemeinsam nutzen zu können. Es ist schwierig, Parcealbe anstelle der serialisierbaren Schnittstelle auf einem Objekt zu implementieren. Deshalb hat Android speziell dafür ein Plugin. Laden Sie es herunter und verwenden Sie es
quelle
Ich hatte mich immer gefragt, warum dies nicht so einfach sein kann, wie eine Methode der anderen Aktivität aufzurufen. Ich habe kürzlich eine Utility-Bibliothek geschrieben, die es fast so einfach macht. Sie können es hier überprüfen ( https://github.com/noxiouswinter/gnlib_android/wiki/gnlauncher ).
GNLauncher macht das Senden von Objekten / Daten an eine Aktivität von einer anderen Aktivität usw. so einfach wie das Aufrufen einer Funktion in der Aktivität mit den erforderlichen Daten als Parametern. Es führt die Typensicherheit ein und beseitigt alle Probleme beim Serialisieren, beim Anhängen an die Absicht mithilfe von Zeichenfolgenschlüsseln und beim Rückgängigmachen derselben am anderen Ende.
Verwendungszweck
Definieren Sie eine Schnittstelle mit den Methoden, die Sie für die zu startende Aktivität aufrufen möchten.
Implementieren Sie die obige Schnittstelle in der Aktivität, in die gestartet werden soll. Benachrichtigen Sie GNLauncher auch, wenn die Aktivität fertig ist.
Holen Sie sich in der anderen Aktivität einen Proxy für die obige Aktivität und rufen Sie eine beliebige Methode mit den gewünschten Parametern auf.
Die erste Aktivität wird gestartet und die Methode mit den erforderlichen Parametern aufgerufen.
Voraussetzungen
Informationen zum Hinzufügen der Abhängigkeiten finden Sie unter https://github.com/noxiouswinter/gnlib_android/wiki#prerequisites .
quelle
Übergeben Sie das Objekt von einer Aktivität an eine andere Aktivität.
(1) Quellenaktivität
(2) Zielaktivität
quelle
Früher habe ich ein Objekt mit Pacelable oder Serializable zum Übertragen festgelegt, aber wenn ich dem Objekt (Modell) andere Variablen hinzufüge, muss ich alles registrieren. Es ist so unbequem.
Es ist super einfach, Objekte zwischen Aktivitäten oder Fragmenten zu übertragen.
Android DataCache
quelle
Wir können das Objekt von einer Aktivität zu einer anderen Aktivität übergeben:
Im Inneren haben
poSuppliersDetails
wir einige Werte. Jetzt sende ich dieses Objekt an die Zielaktivität:So erhalten Sie dies in ACtivityTwo:
quelle
Übergeben Sie eine Aktivität an eine andere:
Werte abrufen:
quelle
Hallo, ich sehe viele gute Optionen, aber ich habe mich gefragt, warum die Bindung nicht verwendet wurde.
Das Erstellen eines Ordners ist einfach genug ...
Und das Paket zu erstellen, um es zu verwenden, ist kein so schlechter Äther.
Diese Logik ist wirklich cool, weil Sie tatsächlich eine Referenz von Aktivität zu Aktivität übergeben.
und um dies umzusetzen, müssen Sie nur ...
Schicken Sie es ab
Hol es dir zurück
Verdammt, jemand könnte verrückt werden und diesen Trottel zu einem echten Generikum machen.
quelle