Я использую Parse для хранения данных облака. Когда я запускаю приложение, у меня есть метод initializeData(), который извлекает данные, которые я хотел бы хранить локально. Например, я хотел бы получить и локально сохранить список вошедший в любимом Nannys пользователя:Связывание отношения пользователя в Parse
final UzurvUser user = UzurvUser.currentUzurvUser();
user.getFavoriteNannys().getQuery().findInBackground(new FindCallback<UzurvUser>() {
@Override
public void done(final List<UzurvUser> nannys, ParseException e) {
if (e == null) {
UzurvUser.unpinAllInBackground(NANNYS_GROUP_LABEL,
new DeleteCallback() {
public void done(ParseException e) {
if (e == null) {
UzurvUser.pinAllInBackground(NANNYS_GROUP_LABEL, nannys);
} else {
e.printStackTrace();
}
}
});
} else {
e.printStackTrace();
}
}
});
Затем я получить их позже:
ParseQuery<UzurvUser> query = ParseQuery.getQuery(UzurvUser.class);
query.fromPin(MainActivity.NANNYS_GROUP_LABEL);
mFavoriteNannys = new ArrayList<>(query.find());
Вопрос заключается в том, что теперь, если я хочешь удалить няню из пользовательского отношения и сохранить его в облаке, я буду иметь, чтобы обновить и локальную копию списка няни, и сохранить текущий пользователь:
ParseRelation<UzurvUser> pr = UzurvUser.currentUzurvUser().getFavoriteNannys();
pr.remove(nannyToRemove);
mNanny.unpinInBackground(MainActivity.NANNYS_GROUP_LABEL);
UzurvUser.currentUzurvUser().saveEventually();
Является ли это " правильный "способ синхронизации d ата, как я описал? Мне не нужно обновлять список nannys и сохранять пользователя каждый раз, когда я добавляю или удаляю няню из пользовательских отношений, но мне все равно хотелось бы иметь локальную копию всех этих nannys этого пользователя.