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

0

调用setupDebugTools()应用程序之onCreate()类的

 {
   super.onCreate()
   setupDebugTools()
 }

  private void setupDebugTools() {

        if (BuildConfig.DEBUG) {
            Stetho.initializeWithDefaults(this)

        }

    }

了解更多信息

于 2019-06-11T09:12:15.400 回答