美文网首页
8.mvvm中协程的使用

8.mvvm中协程的使用

作者: 学吉他的袁先生 | 来源:发表于2020-08-11 16:43 被阅读0次

view代码

class MvvmActivity : BaseActivity<TestViewModel>() {
    override fun initData(savedInstanceState: Bundle?) {
        mViewModel = getViewModel<TestViewModel>()
        mViewModel?.articleList?.observe(this, Observer {
            LogUtils.i(it.errorCode)
        })
        mViewModel?.getArticles()
    }

    override fun initView(savedInstanceState: Bundle?): Int = R.layout.activity_mvvm
}

viewmodel代码

class TestViewModel(
    private val mModel: TestModel
) : BaseViewModel() {
    val articleList = MutableLiveData<ArticleBean>()
    fun getArticles() {
        launch {
            val articles = mModel.getArticles()
            articleList.postValue(articles)
        }
    }
}

model代码

class TestModel(context: Context) : BaseModel(context) {
    suspend fun getArticles(): ArticleBean {
        return apiService.getArticle()
    }
}

相关文章

网友评论

      本文标题:8.mvvm中协程的使用

      本文链接:https://www.haomeiwen.com/subject/ldeddktx.html