Untitled

 avatar
unknown
kotlin
a year ago
751 B
4
Indexable
@Database(entities = [MusicModel::class,PlaylistModel::class,PlaylistSelectSongModel::class], version = 7)
abstract class MusicDatabase : RoomDatabase() {

    abstract fun musicDao(): MusicDao

    companion object {

        @Volatile
        private var instance: MusicDatabase? = null

        private val lock = Any()

        operator fun invoke(context: Context) = instance ?: synchronized(lock) {

            instance ?: makeDatabase(context).also {
                instance = it
            }

        }

        private fun makeDatabase(context : Context) = Room.databaseBuilder(
            context.applicationContext, MusicDatabase::class.java,"music_database")
            .fallbackToDestructiveMigration()
            .build()

    }

}
Editor is loading...
Leave a Comment