Pode qualquer momento o AppDatabase na sala Android ser nulo?
Enquanto adiciona o banco de dados da sala, é sugerido o uso do Singleton Design Pattern
ota: Você deve seguir o padrão de design singleton ao instanciar um objeto AppDatabase, pois cada instância do RoomDatabase é bastante cara e raramente precisa de acesso a várias instância
Então, a adição do Room Database, seguindo o exemplo do Google, escrito em Java, será como abaixo
private var INSTANCE: AppDatabase? = null
fun getInstance(context: Context): AppDatabase? {
if (INSTANCE == null){
synchronized(AppDatabase::class){
INSTANCE = Room.databaseBuilder(context.applicationContext,
AppDatabase::class.java, "app_database")
.build()
}
}
return INSTANCE
}
Quando eu ligogetInstance
, o compilador sugere quegetInstance
pode sernull
. Então, minha pergunta existe algum caso quegetInstance
estarnull
e eu tenho que verificar se énull
. Caso contrário, como instanciarAppDatabase
de modo agetInstance
RetornaAppDatabase
nãoAppDatabase?
e se encaixa na recomendação de documentação?