使用 lateinit 注入存儲庫會導致崩潰

貝娜齊爾

我已將我的存儲庫注入到帶有 lateinit 聲明的 Activity 中。但是,當我調用存儲庫的方法時,它會導致崩潰,說 lateinit 屬性 clearDbRepository 尚未初始化。

class StartActivity : BaseActivity() {

    private lateinit var binding: StartEmptyPageBinding

    @Inject
    lateinit var clearDbRepository: ClearDbRepository

    override fun setupViews() {
        lifecycleScope.launch {
            clearDbRepository.clearLocalDatabase()
        }
    } 
}

我的 ClearDbRepository 是:

@Singleton
class ClearDbRepository @Inject constructor(
    private val mainDatabase: LocalDB
) {
    suspend fun clearLocalDatabase() = withContext(Dispatchers.IO) { 
        mainDatabase.clearAllTables() 
    }
}
薩納西斯 M

如果您使用的是Hilt庫,那麼根據您的代碼片段,您很可能缺少註釋。您必須在 Activity 類上方添加適當的註釋,如下所示:

@AndroidEntryPoint
class StartActivity : BaseActivity() { }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 free() 釋放內存導致崩潰

在Kotlin的构造函数中使用Lateinit属性

Kotlin:使用反射设置带注释的Lateinit var

为什么Kotlin不允许对原始类型使用lateinit?

Kotlin lateinit无法与@Inject注释一起使用

在存儲庫類中使用 DBContext

Dagger 2 未注入,lateinit 属性未初始化

使用 nodejs 管道流下載大文件會導致大量內存使用和 OOM 錯誤

使用 golang 在 GCR 中列出 docker 存儲庫

在spring存儲庫@Query中使用@MappedSuperclass

C 索引到數組的雙指針會導致崩潰

Nuxt.js Oauth 有時會導致整個網頁崩潰

在Kotlin上将WebTestClient与SpringBootTest一起使用时,“ lateinit属性<varName>尚未初始化”

Kotlin中不允许在原始类型属性上使用lateinit修饰符

Kotlin:如何使用lateinit属性检查变量是否已初始化

Kotlin:使用自定义设置器时没有Lateinit的解决方法?

Kotlin-使用“ by lazy”和“ lateinit”进行属性初始化

定义全局android.widget var / val时使用“ lateinit”或“ by lazy”

使用Gradle构建android项目时lateinit属性variantName未初始化错误

lateinit属性适配器尚未初始化,使用Fragment设置RecyclerView

从其他类使用时尚未初始化 lateinit 属性绑定

此代碼會在我的合同中創建一致的數據存儲嗎?+ 如何正確使用內存

即使使用 process.on(uncaughtException),Nodejs 進程也會崩潰

lateinit 用于 LiveData

Kotlin Lateinit通讯Java

在循環一次之前,Javascript 會在 for 循環開始時導致崩潰

將參數傳遞給鏈接的 Get 請求會導致 404 崩潰

為什麼我的Qt程序中未執行的代碼會導致程序崩潰?

使用 IdentityDbContext 時如何在 ASP.NET Core MVC 中使用存儲庫模式?