Parse.com查询在数据浏览器中返回0结果我可以看到有2个结果

时间:2014-03-15 15:22:14

标签: android parse-platform acl

我在我的Android应用程序中使用 Parse ,并且我执行以下基本查询:

    List<ParseObject> activityList = null;
    ParseQuery<ParseObject> query = ParseQuery.getQuery("Activity");
    query.setLimit(10);
    try {
        activityList = query.find();
    } catch (ParseException e) {
        e.printStackTrace();
    }

    Toast.makeText(Main.this, "Test "+activityList.size(), Toast.LENGTH_LONG).show();

我得到的输出是: 文字0

这真的很奇怪!因为我可以在Parse数据浏览器中明确看到存在2个结果!这可能是 ACL 或其他什么?

以下是我的解析数据浏览器

的图片

enter image description here

正如您所看到的,存在2条记录。注意我不知道 ACL 是什么,这可能是问题..

1 个答案:

答案 0 :(得分:2)

很可能是未定义的ACL导致您的访问问题(后端的实体未被GET检索)。

所以,你应该阅读有关ACL和安全性的android手册部分。作为入门者,当你创建一个对象时,你应该为所有者构建一个带有READ&amp; WRITE的ACL,为其他人构建READ ......

在android中授予对所有者的世界读/写或独占读/写,即:

                aclOb1 = new ObjectMapper().createObjectNode();
                aclOb2 = new ObjectMapper().createObjectNode();
                aclOb2.put("read", true);
                aclOb2.put("write", true);

                String oid = $Get.current.user
                if(oid.equalsIgnoreCase("default")){
                    aclOb1.put("*", aclOb2);
                }else{
                    aclOb1.put(oid, aclOb2);
                }                                        
                rootOb.put("ACL", aclOb1);

对于JS中的ACL示例,请参阅链接中的createOnEnter method