2017-10-15 2 views
-1

Ich habe eine E-Commerce-App gibt es eine Abmeldeschaltfläche für jede Aktivität.Daten zwischen Aktivitäten in meiner App übergeben

Ich denke, dass für die Abmeldung ich die Session-ID des angemeldeten Benutzers für die Abmeldung übergeben werde. Aber ich kann nicht herausfinden, wie ich die Session-ID für alle Aktivitäten am Leben halten kann. Kann mir jemand helfen? Danke im Voraus.

Antwort

1

Sie können dies erreichen, indem Sie eine SignOutActivity-Klasse erstellen und die Sitzungs-ID mithilfe von int an die SingOutActivity-Klasse übergeben.

Intent intent = new Intent(getBaseContext(), SignoutActivity.class); 
intent.putExtra("SESSION_ID", sessionId); 
startActivity(intent); 

Und in der SignOutActivity Zugriff auf die Absicht und in dieser Aktivität können Sie den Benutzer aus der App abmelden.

String s = getIntent().getStringExtra("EXTRA_SESSION_ID"); 
0

Wenn Sie für jede Aktivität eine andere Schaltfläche "Abmelden" verwenden, ist das eine schlechte Design-Praxis. Auch Sitzungs-ID sollte eine globale Variable sein.

0

Sie können es in zwei Richtungen tun.
Zuerst ist gemeinsame Präferenz: Wenn Benutzer anmelden Sitzung ID in freigegebenen Einstellungen und überprüfen Sie es Wert oder in jeder Aktivität. Wenn es richtig eingestellt ist, erlauben Sie dem Benutzer, die weitere automatische Abmeldung zu verarbeiten. Wenn der Benutzer auf die Schaltfläche zum Abmelden klickt, wird der Wert für die freigegebene Einstellung deaktiviert und der Benutzer zum Anmeldebildschirm umgeleitet.

Der zweite Weg ist die Verwendung der globalen Datenklasse, die die Sitzung enthält. Wenn sich der Benutzer anmeldet, legen Sie die Session-ID in der Datenklasse fest und übergeben Sie die Werte mit der zusätzlichen Absicht, wenn Sie eine Aktivität an eine andere Aktivität übergeben und mit globalen Klassenwerten übereinstimmen, wenn alles in Ordnung ist. Wenn der Benutzer auf klicken, wird die nicht gesendete Sitzungs-ID in der Datenklasse abgemeldet.

Verwandte Themen