小编cmp*_*rog的帖子

刀柄注入不适用于 BroadcastReceiver

BroadcastReceiver使用 Hilt内部的依赖注入不起作用。我尝试BroadcastReceiver使用警报调用 aMainActivity并且我得到UninitializedPropertyAccessException. 根据文档,它应该像向@AndroidEntryPoint接收器添加注释一样简单,但不是。

示例代码:

应用程序.kt:

@HiltAndroidApp
class App: Application() {
    override fun onCreate() {
        super.onCreate()
        Log.d(App::class.simpleName, "onCreate: Application")
    }
}
Run Code Online (Sandbox Code Playgroud)

TestHiltInjection.kt:

class TestHiltInjection @Inject constructor() {

    operator fun invoke() {
        Log.d(TestHiltInjection::class.java.simpleName, "invoke called.")
    }
}
Run Code Online (Sandbox Code Playgroud)

HiltBroadcastReceiver.kt:

@AndroidEntryPoint
class HiltBroadcastReceiver : BroadcastReceiver() {

    @Inject lateinit var testHiltInjection: TestHiltInjection

    override fun onReceive(context: Context?, intent: Intent?) {
        testHiltInjection()
    }
}
Run Code Online (Sandbox Code Playgroud)

主活动.kt:

@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState) …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack dagger-hilt

15
推荐指数
3
解决办法
5166
查看次数

React 惰性/暂停 + React Router 在获取组件之前不会更改路由

我正在开发一个应用程序,它使用默认的 React 代码分割,使用 Lazy/Suspense 方法和 React Router 进行组件渲染。目前,当我导航到另一个路径时,如果网速较慢,在获取组件时会更新路径并渲染回退组件,是否有办法在当前路径上等待组件包完全下载?

reactjs react-router code-splitting react-router-dom

5
推荐指数
1
解决办法
3433
查看次数

获取 Flow 发出的最后一项并且不接收更新

在不接收更新的情况下获取流发出的最后一个元素的最佳方法是什么。

问题: 我使用流来观察某些共享偏好的变化,但有时我想知道该偏好的当前值。我总是使用两个函数,一个用于观察流中的值,另一个用于直接捕获数据,有没有办法仅使用观察器函数来存档相同的行为?

suspend fun getBreadcrumb(): Breadcrumb =
        withContext(Dispatchers.IO) context@ {
            ...
        }

fun observeBreadcrumb(): Flow<Breadcrumb> {
        ....
    }
Run Code Online (Sandbox Code Playgroud)

android kotlin kotlin-coroutines kotlin-flow

1
推荐指数
1
解决办法
3482
查看次数