当前位置: 首页 > news >正文

网站建设的宿主选择石家庄发生大事了

网站建设的宿主选择,石家庄发生大事了,手机wordpress怎么注册,免费域名注册商ViewModel 概览 Android Jetpack 的一部分。 ViewModel 类是一种业务逻辑或屏幕级状态容器。它用于将状态公开给界面#xff0c;以及封装相关的业务逻辑。 它的主要优点是#xff0c;它可以缓存状态#xff0c;并可在配置更改后持久保留相应状态。这意味着在 activity 之…ViewModel 概览   Android Jetpack 的一部分。 ViewModel 类是一种业务逻辑或屏幕级状态容器。它用于将状态公开给界面以及封装相关的业务逻辑。 它的主要优点是它可以缓存状态并可在配置更改后持久保留相应状态。这意味着在 activity 之间导航时或进行配置更改后例如旋转屏幕时界面将无需重新提取数据。 1.导包 //viewModel包// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-viewmodel-ktximplementation androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1//runtimeOnly 用于声明一个只在运行时需要的依赖。这意味着这个依赖在编译时不需要但在运行时需要。// 设为runtimeOnly 在编译时会提示有些包找不到比如 viewModels 提示没有 解决方法改为 implementation//implementation 依赖项作为编译和运行时的依赖。这意味着这个依赖在编译和运行时都是可见的。//工具类实现viewModel创建简化开发 2个包// https://mvnrepository.com/artifact/androidx.fragment/fragment-ktximplementation androidx.fragment:fragment-ktx:1.6.1// https://mvnrepository.com/artifact/androidx.activity/activity-ktximplementation androidx.activity:activity-ktx:1.6.1 2.ViewModel() 的创建  写个类实现 ViewModel() package com.exampleimport android.app.Application import android.util.Log import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.ViewModel/*** ViewModel() 的创建* AndroidViewModel() 子类*/ class MyviewModel : ViewModel() {//初始化块init {Log.i(TAG, : MyviewModel ViewModel 初始化)}//internal 只能在同一个模块或库中被访问而不能在其他模块或库中被访问。internal fun getName(): String {return ---MyviewModel getName()方法-${System.currentTimeMillis()}}//重新销毁方法override fun onCleared() {super.onCleared()Log.i(TAG, : MyviewModel onCleared 销毁方法)} }//AndroidViewModel(private val application: Application) : ViewModel() class MyviewModelTwo(application: Application) : AndroidViewModel(application) {//初始化块init {Log.i(TAG, : MyviewModelTwo AndroidViewModel 初始化)}fun getName(): String {return ---MyviewModelTwo getName()方法-${System.currentTimeMillis()}}//重新销毁方法override fun onCleared() {super.onCleared()Log.i(TAG, : MyviewModelTwo onCleared 销毁方法)}} 3.ViewModel 的3种使用方法 MainActivity package com.exampleimport android.os.Bundle import android.util.Log import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.ViewModelLazy import androidx.lifecycle.ViewModelProviderclass MainActivity : AppCompatActivity() {//viewmodel使用1.代理 by ViewModelLazy 返回LazyVMval vm1: MyviewModel by ViewModelLazyMyviewModel(MyviewModel::class,{ viewModelStore },{ defaultViewModelProviderFactory })//2.使用工具类导包方法简化写法 实现原理和上面一样// implementation androidx.fragment:fragment-ktx:1.6.1// implementation androidx.activity:activity-ktx:1.6.1val vm2: MyviewModel by viewModelsMyviewModel { defaultViewModelProviderFactory }override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)Log.i(TAG, ---创建--onCreate)setContentView(R.layout.activity_main)//3.ViewModelProviderval vm3: MyviewModel ViewModelProvider(viewModelStore,//这个对象只有在Activity创建之和才会有defaultViewModelProviderFactory).get(MyviewModel::class.java)//4 java 中方法 implementation androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03 // myViewModle ViewModelProviders.of(this).get(MyViewModle.class);//val mviewModel ViewModelProvider(this, ViewModelProvider.AndroidViewModelFactory(this.application))[MyviewModelTwo::class.java]// mviewModel.getName()//输出结果Log.i(MainActivity, vm1.getName ${vm1.getName()})Log.i(MainActivity, vm2.getName ${vm2.getName()})Log.i(MainActivity, vm3.getName ${vm3.getName()})}override fun onStart() {super.onStart()Log.i(TAG, ---开始--onStart)}override fun onResume() {super.onResume()Log.i(TAG, ---运行--onResume)}override fun onPause() {super.onPause()Log.i(TAG, ---暂停--onPause)}override fun onDestroy() {super.onDestroy()Log.i(TAG, ---销毁--onDestroy)}override fun onStop() {super.onStop()Log.i(TAG, ---停止--onStop)}override fun onRestart() {super.onRestart()Log.i(TAG, ---重新启动--onRestart)}} Log 日志: 打开启动 ---创建--onCreate : MyviewModel ViewModel 初始化 vm1.getName ---MyviewModel getName()方法-1704437476931 vm2.getName ---MyviewModel getName()方法-1704437476931 vm3.getName ---MyviewModel getName()方法-1704437476931 ---开始--onStart ---运行--onResumehome 键退出 ---暂停--onPause ---停止--onStop重新打开 ---重新启动--onRestart ---开始--onStart---运行--onResume退出应用 ---暂停--onPause ---停止--onStop : MyviewModel onCleared 销毁方法 ---销毁--onDestroy
http://www.w-s-a.com/news/798504/

相关文章:

  • 网站建设音乐插件怎么弄wordpress添加数据库文件
  • 汽车行业做网站福建省第二电力建设公司网站
  • delphi做网站开发商城网站建设价位
  • 网站宣传片3 阐述网站建设的步骤过程 9分
  • 公司网站怎么做站外链接哪里有做胎儿dna亲子鉴定
  • 潍坊做电商的网站建设wordpress 特效主题
  • 做网站和app哪个难公司网上注册系统
  • 关于网站建设外文文献系部网站建设
  • 高端设计网站都有哪些月付网站空间提供商
  • 家政 东莞网站建设优化设计官方电子版
  • 做网站如何使用网页插件上海造价信息网
  • 承德网站制作加盟天津做优化的网站有多少家
  • 北京市保障性住建设投资中心网站首页专业做网站联系电话
  • 镇江网站建设方式优化单页面网站教程
  • 做手机网站公司北京网页设计公司兴田德润实惠
  • 域名申请好了 要怎么做网站百度推广开户渠道
  • 电商网站建设 数商云焦作黄河交通学院
  • 做一个网站成本多少太原网站维护
  • 网站建设制作设计优化怎么制作网页步骤
  • 花都区pc端网站建设画册设计多少钱一页
  • 国外买域名的网站廊坊网站制作网页
  • 抚顺市城市建设档案馆网站制作网页时经常用的一种动态位图格式是
  • 公司网站站群是什么运营网站
  • 昆明网站建设大全安徽教育机构网站建设
  • 广州网站排名怎么优化中华衣柜网
  • 怎样围绕网站专题发展来做ppt城乡住建局官网
  • 安卓手机app制作关键词优化公司
  • 江苏固茗建设有限公司网站深圳网站建设深圳网
  • 高性能网站建设指南北京城乡建设官方网站
  • 企业网站找谁做做淘宝相关网站