Android room persistent: AppDatabase_Impl does not exist

前端 未结 21 1410
日久生厌
日久生厌 2020-11-29 01:09

My app database class

@Database(entities = {Detail.class}, version = Constant.DATABASE_VERSION)
public abstract class AppDatabase extends RoomDatabase {

            


        
21条回答
  •  眼角桃花
    2020-11-29 01:42

    Use the following gradle link:

    compile 'android.arch.persistence.room:runtime:1.0.0-alpha9'
    annotationProcessor 'android.arch.persistence.room:compiler:1.0.0-alpha9'
    

    You need to create diffretn singloton class and get the Appdatabase from ther like this:

    RoomDB.java

    public class RoomDB {
    
    private static RoomDB INSTANCE;
    
    public static AppDatabase getInstance(Context context) {
        if (INSTANCE == null) {
            INSTANCE =
                    Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, Constant.DATABASE).allowMainThreadQueries().build();
    
                    //Room.inMemoryDatabaseBuilder(context.getApplicationContext(),AppDatabase.class).allowMainThreadQueries().build();
        }
        return INSTANCE;
    }
    
    public static void destroyInstance() {
        INSTANCE = null;
    }
    

    App.java

    public class App extends Application {
    
    private boolean appRunning = false;
    
    @Override
    public void onCreate() {
        super.onCreate();
        RoomDB.getInstance(this); //This will provide AppDatabase Instance
    }
    

提交回复
热议问题