saveInBackground回调不起作用

时间:2014-07-22 20:30:23

标签: android save parse-platform

在下面调用代码几次(5-10次)后,SaveCallback的done()方法不会触发,整个应用程序似乎卡住了。看起来这个请求会破坏请求队列,所有进一步的查询也不会触发它们的回调。回调和日志中没有错误。 “在节省之前” - 显示在日志中,而“已保存” - 则没有。

我是否需要更改解析定价合约,或以某种方式更改我的代码?

    Log.d("MESSAGE OBJECT", " BEFORE SAVING");
    messageParseObject.saveInBackground(new SaveCallback() {
        @Override
        public void done(final ParseException e) {
            Log.d("MESSAGE OBJECT", " SAVED");
            if (e != null){
                completitionCallback.error(e);
                return;
            }

            chatObject.put(ModelConstants.LAST_MESSAGE_KEY, messageParseObject);
            chatObject.getRelation(ModelConstants.MESSAGES_KEY).add(messageParseObject);                
            chatObject.saveInBackground(new SaveCallback() {
                @Override
                public void done(ParseException e) {
                    Log.d("CHAT OBJECT", " SAVED");
                    if (e == null)
                        completitionCallback.success();
                    else
                        completitionCallback.error(e);
                }
            });
        }
    });

1 个答案:

答案 0 :(得分:11)

面对这一点,真让我疯狂。这是我发现的。如果已经在Parse.com中创建了Class,即使存在小的差异,saveInBackground和saveEventually也会失败而没有任何错误。

最好的办法,如果发生这种情况,请删除Parse.com中创建的类,并让android SDK在第一次调用时自动调用它。

至少那对我有用。