Android-在OnCreate中处理http调用的最佳方式是什么;在屏幕旋转时没有被叫



我正在学习android。陷入了在创建活动时加载数据的基本场景。因此,我试图在打开活动后立即加载数据,但当我更改屏幕方向时,它会再次被调用。我知道android在屏幕定向期间恢复活动状态。因此调用oncreate方法。但我的问题是,一旦数据被下载,我不想一遍又一遍地调用Http。处理这个问题的最佳方法应该是什么?对于不同的屏幕方向,我想要不同的布局,但数据是相同的。我必须在oncreate中加载数据。

通过ViewModel等配置更改保留数据。您的ViewModel将负责执行Web请求(直接或通过存储库(并将结果传递给活动,例如通过LiveData

CommonsWare的替代答案如果你不想使用Google arch组件,你可以简单地检查savedInstanceState捆绑包是否是null。如果是这样的话,那么如果第一次启动活动,你就可以加载你的数据。如果不是,那么它将被重新创建,您不应该加载数据。

最新更新