我在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为null?我是否需要设置它,因为它没有保存到云端?
解决方法:
问题是您没有将对象保存到Parse数据库,只保存到设备,因此尚未实际创建对象. pinInBackground()仅保存到设备,而saveInBackground()保存到Parse数据库,从而实际创建对象.如果使用.saveEventually(),则会固定,直到可以访问网络以保存到Parse数据库.但一般情况下 – 您实际上不会通过保存到您的设备来创建对象,它必须保存到Parse数据库才能创建.
总结以上是内存溢出为你收集整理的android – ParseObject pinInBackground返回null objectId全部内容,希望文章能够帮你解决android – ParseObject pinInBackground返回null objectId所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)