在saveAllInBackground()抛出异常后调用saveEventually()是不正确的?

时间:2015-08-26 07:01:35

标签: android parse-platform

我正在调用saveAllInBackground(),如下所示

 ParseObject.saveAllInBackground(Arrays.asList(item, user), new SaveCallback() {
    @Override
    public void done(ParseException e) {
        if (e == null || handleError(e, Arrays.asList(item, user))) {
           //Update UI ...            
        }
    }
}

句柄错误是:

private boolean handleError(ParseException e, List<ParseObject> parseObjects) {

    boolean calledSaveEventually = false;

        if (e == null) return calledSaveEventually;

        int errCode = e.getCode();
        switch (errCode) {
            case ParseException.CONNECTION_FAILED :
            case ParseException.TIMEOUT:
                Utility.saveEventuallyAll(parseObjects);
                calledSaveEventually = true;
                break;
        }
        return calledSaveEventually;

}

现在问题是如果saveAllInBakground()抛出CONNECTION_FAILED异常然后代码说我正在调用saveEventually()并且它工作得很好但下次如果我再次调用saveAllInBackground(通过从没有网络连接的UI执行相同操作)然后完成(ParseException) )saveCallback的方法永远不会被调用。

它是Parse android SDK中的错误还是我错误地使用它?

1 个答案:

答案 0 :(得分:0)

您是否尝试过启用本地数据存储?

f(pat, dir)