2016-05-09 8 views
0
abgerufen werden können.

Ich habe eine Parse Starter-Anwendung in Android Studio (heruntergeladen von Github von Parse) und verwende Heroku yo Parse Server.ParseUser Android gibt an, dass der Benutzer angemeldet ist, aber keine Informationen vom Objekt

Ich kann Sammlungen ohne Probleme hinzufügen, aber mit den Benutzern Ich bin mit Schwierigkeiten ...

[JavaCode]

if(ParseUser.getCurrentUser() == null){ 

    ParseAnonymousUtils.logIn(new LogInCallback() { 
     @Override 
     public void done(ParseUser user, ParseException e) { 
      if (e != null) { 
       Log.i("MyApp", "Anonymous login failed."); 
      } else { 
       Log.i("MyApp", "Anonymous user logged in."); 
      } 
     } 
    }); 


} 

else{ 
    //Log.i("MyApp", ParseUser.getCurrentUser().getUsername()); 
    Log.i("MyApp", "User already logged in"); 

} 

und in meiner StarterApplication Datei ich habe:

ParseUser.enableAutomaticUser(); 
ParseACL defaultACL = new ParseACL(); 

ParseACL.setDefaultACL(defaultACL, true); 

Beim Ausführen druckt mein Debugger "Benutzer bereits angemeldet", aber wenn ich die obige Zeile auskommentieren, stürzt die Anwendung ab. Auf dem Parse-Dashboard gibt es keine Benutzerklasse und natürlich keine Benutzerobjekte.

Ich habe versucht, App in einem komplett neuen Emulator mit keine anderen Anwendungen installiert und ich habe immer noch das gleiche Problem !!! irgendwelche Ideen???

+0

Farid, wenn meine Antwort für Sie gearbeitet, es bitte ankreuzen als angenommen. –

+0

Vielen Dank, ich habe mir die Dokumentation angeschaut und mit deiner Erklärung konnte ich das verstehen –

Antwort

1

Dieser Code ist korrekt wie - Sie missverstehen einfach, wie der anonyme Benutzer in Parse arbeitet. Wenn Sie

setzen
ParseUser.enableAutomaticUser(); 

in Ihrer MyApplication Klasse (was ich davon ausgehen, ist das, was Sie von Ihrem „StarterApplication“ Datei gemeint ist), haben Sie Parse gesagt, dass Sie möchten, damit Benutzer Ihre Datenbank anonym zugreifen (aka ohne Anmeldung). Wenn Sie Parse mitteilen, dass Parse.getCurrentUser() IMMER einen Benutzer zurückgibt. Direkt aus der Parse-Dokumentation:

Wenn Sie die automatische anonyme Benutzererstellung beim Anwendungsstart aktivieren, wird ParseUser.getCurrentUser() niemals null sein.

So, da Sie verwendet ParseUser.enableAutomaticUser(), wenn Sie Parse.getCurrentUser() aufrufen, es nie null zurück, deshalb werden Sie den Ausdruck zu sehen „Benutzer bereits angemeldet.“ Zugegebenermaßen ist dieser Benutzer im Wesentlichen leer, aber sie sind trotzdem ein Benutzer.

Lesen Sie den Abschnitt in diesem Handbuch auf Anonyme Nutzer für weitere Informationen: https://parse.com/docs/android/guide

Verwandte Themen