【发布时间】:2021-09-20 00:03:40
【问题描述】:
如果我要为整个应用程序使用 1 个活动而没有片段。 导航将使用撰写功能完成。 如何在撰写函数中读取/编辑数据库或获取活动上下文或网络调用?
【问题讨论】:
标签: android android-jetpack-compose
如果我要为整个应用程序使用 1 个活动而没有片段。 导航将使用撰写功能完成。 如何在撰写函数中读取/编辑数据库或获取活动上下文或网络调用?
【问题讨论】:
标签: android android-jetpack-compose
如何在撰写函数中读取/编辑数据库或进行网络调用
这是一个副作用,我建议通过可组合组件中的回调来执行 viewModel。但是,如果您想在可组合组件中处理这些副作用,那么您应该使用effect-handlers。
您可以通过此code-lab 了解在不同场景中使用的不同副作用,在您的情况下,我假设rememberCoroutineScope 应该这样做,如果使用协程或其他效果,如DisposableEffect,如果使用@987654328 @ 或任何其他线程框架,适合您的效果处理程序用例。
在这里,我已经在 compose 中解释了 side-effects,this 是一个很好的研究资源。
或获取活动上下文?
活动上下文是通过提供者隐式提供给可组合的,即它们被添加到可组合的根节点中,子节点可以通过提供者访问它们。
如果你需要类似上下文的东西,你可以通过LocalContext获得它
LocalContext.current
Here 您可以在其他 CompositionLocal 上了解更多信息,这些内容隐式提供给每个可组合项。
【讨论】: