Zitat
DatabaseHandler db = new DatabaseHandler(context);
int count = db.getRowCount();
if(count > 0){
// user logged in
return true;
}
return false;
}
Alles anzeigen
Das ist natürlich nicht wirklich sicher bzw. macht auch so keinen Sinn, deswegen
hätte ich da ein paar Anmerkungen:
Bei einer Android App, kann ja immer maximal eine Person angemeldet sein.
Diese Daten in einer Datenbank zu speichern ist vielleicht etwas zu viel Overhead.
Zum Speichern einzelner Wert,Value Paare gibt es unter Android die SharedPreferences
http://developer.android.com/r…nt/SharedPreferences.html
Wie im ersten Post beschrieben, wird es immer notwenig sein den "User" eindeutig zu identifizieren. Das heisst in der Kommunikation mit dem Server muss ich mich immer authentifizieren.
Wenn ich mich beim Server anmelde -> sende ich einen Request -> Name/Passwort -> Als Rückmeldung vom Server bekomme ich die Eindeutige ID der Datenbank zurück und ein OK - in allen anderen Fehler gibt es entsprechende Fehlermeldungen (Falsches Passwort, User nicht gefunden bitte registrieren, ect pp)
-> Um nicht jedes Mal das Loginprozedere neu zu vollziehen, kann ich dem User anbieten - in der app eingeloggt zu bleiben.
-> in den Sharedprefs kann ich mir dann ein Feld : loggedIn = true setzen, weiterhin userid= rückgabeid der DB, username= , passwd=
-> sobald ich in der app mal auslogge, setzte ich diese Werte zurück und ein erneutes Login/Anmelden ist notwendig.
-------------------------------
Mit diesen Daten kann ich jetzt super mit dem Server kommunizieren. (siehe erster Post)
-------------------------------
Der 2te Schritt wäre die Anmeldung an eine Session:
Das würde ja analog verlaufen -< User Daten an Server schicken <- in die Response packe ich eine freie Spiel-Session ID
-> diese Speichere ich mir wieder in den Shared-prefs: sessionloggedin = true / sessionid = xxx
Jede Kommunikation die ein Session betrifft (also jede spielinteraktion) bekommt alle Daten mitgeschickt,
userid, sessionid, passwort -> auf der Serverseite muss ich natürlich trotzdem immer den Gegencheck machen und bei Bedarf den User informieren:
-> Login Daten prüfen -> wenn alles IO dann weiter zur Sessionprüfung -> Fehler Daten Falsch/ Abbruch
-> Sessionprüfung: -> ist Session überhaupt noch existent oder Spiel bereits beendet/(abgelaufen
-> ist der User überhaupt Teil der Spielsession ?
-> Ja ? -> dann Interaktion ausführen.
--------------------------------
Bei Android-Hive gibt es ein paar Seiten später noch ein Tutorial zur CRUD Kommunikation pers JSON/PHP.
So eine Schnittstelle müssen Sie für Ihr Spiel Backend schreiben. Der Knotenpunkt wo alle App Kommunikation aufläuft.