add WordRoomDatabase containing db class
This commit is contained in:
parent
038e3f9e95
commit
7e3ea9df5e
@ -0,0 +1,35 @@
|
||||
package world.whatever.task_roomdb
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Database
|
||||
import androidx.room.Room
|
||||
import androidx.room.RoomDatabase
|
||||
|
||||
// Annotates class to be a Room Database with a table (entity) of the Word class
|
||||
@Database(entities = arrayOf(Word::class), version = 1, exportSchema = false)
|
||||
public abstract class WordRoomDatabase : RoomDatabase() {
|
||||
|
||||
abstract fun wordDao(): WordDao
|
||||
|
||||
companion object {
|
||||
// Singleton prevents multiple instances of database opening at the
|
||||
// same time.
|
||||
@Volatile
|
||||
private var INSTANCE: WordRoomDatabase? = null
|
||||
|
||||
fun getDatabase(context: Context): WordRoomDatabase {
|
||||
// if the INSTANCE is not null, then return it,
|
||||
// if it is, then create the database
|
||||
return INSTANCE ?: synchronized(this) {
|
||||
val instance = Room.databaseBuilder(
|
||||
context.applicationContext,
|
||||
WordRoomDatabase::class.java,
|
||||
"word_database"
|
||||
).build()
|
||||
INSTANCE = instance
|
||||
// return instance
|
||||
instance
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user