2017-02-10 66 views
0

如果我延长从的parseObject任何物体ParseUser,它每次返回我空它包含的每个变量。例如:返回null数据的一切

public class User extends ParseUser { 

    private boolean emailVerified; 
    private String facebookID; 

    private int fiveHundredID; 
    private String fiveHundredUsername; 

    private String firstName; 
    private String lastName; 

    private String canonicalFirstName; 
    private String canonicalLastName; 

    private Date birthday; 
    private Photo profilePicture; 

    private int followeeCount; 
    private int followerCount; 

} 

然后我打电话User.fetchInBackground(),它不填写除了OBJECTID,电子邮件和其他变量,包含仅在ParseUser类的任何变量。当然,我已经在App类像初始化解析:

Parse.setLogLevel(Parse.LOG_LEVEL_VERBOSE); 
Parse.enableLocalDatastore(getApplicationContext()); 
Parse.initialize(new Parse.Configuration.Builder(getApplicationContext()) 
     .applicationId(Const.X_PARSE_APPLICATION_ID) 
     .clientKey(Const.X_PARSE_REST_API_KEY) 
     .server(Const.PARSE_SERVER_URL) 
     .enableLocalDataStore() 
     //.addNetworkInterceptor(new JsonInterceptor()) 
     .build()); 

ParseObject.registerSubclass(User.class); 

林不使用任何proguard的,因为即时通讯测试上的Debug版本。任何帮助?另外,当我启用LocalDataStore时,它会存储我的当前用户。但是当我调用fetchInBackground()时,它会返回与本地数据存储相同的数据。另外当我调用unpinInBackground()之后,我会调用fetchInBackground(),它仍然会返回存储在数据库中的本地数据。

任何帮助?

非常感谢

+0

你添加注释的模型? –

回答

0

添加该注释略高于模型类:

@ParseClassName("User") 
public class User extends ParseUser { 
    ... 
+0

@Abdenaceur_Lichiheb好吧,我不能添加ParseClassName,因为它会抛出错误:** com.parse.ParseUser无法转换为 .Parse.User ** – user997777

+0

@ user997777那么您无法添加注册对象注释,因为该类不会被识别,你可以粘贴你的错误。 –

+0

@Abdenaceur_Lichiheb我已经检查过,返回给我的是什么,它给了我来自服务器的正确数据。这只是一个问题,它看起来不会更新本地数据存储中的数据,并将数据存储中的旧数据返回给我。你知道这个问题吗? – user997777