LiveData和ViewModel組件常被用來一起實現Android官方所提出來的MVVM架構。
而"ViewModel的唯一職責就是管理UI的數據"。
當系統發生Configure Change、螢幕旋轉、更改語言,都不會丟失UI上的數據。
public class MyViewModel extends ViewModel {
...
// 存放UI數據
}
public class MainActivity extends AppCompatActivity {
private MyViewModel model;
@Override
protected void onCreate(Bundle savedInstanceSate) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
model = new ViewModelProvider(this).get(MyViewModel.class);
...
}
}