解析:如何获取没有id的固定对象

时间:2015-11-26 14:52:51

标签: android parse-platform

我已经在android上运行了应该可以在没有互联网的情况下运行,并且在互联网开启时使用解析数据库。 另外,我遇​​到了固定ParseObject的问题,以前没有保存在在线数据库中。

所以我做的是:

ParseObject car = new ParseObject("cat");
cat.put("name","Pussy");
cat.pinInBackground();

所以,现在我想通过query.getInBackground查询得到这只猫,但我不能这样做,因为我没有objectId,只有在保存在在线数据库后自动生成。

1 个答案:

答案 0 :(得分:1)

您可以在本地数据存储区中搜索具有给定属性的猫(对象):

ParseQuery<ParseObject> query = ParseQuery.getQuery("cat");
query.fromLocalDatastore();
query.whereEqualTo("name", "Pussy");
query.findInBackground(new FindCallback<ParseObject>() {
    public void done(List<ParseObject> catList, ParseException e) {
        if (e == null) {
            Log.d("cat", "Retrieved " + catList.size() + " cats");
        } else {
            Log.d("cat", "Error: " + e.getMessage());
        }
    }
});

但是,如果name是唯一的属性,您可能会获得包含多个条目的对象列表。在这里,您可以添加其他属性(例如所有者)以限制可能的匹配数。