dependencies {
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:x.x.x'
}
import androidx.compose.ui.platform.ComposeView;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.compose.ViewModelProvider;
class MyViewModel extends ViewModel {
private List<String> cachedData;
...
public List<String> getCachedData() {
if (cachedData == null) {
cachedData = initData();
}
return cachedData;
}
...
}
class MyViewModel extends ViewModel {
private MutableLiveData<List<String>> data = new MutableLiveData<>();
...
public LiveData<List<String>> getData() {
return data;
}
...
public void updateData() {
List<String> newData = fetchData();
data.setValue(newData);
}
...
}
class MainActivity extends AppCompatActivity {
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewModel = new ViewModelProvider(this).get(MyViewModel.class);
...
}
@Override
protected void onDestroy() {
super.onDestroy();
viewModel.clear();
...
}
}