Täglich gibt es viele Fragen der folgenden type auf SO:Warum werden Getter beim Zugriff auf Variablen zwischen Aktivitäten nicht bevorzugt?
Wie erhalte ich eine Variable von einem anderen
Activity
?
Die Antworten empfehlen normalerweise, SharedPreferences
oder Intent.putExtra()
zu verwenden.
Für mich ist eine getter
Methode, was eine Methode wäre, um auf eine Variable aus einer anderen Klasse zuzugreifen. Immerhin ist die Activity
, die in Betracht gezogen wird, eine Klasse, und ihre Variablen sind Klassenmitglieder.
Warum werden Getter-Methoden keinen Ansätzen wie SharedPreferences oder Intent-Extras vorgezogen?
ich über einfache Situationen sprechen, die dieses eine Variable zwischen Aktivitäten, zum Beispiel erfordern Zugriff auf:
class OneClass extends Activity {
int a;
..
// some changes to a
..
}
Und dann in einer anderen Klasse (Activity
):
class SomeOtherClass extends Activity {
..
// trying to access a here
..
}
Ist ein getter
Methode ein richtiger Ansatz hier oder nicht?
Nochmal - ich spreche nicht über Szenarien, wo diese Dinge eigentlich der richtige Weg sind. SharedPreferences
für die dauerhafte Speicherung von kleinen Datenmengen, extras
wie die Dokumentation sagt: Dies kann verwendet werden, um erweiterte Informationen für die Komponente bereitzustellen. Zum Beispiel, wenn wir eine Aktion haben eine E-Mail-Nachricht zu senden, könnten wir auch zusätzliche Stücke von Daten hier ein Thema zu liefern, Körper usw.
Da einige der Antworten wahrscheinlich angegeben haben, dass es bestimmte Szenarien gibt, wie zum Beispiel keine Garantie, dass die anderen Activity
am leben sind, ich denke, es gibt wahrscheinlichere und korrekte Gründe, warum Leute vorschlagen, für Absichten und gemeinsame Präferenzen zu gehen.
Es ist nicht nur Sie, jemand wird alle Antworten abwerten. – Malcolm
@KristopherMicinski danke für die Antwort, dass auch in einer schnellen Zeit, und das auch, wenn die Frage von Moderatoren und nach unten Wähler angegriffen wurde. Löscht viele Dinge für mich. Danke noch einmal. :-) –