I am using room persistence library
and dagger
RoomModule.kt
@Module
class RoomModule {
@Provides
@Singleton
internal fun provideMoviesAppDatabase(application: Application): MoviesAppDatabase {
return Room.databaseBuilder<MoviesAppDatabase>(application, KtMoviesAppDatabase::class.java, Keys.DATABASE_NAME)
.addCallback(object : RoomDatabase.Callback() {
override fun onCreate(db: SupportSQLiteDatabase) {}
override fun onOpen(db: SupportSQLiteDatabase) {}
})
.build()
}
}
KtMoviesAppDatabase.kt
@Database(entities = [Movie::class], version = 1)
abstract class KtMoviesAppDatabase : RoomDatabase() {
abstract fun getMovieDAO(): MovieDAO
}
Error I am getting:
I made some changes
@Module
class RoomModule {
@Provides
@Singleton
internal fun provideMoviesAppDatabase(application: Application): KtMoviesAppDatabase {
return Room.databaseBuilder<KtMoviesAppDatabase>(application, KtMoviesAppDatabase::class.java, Keys.DATABASE_NAME)
.addCallback(object : RoomDatabase.Callback() {
override fun onCreate(db: SupportSQLiteDatabase) {}
override fun onOpen(db: SupportSQLiteDatabase) {}
})
.build()
}
}
Still I have the error :
Unresolved reference: java
Very Silly mistake since I had not added proper dependencies
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.core:core-ktx:1.0.2'