Viewmodel inject is deprecated code example
Example 1: viewmodelproviders deprecated
JAVA
replace :
customViewModel = ViewModelProviders.of(this).get(CustomViewModel.class);
with:
customViewModel = new ViewModelProvider(this).get(CustomViewModel.class);
KOTLIN
replace:
customViewModel = ViewModelProviders.of(this).get(CustomViewModel::class.java)
with:
customViewModel = ViewModelProvider(this).get(CustomViewModel::class.java)
Example 2: viewmodelinject deprecated
@HiltViewModel
class MyViewModel @Inject constructor(
private val repository: Repository,
private val savedStateHandle: SavedStateHandle
) : ViewModel(), LifecycleObserver {
// Some code
}
Example 3: viewmodelproviders is deprecated
// With ViewModelFactory
val viewModel = ViewModelProvider(this, YourViewModelFactory).get(YourViewModel::class.java)
//Without ViewModelFactory
val viewModel = ViewModelProvider(this).get(YourViewModel::class.java)