如何使用ParseUser的子类进行解析查询?

时间:2015-07-01 14:22:55

标签: android parse-platform

在使用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?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

好吧我的错误......我扩展了错误的课程:

正确的扩展名是:

   public class User extends ParseUser {