ViewModel
Understanding ViewModel and its implementation
Introduction to ViewModel
ViewModel Android Architecture Components का एक important part है जो UI-related data को manage करता है। यह configuration changes (जैसे screen rotation) के दौरान data को survive करने में help करता है।
ViewModel is an important part of Android Architecture Components that manages UI-related data. It helps data survive configuration changes (like screen rotation).
Key Features (मुख्य विशेषताएं):
- ViewModel UI data को lifecycle-aware तरीके से manage करता है
- ViewModel manages UI data in a lifecycle-aware way
- ViewModel configuration changes के दौरान data को preserve करता है
- ViewModel preserves data during configuration changes
- ViewModel UI logic को separate करता है
- ViewModel separates UI logic
- ViewModel data को UI components के बीच share करने में help करता है
- ViewModel helps share data between UI components
Implementation Example (इम्प्लीमेंटेशन उदाहरण)
ViewModel को implement करने का example:
Example of implementing ViewModel:
// ViewModel class
class UserViewModel : ViewModel() {
private val _users = MutableLiveData>()
val users: LiveData> = _users
fun loadUsers() {
viewModelScope.launch {
_users.value = repository.getUsers()
}
}
}
// Activity/Fragment implementation
class UserActivity : AppCompatActivity() {
private lateinit var viewModel: UserViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel = ViewModelProvider(this).get(UserViewModel::class.java)
viewModel.users.observe(this) { users ->
// Update UI with users
}
viewModel.loadUsers()
}
}
ViewModel Lifecycle (व्यूमॉडल लाइफसाइकल)
ViewModel का lifecycle:
ViewModel lifecycle:
State (अवस्था) | Description (विवरण) |
---|---|
Creation | ViewModel create होता है जब activity/fragment create होता है |
Creation | ViewModel is created when activity/fragment is created |
Active | ViewModel active रहता है जब activity/fragment active रहता है |
Active | ViewModel remains active while activity/fragment is active |
Cleared | ViewModel clear होता है जब activity/fragment destroy होता है |
Cleared | ViewModel is cleared when activity/fragment is destroyed |
Best Practices (सर्वोत्तम प्रथाएं)
ViewModel के साथ काम करने के best practices:
Best practices for working with ViewModel: