我已经在android上运行了应该可以在没有互联网的情况下运行,并且在互联网开启时使用解析数据库。 另外,我遇到了固定ParseObject的问题,以前没有保存在在线数据库中。
所以我做的是:
ParseObject car = new ParseObject("cat");
cat.put("name","Pussy");
cat.pinInBackground();
所以,现在我想通过query.getInBackground查询得到这只猫,但我不能这样做,因为我没有objectId,只有在保存在在线数据库后自动生成。
答案 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
是唯一的属性,您可能会获得包含多个条目的对象列表。在这里,您可以添加其他属性(例如所有者)以限制可能的匹配数。