Android Parse.com指针

时间:2016-01-05 02:15:27

标签: java android pointers parse-platform

我在Parse中有两个课程:(用户和游戏)。 我的专栏名称是:

User(objectId,username,password,email,phone). Games(objectId,name,PlayedBy{this is a pointer to the User class}).

我的问题是,我可以查询单个用户的所有游戏,因为它是一对多的关系,但我不知道如何让用户在Android的解析指南中找到玩特定游戏的用户这个:

// say we have a Game object ParseObject game = ... // getting the user who created the Game ParseUser createdBy = game.getUser("createdBy");

但似乎game.getUser出错了,就像写错了。我试过了:

ParseUser createdBy = game.getParseUser("PlayedBy");

我不知道接下来该做什么。 我用来获取特定用户所有游戏的查询是:

    public void queryGamesFromParse(){
    ParseQuery<ParseObject> gamesQuery = new ParseQuery<>("Games");
    gamesQuery.whereEqualTo("PlayedBy", ParseUser.getCurrentUser());
    gamesQuery.include("PlayedBy");
    gamesQuery.orderByDescending("createdAt");
    gamesQuery.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> List, ParseException e) {
            if(e == null){

                Adapter adapter = new Adapter(MainActivity.this, List);
                setListAdapter(adapter);

            }else{
               Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
            }
        }
    });
}
单击PlayedBy列时从解析数据库中的

直接转到User表。 我想创建一个查询,查找玩特定游戏的玩家,并在列表中显示用户名,就像我在第一个游戏中所做的一样。 如果有人可以帮助我,那将非常感谢谢谢。

1 个答案:

答案 0 :(得分:0)

Games.playedBy类型为Array,array.entry =指向_User类

的指针

- EDITED-- 使用'playerBy'上的数据浏览器验证数组中的每个条目都是指针....

{"__type":"Pointer","className":"_User","objectId":"OID.value"}

而不是

{"objectId":"someUserID"}

当您查询游戏时,您将获取'playingBy'数组,并且您将拥有可以提供给管理列表的View适配器的所有_User.name值。

 queryGames.include("playedBy")  // inlines each full _User in result

或者你可以拥有一个只有2个指针和日期的'play'类

plays.game =指向游戏的指针 plays.user =指向_User的指针

然后你可以使用'query.include.game'+'query.include.user'来展平查询(没有后续的fetch请求)