自己复习

app build中添加

implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0' 

自定义类继承viewmodel 其中存储livedata对象

class MyViewModel : ViewModel(){    /**     * 通过懒加载new一个mutablelivedata对象     * livedata是一个抽象类 muteablelivedata是它的实现类     * 他们之间的关系类似于list和arraylist     * 这里的name 说白了就是一个个listdatta类型的string     * 我们只是借助了livedata的特性,本质上还是string     */    val name: MutableLiveData by lazy {        MutableLiveData()    }}

livedata自带生命周期检测当生命周期结束了就不执行方法了,可以这样理解。

在activity中获取model对象

val model = ViewModelProvider.NewInstanceFactory().create(MyViewModel::class.java)

 

model元素中进行监听

model.name.observe(this, Observer{ it ->    // update UI    Log.i(TAG,"=====it$it")    textView2.text = it})

改编model中对象的值或者用postvalue改变值,界面自动更改

  model.name.value = "123"\            //线程中用post            Thread(Runnable {                model.name.postValue("456")            }).start()

更多相关文章

  1. android基础面试
  2. Android剪切板用法
  3. Android实现计时与倒计时的5种方法
  4. Android(安卓)Fragment 优化与切换
  5. android 使用现成做get请求
  6. 你真的会用Android的Dialog吗?由一个Exception想到的
  7. 【Android(安卓)开发教程】Fragment的生命周期
  8. [原创]Android(安卓)init.rc文件解析过程详解(二)
  9. 工作总结

随机推荐

  1. Android实现CoverFlow效果三
  2. android 中对xml 进行解析
  3. Android 平台如何获取程序的版本
  4. Android实现自动定位城市并获取天气信息
  5. Android SDK Tools 19出了
  6. Android之Widget
  7. Android文件读写包含SDCard
  8. Android Notes 04 - Intents and Intent
  9. android 禁止输入特殊字符
  10. android > 广播监听电话状态