我正在学习android。坚持在活动的oncreate中加载数据的基本方案。因此,我尝试在打开活动时立即加载数据,但是当我更改屏幕方向时,它将再次被调用。我了解android会在屏幕定向期间恢复活动状态。所以oncreate方法被调用。但是我的问题是,一旦下载了数据,我就不想一遍又一遍地进行Http调用。什么是最好的处理方式?我想针对不同的屏幕方向使用不同的布局,但是数据是相同的。我必须将数据加载到oncreate中。
答案 0 :(得分:2)
在配置更改期间保留数据,例如通过ViewModel
。您的ViewModel
将负责执行Web请求(直接或通过repository)并将结果传送到活动中,例如通过LiveData
。
答案 1 :(得分:0)
如果您不想使用Google arch组件,则可以用CommonsWare代替,您可以简单地检查savedInstanceState
捆绑软件是否为null
。如果是这样的话,那么第一次启动活动就可以加载数据了。如果不是,则重新创建它,并且您不应该加载数据。