我最近开始使用Android,并且一直在尝试使用新的Andorid Jetpack Architecture方法来制作我的应用。具体来说,我看到他们通常使用ViewModel来存储UI数据,这样,当发生屏幕旋转之类的事情时,数据就不会丢失。我有一个简单的登录屏幕,其中有两个“编辑文本”字段,当我在其中输入内容时,旋转屏幕,数据保持不变。如此大胆的问题是:
为什么我不会从“编辑文本”的数据中丢失数据?
何时应使用此ViewModel东西。人们是在简单的情况下使用它的吗,例如基本登录屏幕(其中您只有两个字符串),还是仅用于较大的活动?
对于这些LifeCycle观察者,我也有同样的问题。我知道它们是如何工作的,但是我应该在上面提到的那种简单情况下使用它们,还是最好在更复杂的情况下使用这些东西,因为我真的不知道如何为基本的登录屏幕做些什么除了OnCreate()中的基本内容之外?
答案 0 :(得分:2)
检查该图像以了解ViewModel的生命周期以及为什么EditText
数据不会丢失。
您应该了解MVVM模式(模型视图Viewmodel),以了解如何使用ViewModel
。看看这个CodeLabs from Google。