0

Ich bin ein Neuling in Android und Firebase. Ich entwickle eine Klassenzimmeranwendung, die zwei Seiten hat, nämlich Lehrer und Schüler, und Daten auf der Firebase speichert. Ich möchte auf der Seite der Schüler Alarme einstellen, um ihre Unterrichtszeit zu melden.Was ist der beste Weg, Authentifizierungsstatus zu halten

Ich habe eine Klasse, um den Studenten zu benachrichtigen, und rufen Sie MainActivity Klasse.

Ich speicherte Boolean isStudent und isLecturer auf der Application Klasse, hat auch Getter und Setter-Methode. Bei welchem ​​Login ist festgelegt, dass eins wahr ist. Aber das Problem ist nur einmal beim Anmelden wahr, dann ist alles falsch. Also möchte ich wissen, wie man den Anmeldestatus behält, um der Anwendung zu sagen, dass dies "Student" oder "das ist Lehrer" ist.

P.S. Entschuldigung für mein schlechtes Englisch

+0

Sie speichern könnte 'isLecturer' und' isStudent' in gemeinsamen Vorlieben: https://developer.android.com/training/basics/data -storage/shared-preferences.html? hl = es –

Antwort

0

Dafür müssen Sie Persistenz Speicher verwenden. Sie können eine Datenbank oder eine gemeinsame Einstellung verwenden. Bei der Anmeldung legen Sie die Eigenschaft für Student oder Dozent als wahr oder falsch fest (oder Sie können 0 ODER 1 speichern) und speichern Sie diese im Speicher (wie gemeinsame Präferenz) und dann, sobald Sie Ihre App beenden und beim Starten Ihrer App diese Eigenschaft aus dem Speicher abrufen und nimm darauf deine Taten an. Wenn Sie einen Begrüßungsbildschirm haben, können Sie das Gleiche ausprobieren und entsprechend navigieren. Zur Mitbenutzung Präferenz Führung kann Sie unter Link

https://www.tutorialspoint.com/android/android_shared_preferences.htm

0

versuchen, diese beziehen sich zunächst initialisieren boolean isStudent = false und isLecture = false , wenn der Benutzer Zeichen in Prüfung, ob Ihr Benutzer Student oder Vorlesung ist. auf der Grundlage dieser Bedingung ..

mAuthListener = new FirebaseAuth.AuthStateListener() { 
     @Override 
     public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
      FirebaseUser user = firebaseAuth.getCurrentUser(); 
     if(user!=null) 
     { 
      // check user is student or Lecture 
     if(user == student){ 
      // change status of boolean to true 
      boolean isStudent= true 
      //save SP_isStudent = true in sharedprefenence 
     // get status of boolean form sharedPreference 
      if(SP_isStudent == true){ 
      // do your task. 
      } else{ 
      // show toast " user is not currently signin" 
      } 
     } 

    else{ 
     boolean isLecture = true 
    //save SP_isLecture = true in sharedprefenence , 
    // get status of isLecture from shared preference 
     if(SP_isLecture == true{ 
     // do your task. 
     }else{ 
     //show toast " user is not currently signin" 
     } 
    } 
    } 
    } 
}; 

dann in

onResume() { 
    // check status of boolean for isStudent and isLecture 
    //and do your task accordingly 

} 
In onDestroy(){ 
// change boolean to false 
} 
Verwandte Themen