【发布时间】:2015-07-01 23:45:49
【问题描述】:
在使用 Parse 的 Android 应用程序上,我想继承 ParseUser。我这样创建了我的子类用户:
@ParseClassName("_User")
public class User extends ParseObject {
public User(){}
public String getDisplayName() { return getString("username");}
public void setDisplayName(String value) { put("username", value);}
public String getFirstName(){return getString("firstname");}
public void setFirstName(String value){put("firstname",value); }
public String getObjectId() {return getObjectId();}
public String getFacebookId(){return getString("facebookId");}
public ParseFile getProfilePictureSmall(){return getParseFile("profilePictureSmall");}
public void setProfilePictureSmall(ParseFile file) {put("profilePictureSmall",file);}
public Boolean getPlaceCaptured(){return getBoolean("placeCaptured");}
public void setPlaceCaptured(Boolean value){put("placeCaptured",value);}
public String getProfileDesc(){return getString("profileDesc");}
public void setProfileDesc(String value){put("profileDesc",value);}
public Date getCreatedAt(){return getDate("createdAt");}
public void setCreatedAt(Date date){put("createdAt",date);}
public Date getUpdatedAt(){return getDate("updatedAt");}
public void setUpdatedAt(Date date){put("updatedAt",date);}
}
然后在 Parseapplication 我放:
ParseObject.registerSubclass(User.class);
Parse.initialize(this, "xxxx", "xxxx");
一切正常,但是当我尝试像这样查询用户列表时:
userQuery.findInBackground(new FindCallback<User>() {
public void done(List<User> object, ParseException e) {
if (e == null && object!=null && !object.isEmpty()) {
for(User item : object)
{
if(item!=null) {
User userReference = ParseObject.createWithoutData(User.class, item.getObjectId());
mUser.add(userReference);
mCustomAdapter.notifyDataSetChanged();
Log.i("My Parse User = ", item.getDisplayName());
}
}
} else {
Log.i("DONE","FAILED");
}
}
});
}
在对象中,我得到了 ParseUser(而不是用户)的列表,这正常吗?我在这条线上的演员不起作用:
for(User item : object)
我是否需要我的子类上的所有 getter/setter 与 ParseUser 表完全相同? 我的子类上可以只有 2 或 3 个 getter/setter,而我的 ParseUser 类上可以有 10 个列吗? 是否可以对 ParseUser 进行子类化和查询?
感谢您的帮助
【问题讨论】: