import
android.os.Bundle
import
android.widget.Button
import
android.widget.EditText
import
android.widget.TextView
import
androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.asLiveData
import
androidx.lifecycle.observe
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.launch
class
MainActivity : AppCompatActivity() {
lateinit var etName: EditText
lateinit var etAge: EditText
lateinit var tvName: TextView
lateinit var tvAge: TextView
lateinit var saveButton: Button
lateinit var userManager: UserManager
var age =
0
var name =
""
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
etName = findViewById(R.id.et_name)
etAge = findViewById(R.id.et_age)
tvName = findViewById(R.id.tv_name)
tvAge = findViewById(R.id.tv_age)
saveButton = findViewById(R.id.btn_save)
userManager = UserManager(
this
)
buttonSave()
observeData()
}
private
fun buttonSave() {
saveButton.setOnClickListener {
name = etName.text.toString()
age = etAge.text.toString().toInt()
GlobalScope.launch {
userManager.storeUser(age, name)
}
}
}
private
fun observeData() {
this
.userManager.userAgeFlow.asLiveData().observe(
this
) {
age = it
tvAge.text = it.toString()
}
userManager.userNameFlow.asLiveData().observe(
this
) {
name = it
tvName.text = it.toString()
}
}
}