android studio viewo,Android Studio 之 ViewModel
ViewModel?是 JetPack?類庫中的一個功能,可以保存控件的狀態 ,在整個Activity?生命周期中,狀態不會失效
如屏幕翻轉時,狀態可保留,不會失效!
與 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'
package com.example.viewmodel1;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProviders;
public class MainActivity extends AppCompatActivity {
MyViewModole myViewModole;
TextView textView;
Button button1;
Button button2;
String TAG = "myTag";
@Override
protected void onCreate(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(new View.OnClickListener() {
@Override
public void onClick(View view) {
myViewModole.numberAnInt++;
textView.setText(String.valueOf(myViewModole.numberAnInt));
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myViewModole.numberAnInt += 2;
textView.setText(String.valueOf(myViewModole.numberAnInt));
}
});
}
}
總結
以上是生活随笔為你收集整理的android studio viewo,Android Studio 之 ViewModel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机二维动画的核心技术是什么意思,数字
- 下一篇: 机器学习之线性回归(python)