Для приложения, использующего Room Database, концепция заключается в том, что взаимодействия с базой данных выполняются в фоновом режиме. - PullRequest
0 голосов
/ 13 марта 2020

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

Что я испытываю при тестировании, так это то, что запрос завершается хорошо после того, как мой код продолжается после его отправки (duh !!). Если результат запроса зависит от продолжения выполнения программы, могу ли я сказать Room не выполнять запрос в фоновом режиме и приостановить выполнение следующей строки кода, пока результаты не будут возвращены.

1 Ответ

2 голосов
/ 13 марта 2020

Какова наилучшая методика проектирования, обеспечивающая завершение результатов запроса перед выполнением дополнительного кода

Шаг № 1: Предоставьте DAO вашей комнате доступ к реагирующему API (например, , LiveData, Rx Java, Kotlin сопрограммы)

Шаг № 2: Реагируйте на результаты этих вызовов API и переходите в свое приложение в этот момент (например, с Observer из LiveData)

...