public class MyLibrary implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
private void onCreate() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
private void onDestroy() {
}
public void doSomething() {
}
}
public class MyLibraryViewModel extends ViewModel {
private LiveData<String> data;
public LiveData<String> getData() {
if (data == null) {
data = new MutableLiveData<>();
loadData();
}
return data;
}
private void loadData() {
}
}
@Composable
public void MyLibraryScreen(MyLibraryViewModel viewModel) {
Column {
Text(viewModel.getData().getValue());
Button(onClick = { viewModel.loadData() }) {
Text("Load Data")
}
}
}
public class MyLibraryActivity extends Activity {
private MyLibraryViewModel viewModel;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContent {
MyLibraryScreen(viewModel = viewModel)
}
}
}