我的应用程序重新启动后房间数据丢失

iuq*_*iuq 4 android android-room

我的应用程序中有一个 Room 的简单实现。它有两个实体。应用程序运行时它工作正常。但应用程序重新启动后我看不到任何数据。

这是我的数据库创建代码 -

@Database(entities = {Person.class, College.class}, version = 1,  exportSchema = true)
public abstract class AppDatabase extends RoomDatabase {
    private static AppdDatabase INSTANCE;
    public abstract PersonDao personDao();
    public abstract CollegeDao collgeDao();

    public static AppDatabase getInstance(Context context) {
        if (INSTANCE == null) {
            INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "my-sample-app.db")
                    .build();
        }
        return INSTANCE;
    }

    public static void destroyInstance() {
        if (INSTANCE != null) INSTANCE.close();
        INSTANCE = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

在任何正在运行的会话中,我可以添加和查看数据,但应用程序重新启动后没有任何内容可用。我在这里缺少什么?

谢谢

Tak*_*aki 6

每次重新启动应用程序时都有一个空数据库的原因是因为在数据库类中您使用了“Room.inMemoryDatabaseBuilder..”,它仅用于数据库上的测试目的,因此您应该使用“Room.databaseBuilder..” ”