在使用Parse的Android应用程序上,我想继承ParseUser。我像这样创建了我的子类User:
@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?
感谢您的帮助
答案 0 :(得分:0)
好吧我的错误......我扩展了错误的课程:
正确的扩展名是:
public class User extends ParseUser {