gpt4 book ai didi

android - ParseObject pinInBackground 返回空 objectId

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:58 29 4
gpt4 key购买 nike

我在 Android 项目中有一段代码创建了一个 ParseObject 并将其存储在本地数据存储中。但是,当我去检查 pinInBackground()done() 回调方法中的 objectId 时,它返回 null。如果我从 pinInBackground() 切换到 saveInBackground() 那么它工作正常并且给出了一个有效的 objectId。这是代码:

final ParseObject testObject = new ParseObject("TestObject");

testObject.put("foo", "bar2");
testObject.pinInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e != null) {
Log.e(TAG, "Failed to pin TestObject: " + e.getMessage());
return;
}

Log.d(TAG, "Added key-value pair to TestObject '" + testObject.getObjectId() + "': 'foo' => 'bar2'");
}

});

日志显示:

将键值对添加到 TestObject 'null': 'foo' => 'bar2'

为什么 objectId 为空?我是否需要设置它,因为它不会保存到云端?

最佳答案

问题是您没有将对象保存到 Parse 数据库,而只是保存到设备,因此实际上尚未创建对象。 pinInBackground() 仅保存到设备,而 saveInBackground() 保存到 Parse 数据库,从而实际创建对象。如果您使用 .saveEventually(),它将固定直到可以连接到网络以保存到 Parse 数据库。但总的来说——你不会通过只保存到你的设备来实际创建一个对象,它必须保存到 Parse 数据库才能创建。

关于android - ParseObject pinInBackground 返回空 objectId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25289755/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com