Задать вопрос
Chuffey
@Chuffey
java-middle developer

Как правильно организовать доступ к базе данных sqlite + android?

Добрый день.
Есть приложение, которое тесно (очень очень) работает с БД и с Рест Сервисом.
Часто бывает ситуация, когда retrofit в бэкграунде выполнил запрос(начитал данные из сервиса и пытается сохранить их в бд) и в этот же момент пользователь переходит на другую вкладку у приложения и соответственно лезет в БД для получения инф-ы, и приложение падает с ошибкой:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler)' on a null object reference
            at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
            at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
            at ru.fors.remsmed.db.DBHelper.getProfile(DBHelper.java:415)

вот в этом месте:SQLiteDatabase db = this.getWritableDatabase();
Что делать ?
p.s. Заранее спасибо.
p.p.s. По желанию заказчика, не могу показывать progressDialog'и, он хочет что бы вся работа с инф. была в фоне :(
  • Вопрос задан
  • 771 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@belozerow
ContentProvider
CursorLoader
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы