Android | Parse.com |使用其他集合查询用户集合

时间:2014-11-19 07:26:29

标签: android parse-platform

我有基本的问题。我使用解析android SDK从后端检索一些数据。我有2个收藏:"用户"和"照片"。我想要做的是我想查询" Photo"包含一些关于图像的数据的集合,并且与#34; User"收集并获得有关图片所有者的一些信息。请参阅以下代码:

    ParseQuery<ParseUser> queryInner = ParseUser.getQuery();
    ParseQuery<ParseObject> query = ParseQuery.getQuery("Photo");
    query.whereMatchesKeyInQuery("owner", "username", queryInner);
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> resultSet, ParseException exception) {
            if (exception == null) {
                parsqQueryResult = new ArrayList<ObjectUserPhoto>();
                ObjectUserPhoto row = new ObjectUserPhoto();
                Log.e("size",String.valueOf(resultSet.size()));
                for (int a = 0; a < resultSet.size(); a++) {   
                    row = new ObjectUserPhoto();
//this works
 row.setDescription(resultSet.get(a).getString(Constants.DB_COL_USER_PHOTOS_DESCRIPTION));
//this is not working
Log.e("username",String.valueOf(resultSet.get(a).getString("col_from_user_table")));
                    parsqQueryResult.add(row);
                }
            }

        }

    }); 

所以基本上我能够从&#34; Photo&#34;集合,但我无法访问&#34; User&#34;采集。如何从&#34;用户&#34;访问数据?收藏? 谢谢 马丁

1 个答案:

答案 0 :(得分:0)

在你的评论中,你提到你没有使用指针。我假设你只是存储ParseUser对象的id。

给定ParseObject的ID,您可以通过发出ParseQuery并传递ID来检索对象。请参阅this文档。

但是,我没有看到任何理由您只想存储ID而不是指向对象的指针。想象一下,如果您想在列表中显示信息,那么这意味着您需要执行ParseQuery所需的每个项目。

如果您存储指针,那么您可以利用“include”方法(请参阅“关系查询”底部的here)。这允许您包含指针指向的实际对象。因此,在您的情况下,Photo查询的结果也将包括User对象。

最后,我建议您至少阅读文档的整个对象和查询部分,了解如何使用SDK的基础知识。