Ho un campo booleano personalizzato denominato Approvato nel mio oggetto ParseUser personalizzato. Modifichiamo questo campo da falso a vero tramite un'app Web. Secondo la documentazione, dovrei essere in grado di aggiornare currentUser dopo aver cambiato la bandiera con fetchInBackground(), in questo modo:Analitica Android: impossibile aggiornare l'utente locale
ParseUser.getCurrentUser().fetchInBackground(new GetCallback<ParseObject>() {
@Override
public void done(ParseObject parseObject, ParseException e) {
Log.v("qwer", "fetched User: " + ((CustomUser)parseObject).isApproved());
}
});
Ma anche se la bandiera approvato è stata impostata su true, il risultato di ritorno dal server è sempre falso Salvo il logout e il login di nuovo, a quel punto currentUser e il rispettivo campo sono sincronizzati con il server.
Perché non recuperaInBackground() funziona per l'utente locale e, se lo utilizzo in modo errato, come aggiorno l'Utente corrente.
Sei sicuro di poter trasmettere parseObject a CustomUser? – Shane
Sì, ho esteso la classe ParseUser. Tecnicamente avrei potuto definire il tipo di callback come CustomUser ma l'ho appena lanciato per chiarezza in questo esempio. – jwBurnside
È passato un po 'di tempo dall'utilizzo di Parse, ma non è necessario fare 'pinInBackground' per salvare sul datastore locale? –