Android系统。 Parse.com:数组没有更新

时间:2015-09-07 09:10:26

标签: android arrays parse-platform

在每次启动时,我的应用程序都会从​​parse.com加载新数据,并将所有对象固定为使用应用程序,而不需要像这样的网络请求^

 public void pinKids() {
    ParseQuery<ParseObject> query = ParseQuery.getQuery(ParseConstants.CLASS_KIDS);
    query.whereEqualTo(ParseConstants.KEY_PARENT, currentUser);
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(final List<ParseObject> kidsList, ParseException e) {
            if (e == null) {

                ParseObject.unpinAllInBackground(ParseConstants.LABEL_KIDS, new DeleteCallback() {
                    @Override
                    public void done(ParseException e) {
                        ParseObject.pinAllInBackground(ParseConstants.LABEL_KIDS, kidsList, new SaveCallback() {
                            @Override
                            public void done(ParseException e) {

                                Log.d("Hello", "pinKids");

                            }
                        });

                    }
                });

            }
        }
    });
}

我班级中的一列是一个字符串数组(它存储历史消息)。我发现我的代码不会刷新此数组,如果该数组是从其他设备更新的(同一用户在另一台设备上做了一些事情)。其余数据(其他列)刷新没有问题。但是在第一次启动时下载的字符串数组保持不变。

在parse.com仪表板中,我看到该阵列已更新。但是,在正确下载所有其他列的情况下,代码不会下载此数组。

让我说,当我在设备-1上更新此阵列时,新数据也存储在设备1和“parse.com”上。但它不会在设备-2上更新。

请帮忙!

1 个答案:

答案 0 :(得分:0)

OK!我已经解决了。

此问题是parse.com的错误。

我创建了an issue on parse's github。 所以我发现我的问题是解析错误的一部分。

答案是:用getJSONArray(key)替换所有对getList(key)的来电。您可能还需要revert()/revert(key)