Wenn ich den Benutzernamen und das Kennwort für die Verwendung in einer Android-Anwendung speichern möchte, wie kann ich das am besten tun? Über den Einstellungsbildschirm (aber was ist, wenn der Benutzer dies übersieht?) oder über ein Dialogfeld, in dem der Benutzer nach den Anmeldedaten gefragt wird? Wenn ja, muss ich einen Status für die Anwendung aufrechterhalten. Wie würde ich das tun?
Die meisten Android- und iPhone-Apps, die ich gesehen habe, verwenden einen Startbildschirm oder ein Dialogfeld, um nach Anmeldeinformationen zu fragen. Ich denke, dass es für den Benutzer umständlich ist, seinen Namen und sein Passwort oft neu eingeben zu müssen, so dass die Speicherung dieser Informationen aus Sicht der Benutzerfreundlichkeit sinnvoll ist.
Der Ratschlag aus dem (Android dev guide) lautet:
Im Allgemeinen empfehlen wir, die Häufigkeit der Abfrage von Benutzerdaten zu minimieren. Zugangsdaten zu minimieren, um Phishing-Angriffe auffälliger zu machen und die
wahrscheinlich erfolgreich zu sein. Verwenden Sie stattdessen ein Autorisierungs-Token und aktualisieren Sie es.
Wenn möglich, sollten Benutzername und Passwort nicht auf dem Gerät gespeichert werden. Gerät gespeichert werden. Führen Sie stattdessen die erste Authentifizierung mit dem Benutzernamen und Kennwort, das der Benutzer angibt, und verwenden Sie dann ein kurzlebiges, dienstspezifisches Autorisierungs-Token.
Die Verwendung des AccountManger ist die beste Option zum Speichern von Anmeldeinformationen. Der SampleSyncAdapter bietet ein Beispiel für seine Verwendung.
Wenn dies für Sie aus irgendeinem Grund nicht in Frage kommt, können Sie auf die Persistenz der Anmeldeinformationen mit dem Mechanismus Preferences zurückgreifen. Andere Anwendungen können nicht auf Ihre Einstellungen zugreifen, so dass die Informationen des Benutzers nicht so leicht zugänglich sind.
Werfen Sie einen Blick auf https://stackoverflow.com/questions/785973/what-is-the-most-appropriate-way-to-store-user-settings-in-android-application/6393502#6393502, wenn Sie Bedenken haben, Passwörter als Klartext in SharedPreferences zu speichern.