public class ExampleLiveData extends LiveData<String> {
private static ExampleLiveData instance;
public static ExampleLiveData getInstance() {
if (instance == null) {
instance = new ExampleLiveData();
}
return instance;
}
private ExampleLiveData() {
setValue("Hello World");
}
}
public class ExampleObserver implements LifecycleObserver {
private static final String TAG = "ExampleObserver";
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStart() {
Log.d(TAG, "onStart: ");
}
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LifecycleOwner lifecycleOwner = this;
ExampleLiveData.getInstance().observe(lifecycleOwner, new Observer<String>() {
@Override
public void onChanged(String s) {
Log.d(TAG, "onChanged: " + s);
}
});
getLifecycle().addObserver(new ExampleObserver());
}
}