Малый архитектурный вопрос - PullRequest
0 голосов
/ 13 августа 2010

У меня есть ListActivity, которая перечисляет кучу «вещей».Если вы нажмете на одну из этих «вещей», вы попадете в другую ListActivity, которая перечисляет кучу «вещей» для этой «вещи».

Скажем, я хочу дать пользователю возможность редактироватьназвание некоторых «вещей»;или даже удалить некоторые из "вещей".В какой момент я должен фактически выполнить это действие с моей базой данных?

Пример: Если удаляется строка «вещи», следует ли обновить базу данных, прежде чем я верну своего пользователя в список «вещей»?Или пользователь должен вернуться к списку «вещей» и тогда база данных обновится?Или это не имеет значения?

Имейте в виду, что обновление базы данных, скорее всего, произойдет в службе (я также буду вызывать веб-службу для обновления облака).

Ответы [ 3 ]

1 голос
/ 13 августа 2010

Зависит от того, что важно в вашем приложении.Если важно, чтобы пользователь никогда не думал, что дочерний элемент удален, когда он не удаляется, следует дождаться ответа от сервера, прежде чем отобразить новый список дочерних элементов для пользователя.

Однако, если подтверждение удаленияЭто не так важно, и отзывчивость приложения имеет решающее значение, обновите отображение пользователя, а затем выполните асинхронное удаление за кадром.

1 голос
/ 13 августа 2010

Я бы сделал транзакцию базы данных после , когда пользователь закончил возиться с ней, только потому, что я хотел бы дать им какой-то способ отменить случайное удаление перед его фиксацией в базе данных.

Редактировать: см. Ответ Jball. Он понял тебя лучше, чем я.

0 голосов
/ 13 августа 2010

Вы должны обязательно обновить дочернюю активность, как только действие будет совершено. Таким образом, у вас не будет противоречий. Обновление многих изменений в дочерних действиях при возврате к родителю, когда выход опасен, потому что, если сеть теряет соединение, вы можете не полностью зафиксировать все изменения. Это может привести к несоответствиям базы данных.

...