Android的房间+ Kotlin模式

Android的房间文件说,我们应该按照单例设计模式时,实例化一个AppDatabase对象。

我正在考虑这个问题,我想知道是否建议将AppDatabase类放入我的Application类中。 或者如果我可以使用Kotlin单例。

假设我有一个名为CarroDAO的DAO和一个RoomDatabase的CarrosDatabase类。

使用Kotlin对象/单例创建DatabaseManager类可以吗?

object DatabaseManager { private var dbInstance: CarrosDatabase init { val appContext = MyApplication.getInstance().applicationContext dbInstance = Room.databaseBuilder( appContext, CarrosDatabase::class.java, "mybd.sqlite") .build() } fun getCarroDAO(): CarroDAO { return dbInstance.carroDAO() } } 

所以我可以像这样得到DAO类:

 val dao = DatabaseManager.getCarroDAO()