-
Make
DatabaseManager
模块内的Singleton类。使用
@JvmStatic
帮助您从Java调用
Companion
class DatabaseManager private constructor(private val dp: AppDatabase) {
fun loadData() : List<OfflineData> {
return dp.getOfflineDataDao().loadAll() // I assume you already defined loadAll method in DAO
}
companion object {
@Volatile
private var INSTANCE: DatabaseManager? = null
@JvmStatic
fun getInstance(context: Context): DatabaseManager {
return INSTANCE ?: synchronized(this) {
INSTANCE ?: run {
val db = Room.databaseBuilder(
context,
AppDatabase::class.java, "database-name"
).build()
DatabaseManager(db).also { INSTANCE = it }
}
}
}
}
}
-
在其他需要使用数据库的模块中,必须实现
offlineservicelibrary
在里面
gradle
并在调用时将上下文传递给它
DatabaseManager.getInstance(context).loadData()