Удаление данных из таблицы синхронно с помощью Room в Android - PullRequest
0 голосов
/ 15 января 2019

Мне нужно удалить все данные из таблиц синхронно, а затем вставить свежие данные.

Согласно документации, @Query работает асинхронно, поэтому следующий метод не завершил удаление данных, и мы начинаем вставлять данные в следующую строку, что вызывает сбой.

@Query("DELETE FROM myTable") void deleteAll();

Есть ли способ удалить его синхронно? следует ли нам изменить тип возвращаемого значения, аннотированный с помощью Query, с void на int или использовать метод RoomDatabase.clearAllTables (). Не уверен, что void clearAllTables () также работает синхронно или нет.

1 Ответ

0 голосов
/ 16 января 2019

В комнате 2 вы можете просто запустить асинхронный запрос с количеством удаленных элементов в качестве результата. После этого вставьте элементы.

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