2016-04-03 17 views
6

Özel ParseUser nesnesinde Onaylanmış adlı özel bir boolean alanım var. Bir web uygulamasıyla bu alanı yanlışdan gerçeğe değiştiriyoruz. Belgelere göre, böyle,) fetchInBackground (ile işaret değiştirildikten sonra CurrentUser güncellemek gerekir:Android Ayrıştır: Yerel kullanıcı güncelleştirilemiyor

ParseUser.getCurrentUser().fetchInBackground(new GetCallback<ParseObject>() { 
    @Override 
    public void done(ParseObject parseObject, ParseException e) { 
     Log.v("qwer", "fetched User: " + ((CustomUser)parseObject).isApproved()); 
    } 
}); 

Ama onaylı işareti doğru ayarlanmış olsa bile, sonuç sunucusundan geri geliyor her zaman yanlıştır. Oturumu kapatıp tekrar oturum açmadıkça, currentUser ve ilgili alan sunucu ile senkronize edilir.

Neden fetchInBackground() yerel kullanıcı için çalışmıyor ve yanlış kullanıyorum, currentUser'i nasıl güncellerim.

+0

ParseObject öğesini bir CustomUser'e atayabildiğinizden emin misiniz? – Shane

+0

Evet, ParseUser sınıfını genişlettim. Teknik olarak, geri arama tipini CustomUser olarak tanımlayabilirdim, ancak bu örnekte sadece açıklık sağlamak için kullanıyorum. – jwBurnside

+0

Parse'yi kullandığınızdan bu yana biraz zaman geçti, ancak yerel veri deposuna kaydetmek için 'pinInBackground' yapmanıza gerek yok mu? –

cevap

1

this bağlantıya bakın lütfen, nokta pinInBackground kullanmak ve aynı zamanda Application sınıfında Parse.enableLocalDatastore(yourContext); ile yerel veri deposuna sağlamaktır.


Güncelleme:

bu size yardımcı olacaktır, ama sizinle benzer bir durum var mı emin değilim:

Ben kullanıcı olup olmadığını gösteren bir boolean kurtarmak için daha sonra tipik bir user.put("userVerified", true);user.saveInBackground do doğrulandı, sonra bir sonraki etkinlikte bayrağı almak için user.getBoolean("userVerified") kullanıyorum ... Bu düşünebileceğiniz bir şey olabilir mi?

+0

Evet, iğnelemeyi biliyorum. Neden currentUser nesnesini sabitlemem gerektiğini anlamıyorum, oturumumun süresi boyunca var. Sadece currentUser'i güncellemek istiyorum, başka bir yerel veri katmanı yönetmiyorum. – jwBurnside

+0

Hmm ... güncellenmiş cevabımı gözden geçirin, sorunuza cevap verip vermediğinden emin değilsiniz. –

+0

Güncelleme için teşekkürler. Bu, bayrağı bir webapp üzerinden değil, istemci tarafında güncellediğimizden beri işe yaramaz. SaveInBackground() istemci tarafını kullanmalıyım, currentUser kendini senkronize eder (doğru hatırlıyorsam) ve her şey iyi olur. – jwBurnside

İlgili konular