对LiveData进行封装。
How to To get a Git project into your build:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.ming123aaa:ILiveData:1.6'
}
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
-keep class com.Ohuang.ilivedata.*{*;}
-keep class androidx.lifecycle.* { *; }
-keep class androidx.arch.core.internal.*{*;}'
// with(一个String类型的key,需要传递对象的类型) setValue(需要传的对象)
MyLiveData.getInstance().with("aa",String.class).setValue(string);
// 如果在子线程请使用postValue
MyLiveData.getInstance().with("aa",String.class).postValue(string);
//with(,)这两个参数与上面一致. observe(类型为LifecycleOwner在Activity或Fragment里面直接this就行,观察者)
MyLiveData.getInstance().with("aa",Person.class).observe(this, new Observer<Person>() {
@Override
public void onChanged(Person person) {
//...执行接收数据后的操作
}
});
LiveDataBus.get().with("1",String.class).setValue("123");