Использование приемника вещания для синхронизации данных между действиями - PullRequest
0 голосов
/ 28 сентября 2018

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

Мой сценарий: У меня есть DisplayActivity и CreateEditActivity.

На моей DisplayActivityЯ создал широковещательный приемник, который будет прослушивать изменения в моей CreateEditActivity, также эта активность содержит список данных.Затем, когда я открываю CreateEditActivity, все существующие данные в DisplayActivity будут переданы в CreateEditActivity, в CreateEditActivity я могу создать новый элемент данных, и, если создание прошло успешно, я смогу передать этот элемент через широковещательную рассылку.Я знаю, что это было бы проще, используя только фрагмент и слушатель, также используя startActivityForResult, не подходит для этого процесса для меня. Но могу ли я реализовать этот процесс, используя широковещательный приемник для передачи данных синхронизации между действиями.Надеясь на предложения.

1 Ответ

0 голосов
/ 28 сентября 2018

Не думаю, что это хорошая идея.

Только одна активность находится на вершине стека в данный момент времени.Вы не должны исходить из предположения, что ваша другая активность жива.Система могла убить его.(Вы можете проверить это, включив опцию разработчика «Не сохранять действия».)

Было бы лучше использовать постоянное хранилище (Room, SharedPreferences или около того).Вы также можете попробовать ViewModels (https://developer.android.com/topic/libraries/architecture/viewmodel)), чтобы избежать бремени обработки событий жизненного цикла.

Если вы не хотите сохранять постоянство и ваши данные могут реализовать Parcelable, просто передайте их другому действию через Bundle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...