Android 网络查询返回本地数据存储指针
我最近设法切换到本地数据存储,将数据库中所有需要的部分移动到客户端。此外,每当数据更改时,我都会发送推送通知,以便客户机数据保持最新 现在我的问题是数据中的一个指针在更新后一直返回旧指针 以下是我使用的代码:Android 网络查询返回本地数据存储指针,android,parse-platform,Android,Parse Platform,我最近设法切换到本地数据存储,将数据库中所有需要的部分移动到客户端。此外,每当数据更改时,我都会发送推送通知,以便客户机数据保持最新 现在我的问题是数据中的一个指针在更新后一直返回旧指针 以下是我使用的代码: public ParseQuery<CircuitUnit> circuitUnits() { ParseQuery<CircuitUnit> query = CircuitUnit.getQuery(); query.include(Circuit
public ParseQuery<CircuitUnit> circuitUnits() {
ParseQuery<CircuitUnit> query = CircuitUnit.getQuery();
query.include(CircuitUnit.circuits);
query.include(CircuitUnit.guard);
query.setLimit(1000);
return query;
}
circuitUnits().findInBackground(
new FindCallback<CircuitUnit>() {
@Override
public void done(List<CircuitUnit> objects, ParseException e) {
Log.d(TAG, "Pinning circuitUnits " + objects.size());
// debugging loop of results
for (CircuitUnit circuitUnit : objects) {
if (circuitUnit.getObjectId().equals("TXEZDch6wK")) {
Guard guard = circuitUnit.getGuard();
Log.d(TAG, "Guard: " + guard.getObjectId());
}
}
// This function updates the Local datastore with the newly fetched objects
// updateServerDataPin(objects, PinsGlobal.CIRCUIT_UNITS,
e, callback);
}
});
记录的输出为:Guard:L440gHXKTY,其中应为SDDg23rR4h
我添加了CircuitUnit表的屏幕截图,显示SDDg23rR4h确实是指针的预期objectId
我试图创建一个示例项目,将问题显示为parse.com的bug报告的一部分,但返回了正确的指针
我的理论是,这个问题在于本地数据存储中存在数据,这会以某种方式干扰结果。我不明白为什么,因为我显然是在查询网络,而不是本地
似乎include语句被忽略了,只是用本地数据存储中的已知数据填充
有没有人经历过类似的事情,或者对这种行为有可能的解释?对我来说也是一样,你有答案吗?我想不起来找到了一个固溶体/解释。我相信我最终使用的是简单的值而不是指针,也就是从更新指针到更新整型值和字符串值。好的,谢谢。我也发布了一个问题。等着瞧。。。