【问题标题】:How to make calls(database, network) in composable functions?如何在可组合函数中进行调用(数据库、网络)?
【发布时间】:2021-09-20 00:03:40
【问题描述】:

如果我要为整个应用程序使用 1 个活动而没有片段。 导航将使用撰写功能完成。 如何在撰写函数中读取/编辑数据库或获取活动上下文或网络调用?

【问题讨论】:

    标签: android android-jetpack-compose


    【解决方案1】:

    如何在撰写函数中读取/编辑数据库或进行网络调用

    这是一个副作用,我建议通过可组合组件中的回调来执行 viewModel。但是,如果您想在可组合组件中处理这些副作用,那么您应该使用effect-handlers

    您可以通过此code-lab 了解在不同场景中使用的不同副作用,在您的情况下,我假设rememberCoroutineScope 应该这样做,如果使用协程或其他效果,如DisposableEffect,如果使用@987654328 @ 或任何其他线程框架,适合您的效果处理程序用例。

    在这里,我已经在 compose 中解释了 side-effectsthis 是一个很好的研究资源。

    或获取活动上下文?

    活动上下文是通过提供者隐式提供给可组合的,即它们被添加到可组合的根节点中,子节点可以通过提供者访问它们。

    如果你需要类似上下文的东西,你可以通过LocalContext获得它

    LocalContext.current
    

    Here 您可以在其他 CompositionLocal 上了解更多信息,这些内容隐式提供给每个可组合项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-07
      • 2019-02-04
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多