0

アプリにデータベースがあります。これが私がそれを作成する方法です:

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 でデータベースのデータを確認したい場合、ここには何もありません。

ここに画像の説明を入力

それで、何が問題で、どうすればこの問題を解決できますか?データベースの作成に問題があるように思えますが、いつもと同じ方法で使用し、通常は問題なく動作します

4

1 に答える 1