ParseQuery用于显示帖子时的个人资料图片

时间:2015-07-04 03:37:35

标签: android parse-platform

我正在使用parse.com上的Instagram等示例应用程序。每个帖子显示上传者的个人资料图片(已调整大小)和帖子照片。用户信息存储在包含个人资料图片的不同类“_user”中在“profileimage”中,帖子存储在不同的类“帖子”中。如何进行查询以获取它们(在单个查询中减少有效负载)。到目前为止我尝试过的东西。我想知道该怎么做添加我的查询。

ParseQuery<ParseObject> query=ParseQuery.getQuery("testing");
    query.orderByAscending("createdAt");
    query.findInBackground(new FindCallback<ParseObject>() {

        @Override
        public void done(List<ParseObject> arg0, ParseException arg1) {
            for(ParseObject obj:arg0){
                ParseFile pfile=obj.getParseFile("Image");
                coaching coach=new coaching();
                coach.setId(obj.getObjectId());
                coach.setName(obj.getString("Name"));
                coach.setPlace(obj.getString("Place"));
                coach.setImageurl(pfile.getUrl());
                array.add(coach);
            }
            listView.setAdapter(new  parseadapter());

        }
    });

1 个答案:

答案 0 :(得分:0)

您正在寻找的是一种关系,特别是ParseRelation。您必须在&#34;帖子&#34;中添加Pointer。上课到#34;用户&#34;类。请注意,您使用 objectId 将用户添加为Pointer。类似的东西:

enter image description here

接下来,您必须在查询中添加以下代码以包含Pointer对象,因为默认情况下SDK不会。 query.include("postAuthor"); //your column name for pointer

最后,您必须单独(在循环中)获取包含用户数据的ParseObject

ParseObject author = obj.getParseObject("postAuthor");   // column name for pointer
ParseFile authorPicture = author.getParseFile("profileimage");    // column user profile picture

authorPicture.getUrl();   // profile picture URL
author.getString("name");    // name of the user

考虑如上所述获取发布*的用户的名称,这是一个更好的数据库设计,并且对应于对用户名称所做的更改。

我希望这可以帮助你和其他人陷入类似情况。 You can read more about ParseRelation here.