Kotlin [Kotlin / AndroidStudio] - Fragment Kommunikation

M3llo

Cadet 4th Year
Registriert
Mai 2017
Beiträge
107
Moin zusammen,

ich bin noch relativ neu in Kotlin / Android Studio unterwegs und stehe vor einem (hoffentlich simplen) Problem.

Meine App besteht derzeit aus zwei Fragmenten:

Fragment A übernimmt quasi alle Funktionen, die den Nutzer irgendwas angehen. Unter anderem sendet Fragment A an einen Webserver ein paar Informationen, wie bspw. eine (stets positive) NutzerID.

Fragment B soll für mich und meine Uni Kollegen interessant sein und ein paar Debug-Optionen bieten. Aktuell wollen einen Switch dort anzeigen. Ist dieser Switch deaktiviert soll nichts weiter passieren. Ist dieser Switch jedoch aktiviert, soll eine Flag auf True gesetzt werden, sodass die NutzerID fest auf -999 gesetzt wird und so der Server weiß, dass die nachfolgenden Sendungen nur zum Debuggen sind.

Meine erste Idee war es eine globale Variable in meiner Main Activity anzulegen, die von Fragment B geändert wird und Fragment A guckt sich nur den Zustand an. Das geht aber leider nicht. Im Internet bin ich auf viele verschiedene Lösungsansätze gestoßen (SavedInstance, Data Store, SharedPreferences etc.) die ziemlich komplex für ein eig so simples Problem wirken und wirklich durchblicken, welcher davon jetzt korrekt angesetzt wäre tu ich leider nicht ^^'

Wie würdet ihr so etwas lösen?>

LG und danke im Voraus!
 
Was ist an Shared Preferences jetzt irgendwie komplex? Die holt man sich per Context (wie ich vermute, https://developer.android.com/reference/android/content/SharedPreferences) und liest oder schreibt dann Werte, fertig. Ist letztlich auch nur eine Map die irgendwie geartet in eine Datei geschrieben wird. Das Lesen/Schreiben packst du in deinen Switch Button Handler (das was aufgerufen wird wenn er getoggled wird, kenne mich begrifflich soweit nicht aus) und fertig.
 
Habe es lange nicht mehr gemacht, bei uns im Projekt ist es alles vorkonfiguriert.

Aber eigentlich wäre ein debug build mit einem eigenen Flavor der Weg. Korrekt eingestellt kannst du dann in Androidstudio über das Tab buildvariants eine Debug Variante deiner APK ausführen. Im Flavor könnten dann solche id nur zum Debuggen stehen. Oder auch spezielle Endpunkte eures Servers.

https://developer.android.com/build/build-variants
 

Ähnliche Themen

B
Antworten
5
Aufrufe
1.715
Zurück
Oben