У меня есть база данных в моем приложении. Вот как я его создаю:
App
класс:
public class TraktTvApp extends Application {
private static Context sAppContext;
public static TraktTvApp instance;
private MovieDatabase database;
@Override
public void onCreate() {
super.onCreate();
sAppContext = getApplicationContext();
instance = this;
database = Room.databaseBuilder(this, MovieDatabase.class, "MovieDatabase").build();
}
@NonNull
public static Context getAppContext() {
return sAppContext;
}
public static TraktTvApp getInstance() {
return instance;
}
public MovieDatabase getDatabase() {
return database;
}
}
DAO
класс
@Dao
public interface MovieDao {
@Query("SELECT * from MovieEntity")
List<MovieEntity> getFavorites();
@Insert(onConflict = OnConflictStrategy.REPLACE)
Completable insertMovie(final MovieEntity movie);
@Delete
void deleteMovie(MovieEntity movie);
}
Database
класс
@Database(entities = {MovieEntity.class}, version = 1)
public abstract class MovieDatabase extends RoomDatabase {
public abstract MovieDao movieDao();
}
А вот как я называю insert
метод:
mCompositeDisposable.add(Observable.fromCallable(()->movieDao.insertMovie(movieEntity))
.doOnSubscribe(disposable -> mView.showLoadingIndicator(true))
.doOnComplete(() -> {
mView.showEmptyState(false);
mView.onMoviesAdded();
})
.doOnError(throwable -> mView.showEmptyState(true))
.doOnTerminate(() -> mView.showLoadingIndicator(false))
.observeOn(Schedulers.io())
.subscribe());
Но когда я хочу проверить данные в моей базе данных в Stetho, здесь ничего нет:
Итак, в чем дело и как я могу решить эту проблему? Мне кажется, что это может быть проблемой при создании базы данных, но я использовал тот же способ, как обычно, и обычно он работает нормально