Как предварительно заполнить базу данных Room с сервера? - PullRequest
0 голосов
/ 17 марта 2020
.addCallback(object : Callback() {
    override fun onCreate(db: SupportSQLiteDatabase) {
        super.onOpen(db)
        GlobalScope.launch(Dispatchers.IO) {
            try {
                // populating from a server
            } catch (e: Exception) {
                // handle no network error here
            }
        }
    }
})

Android поддерживает предварительное заполнение помещения методами createFromAsset () и createFromFile (), но они не дают нам возможности для непосредственного заполнения с сервера.

Поэтому я использовал addCallback () Функция для выполнения этой задачи. Но я понятия не имею, как обрабатывать исключение без сетевых ошибок. Мое приложение аварийно завершает работу при первом запуске, если отсутствует сетевое подключение, и в следующий раз оно работает нормально, поскольку оно уже построило базу данных, а функция getInstance () просто возвращает базу данных без предварительно заполненных данных.

Любой элегантный решение для этого?

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