Есть диалог, который сохраняет объект в базу данных Room
. Диалог должен дождаться сохранения в базе данных, чтобы запустить специальный класс Worker
, который извлечет этот объект из базы данных по идентификатору и выполнит некоторую работу с ним.
Но для этого требуется синхронный код, который является антишаблоном в Room
. Я решил, что лучшим вариантом будет запустить WorkManager
, который сохранит объект в базе данных, а затем запустить специальный класс Worker
по цепочке. Но проблема в том, что я не могу передать объект для сохранения в Data.Builder
, только примитивные типы. Остается только вариант сериализации в JSON. Можно ли обойтись без сериализации? В конце концов, размер сериализованного JSON теоретически может превышать предел 10240 bytes
.
Любая помощь будет принята с благодарностью!