【发布时间】:2015-02-06 21:03:09
【问题描述】:
我正在使用 Parse.com 开发一个小型应用程序。
在几个活动中,我将值插入到一个类中,然后立即检索从前一个活动中插入的值,它显示错误,似乎需要几秒钟才能保存检索。
所以我问我如何知道已使用 Parse 完成保存。是否有任何回调函数可以让我知道,以便我能够检索该信息
这是我保存值的代码
ParseUser user = ParseUser.getCurrentUser();
ParseQuery<ParseObject> query = ParseQuery.getQuery("test");
query.whereEqualTo("user", user.getUsername());
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (object == null) {
} else {
file = new ParseFile("profil.png", image);
file.saveInBackground();
object.put("name", nom.getText().toString());
object.put("Profil",file);
object.saveInBackground();
}
【问题讨论】:
-
首先:你得到的错误是什么?要回答您的问题,是的,当您调用 saveInBackground 时,会存在用于保存等的回调,将 SaveCallback 作为参数传递,一旦对象被保存,就会调用该参数。如果没有异常(传入SaveCallback)就可以确定数据在服务器上,可以取回。
-
如果我在执行检索数据的活动之前等待 5 到 10 秒,它工作正常,但是当活动立即执行时,它不会,你能举一个 SaveCallback 的例子跨度>
-
您可能正在调用 saveInBackground 然后显示下一个活动而不等待保存完成。这是一个应该工作的例子pastebin.com/zmQaz0Kc