解析whereEqualsTo在android中不起作用

时间:2017-08-18 18:26:48

标签: android parsing

我试图在个人项目中使用Parse但是当我尝试从名为" Image"的新对象获取数据时遇到了问题。我尝试做的是从用户列表中选择一个并显示与所选用户相关的所有图像,如果我删除whereEqualsTo我收到与用户相关的图像我是登录。如果我放whereEqualsTo我什么都没收到。

这是我的代码:

private void getUserImages(final String selectedUserName) {

    ParseQuery<ParseObject> query = ParseQuery.getQuery("Image");

    query.whereEqualTo("username", selectedUserName);

    query.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> objects, ParseException e) {
            if (e == null) {
                if (objects.size() > 0){
                    //Do something
                }
            }
        }
    });
}

这是我的配置类:

public void onCreate() {
    super.onCreate();

    Parse.enableLocalDatastore(this);

    Parse.initialize(new Parse.Configuration.Builder(this)
            .applicationId("202ac01cxxxxxxxxxxa41d1136bc8a86213328b4")
            .clientKey("76b883b596xxxxxxxxxf60f9352fdb926dde46e")
            .server("http://ec2-xx-xx-xxx-59.us-east-2.compute.amazonaws.com:80/parse/")
    .build());

    ParseACL defaultACL = new ParseACL();

    defaultACL.setPublicReadAccess(true);
    ParseACL.setDefaultACL(defaultACL, true);
}

enter image description here

有人有任何想法,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

默认情况下,ParseUser类是安全的。存储在ParseUser中的数据只能由该用户修改。默认情况下,任何客户端仍可读取数据。因此,一些ParseUser对象被认证并且可以被修改,而其他对象是只读的。

对于任何对象,您可以指定允许哪些用户读取对象,以及允许哪些用户修改对象。为了支持这种类型的安全性,每个对象都有一个访问控制列表,由ParseACL类实现。

请参阅此文档,了解如何设置访问控制列表并授予特定权限。Parse User documentation