Загрузка данных в бд

Рейтинг: 1Ответов: 0Опубликовано: 07.04.2023

У меня есть android-приложение, на основной странице RecyclerView, который заполняется из базы данных, по клику на какой-то элемент происходит загрузка новых элементов из бд и RecyclerView обновляется. Все работает, все замечательно.

Но, появилась задача, загружать в бд данные из json файла, все парсится и происходит сотни добавлений в бд. Естественно при этой операции приложение замирает на несколько секунд, т.к. у нас происходит все в одном потоке. Я только начал заниматься разработкой и не знаю как поступить в этом случае, я так понимаю у меня варианта 2:

  1. Показать progressbar пользователю и пусть ждет загрузки (чего не хотелось бы)
  2. Сделать загрузку в отдельном потоке в фоновом режиме, но при клике пользователя на какой-то элемент RecyclerView, будет происходить чтение в бд, как я понимаю, так делать нельзя и я получу ошибку т.к. с бд работает уже другой поток.

Подскажите пожалуйста, как правильно делать в таких случаях?

Ответы

Ответов пока нет.