Parse.com:使用parseUser,我怎样才能在我从类中解析创建的列中获取数据?

时间:2015-10-28 05:36:32

标签: android parse-platform

我在ParseUser类中创建了新列,新列是其他类的指针。

我想从ParseUser类中获取该新列的数据。

例如

城市

的ObjectID

的cityName

用户(ParseUser)

的userName

密码

cityId poniter City

所以,当我成功登录时,它会给我ParseUser对象,所以我希望得到cityId

3 个答案:

答案 0 :(得分:0)

您必须在查询中包含该指针,然后指针列详细信息将包含在查询结果中。试试这样:

ParseQuery<ParseUser> userQueryu=ParseUser.getQuery();
    userQueryu.include("cityId");  // Pointer to City class
    userQueryu.findInBackground(new FindCallback<ParseUser>() {

        @Override
        public void done(List<ParseUser> userList, ParseException e) {
            if(e==null){
                //Retrieve user data
                if(userList.size()>0){
                    for (ParseUser user : userList) {
                        String username=user.getString("userName");
                        String password=user.getString("password");

                        if(user.getParseObject("cityId")!=null){
                        String cityName=user.getParseObject("cityId").getString("cityName");
                        String cityObjectId=user.getParseObject("cityId").getObjectId();
                    }
                }
            }else{
                // Handle the exception
            }

        }
    });

答案 1 :(得分:0)

试试这样。见Relational Queries

    ParseQuery<ParseObject> innerQuery = ParseQuery.getQuery("City");
    innerQuery.whereEqualTo("objIdCity","valueObjId"); //pass value of objecId of City Object
    ParseQuery<ParseUser> query = ParseUser.getQuery();
    query.whereMatchesQuery("pointerCityColumnName", innerQuery);

    query.findInBackground(new FindCallback<ParseObject>() {
      public void done(List<ParseObject> objectList, ParseException e) {

          if(e == null){

          }else{
              Log.e("Object", e.getMessage());
          }
      }
    });

答案 2 :(得分:0)

经过几个小时的努力,我找到了解决方案,如下所述

  @Override
    public void done(ParseUser user, ParseException e)
    {
         user.getParseObject("cityId").getObjectId();
         // to get cityid from parse user table
    }