💻【Jetpack】Android ViewModel 視圖模型 範例📈
Android ViewModel 是一種為 Android 應用開發者提供存儲和操作輸入和狀態數據的模型。
它有助於保留活動和片段状态,使開發過程更加高效和安全,并為用戶和開發者帶來便利。 對於 Android 應用開發者來說,了解 ViewModel 的重要性是一個重要的幾乎“必不可少”的步驟。
本文將提供一個簡要介紹,以便思考如何有效地開發使用 ViewModel 的 Android 應用程序。
文章目錄
- ViewModel
- ViewModel 創建方式(一)
- ViewModel 創建方式(二)
- Developer Documents ViewModel
1.ViewModel
PersonViewModel.kt
class PersonViewModel : ViewModel() {
val name = "Wade"
val age = 25
}
2.ViewModel 創建方式(一)
MainActivity.kt
class MainActivity : AppCompatActivity() {
private lateinit var viewModel: PersonViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
viewModel = ViewModelProvider(this)[PersonViewModel::class.java]
Toast.makeText(this, viewModel.name, Toast.LENGTH_SHORT).show()
Toast.makeText(this, viewModel.age.toString(), Toast.LENGTH_SHORT).show()
}
}
3.ViewModel 創建方式(二)
build.gradle
dependencies {
def fragment_version = "1.5.5"
implementation "androidx.fragment:fragment-ktx:$fragment_version"
}
MainActivity.kt
class MainActivity : AppCompatActivity() {
private val viewModel: PersonViewModel by viewModels()
// private val viewModel by viewModels<PersonViewModel>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Toast.makeText(this, viewModel.name, Toast.LENGTH_SHORT).show()
Toast.makeText(this, viewModel.age.toString(), Toast.LENGTH_SHORT).show()
}
}
4.Developer Documents ViewModel
Open in Documents ViewModel