【发布时间】:2021-01-22 18:43:19
【问题描述】:
我不明白 mvvm 模型对象应该存储在哪里。 例如我有应用程序
class MainActivity : AppCompatActivity() {
private lateinit var viewModel: MyViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.userScore.observe(this, Observer { it->
score_view.text = it.toString()
})
score_bt.setOnClickListener {
viewModel.scorePoint()
}
}
}
class MyViewModel: ViewModel() {
val _userScore = MutableLiveData<Int>()
val userScore: LiveData<Int>
get() = _userScore
init {
_userScore.value = 1
}
fun scorePoint(){
_userScore.value = (_userScore.value)?.plus(1)
}
}
class Game {
val score = 0
}
当用户单击按钮时,分数会增加。我想将分数存储在对象类 Game 中。对象应该存储在哪里以及如何将对象与viewmodel连接起来,因为我认为viewmodel不应该包含对象。需要明确的是,我不希望在用户关闭应用程序时存储该对象。
【问题讨论】: