Android Nice Kotlin如何为Singelton创建自定义初始值设定项?
我正在使用该组件编写一个Android应用程序。有没有办法让AppDatabase成为一个对象,并在实例化过程中告诉它使用它Android Nice Kotlin如何为Singelton创建自定义初始值设定项?,android,kotlin,Android,Kotlin,我正在使用该组件编写一个Android应用程序。有没有办法让AppDatabase成为一个对象,并在实例化过程中告诉它使用它 Room.databaseBuilder( context.applicationContext, AppDatabase::class.java, DATABASE_NAME ).build() 以下是完整的示例:
Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java,
DATABASE_NAME
).build()
以下是完整的示例:
@Database(
entities = arrayOf(AppInfo::class),
version = 1,
exportSchema = false
)
abstract class AppDatabase : RoomDatabase() {
abstract fun applicationInfoDao(): ApplicationInfoDao
companion object {
private const val DATABASE_NAME: String = "ApplicationInfoDB"
private var INSTANCE: AppDatabase? = null
//-- get the singleton instance of the database
fun getAppDatabase(context: Context): AppDatabase {
if (INSTANCE == null) {
INSTANCE = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java,
DATABASE_NAME
)
.build()
}
return INSTANCE!!
}
fun destroyInstance() {
INSTANCE = null
}
}
}
我认为应该使用依赖项注入并将
AppDatabase.getInstance(context)
作为对象注入。我认为应该使用依赖项注入并将AppDatabase.getInstance(context)
作为对象注入。