Android Studio 之 ViewModel (转)
ViewModel 是 JetPack 类库中的一个功能,可以保存控件的状态 ,在整个Activity 生命周期中,状态不会失效
如屏幕翻转时,状态可保留,不会失效!
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。与 LiveData 配合使用!
配合 Room 进行 Sqlite 操作数据库
新建 ViewModel 类,在MainActivity类的父结点上右击,点创建java类
注意:Superclass 中要选 ViewModel
1. ViewModel 类中放一个public 的整数变量
2. 在MainActivity类中创建一个 MyViewModel 实例,
注意:ViewModelProviders 这个对象,需要在 build.gradle中的 dependencies 结点中, 添加引用 implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | packagecom.example.viewmodel1;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.TextView;importandroidx.appcompat.app.AppCompatActivity;importandroidx.lifecycle.ViewModelProviders;publicclassMainActivity extendsAppCompatActivity {    MyViewModole myViewModole;    TextView textView;    Button button1;    Button button2;    String TAG = "myTag";    @Override    protectedvoidonCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button1 = findViewById(R.id.button);        button2 = findViewById(R.id.button2);        textView = findViewById(R.id.textView);        myViewModole = ViewModelProviders.of(this).get(MyViewModole.class);  //实例化             textView.setText(String.valueOf(myViewModole.numberAnInt));//初始时,给它赋值        button1.setOnClickListener(newView.OnClickListener() {            @Override            publicvoidonClick(View view) {                myViewModole.numberAnInt++;                textView.setText(String.valueOf(myViewModole.numberAnInt));            }        });        button2.setOnClickListener(newView.OnClickListener() {            @Override            publicvoidonClick(View view) {                myViewModole.numberAnInt += 2;                textView.setText(String.valueOf(myViewModole.numberAnInt));            }        });    }} | 
 
                    更多精彩
		 
													 
													 
													 
													 
	 
		

