对于我的Android应用程序,我使用的是Parse.com后端。我正在尝试更新解析用户的信息,但saveInBackground()方法对我来说很奇怪。
当我有这段代码时:
HomeActivity.currentUser.put("dealNotifications",deals.isChecked());
HomeActivity.currentUser.put("itemSuggestions",items.isChecked());
HomeActivity.currentUser.saveInBackground();
用户和两个字段" dealNotifications"和" itemSuggestions"已更新,但所有其他自定义属性都将从Parse浏览器中删除。
另一方面,当我有这个代码时:
HomeActivity.currentUser.put("dealNotifications",deals.isChecked());
HomeActivity.currentUser.put("itemSuggestions",items.isChecked());
HomeActivity.currentUser.put("favourites",HomeActivity.favourites);
HomeActivity.currentUser.saveInBackground();
Parse用户根本没有更新。
我不知道为什么会这样。根据我的理解,saveInBackground()方法不应该修改尚未更改的字段,因此第一个行为非常奇怪。我也不知道为什么要添加另一个" put"导致saveInBackground()方法什么都不做。
任何人都知道这里发生了什么?