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

学工网站建设博物馆网站建设说明

学工网站建设,博物馆网站建设说明,各行业关键词,做外贸如何建立网站背景 项目使用Java,创建ViewModel发现之前旧api不管用了。不要问为什么项目还要用Java,别问。老项目不让升级。 ViewModel创建新方式 新方式是因为依赖新版本库,其实用旧版本库就回到旧方式了。 依赖: def lifecycle_version …

背景

项目使用Java,创建ViewModel发现之前旧api不管用了。不要问为什么项目还要用Java,别问。老项目不让升级。

ViewModel创建新方式

新方式是因为依赖新版本库,其实用旧版本库就回到旧方式了。
依赖:

    def lifecycle_version = "2.5.0"// ViewModelimplementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"// LiveDataimplementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"// Lifecycles only (without ViewModel or LiveData)implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"

从2.4开始换新方式,当然传递参数更容易了。

public class LauncherViewModel extends ViewModel {private static final String TAG = "LauncherViewModel";public static final ViewModelInitializer<LauncherViewModel> initializer = new ViewModelInitializer<>(LauncherViewModel.class,creationExtras -> {return new LauncherViewModel();});
}    

传递参数的案例:
也可以参考传递参数,变得简单了

public class MyViewModel extends ViewModel {public MyViewModel(MyRepository myRepository,SavedStateHandle savedStateHandle) { /* Init ViewModel here */ }static final ViewModelInitializer<MyViewModel> initializer = new ViewModelInitializer<>(MyViewModel.class,creationExtras -> {MyApplication app = (MyApplication) creationExtras.get(APPLICATION_KEY);assert app != null;SavedStateHandle savedStateHandle = createSavedStateHandle(creationExtras);return new MyViewModel(app.getMyRepository(), savedStateHandle);});
}

初始化:

MyViewModel myViewModel = new ViewModelProvider(this,ViewModelProvider.Factory.from(MyViewModel.initializer)
).get(MyViewModel.class);

没错,就是这样,比之前多了2个参数。

http://www.dtcms.com/a/469405.html

相关文章:

  • RabbitMQ概述,Rabbitmq是什么
  • C 语言12:字符串函数全解析
  • 国家城乡建设规划部网站邢台专业网站建设价格
  • 三层架构:解耦 JavaWeb 开发的核心范式
  • MySQL————表的约束
  • 速度达24.3MB/s,最新精简可用版!
  • 分业务采用差异化模式:全面提升 SQL Server 系统的并发性能、可靠性与数据准确性
  • 【Linux】应用层自定义协议与序列化
  • 文件上传漏洞: .htaccess文件
  • 【GD32】软件I2C
  • 温州产品推广网站服务网站建设方案
  • 08-docker综合应用
  • 电商网站建设与运营哦在线图片编辑助手
  • 十一款c++小游戏
  • 15-verilog的延时打拍问题记录
  • skynet.newservice接口分析
  • C# 中 Excel 工作表打印前页面边距的设置方法
  • uniapp学习【vue3在uniapp中语法,使用element】
  • 网站建设的基本流程和技术规范懒人免费建站模板
  • Linux的Ext文件系统:硬盘理解和inode及软硬链接
  • 可靠的媒体发稿网有哪些
  • 鸿蒙剪贴板服务的新特性
  • 上海外贸营销网站建设做app的模板下载网站
  • Linux中Tomcat部署项目
  • kanass入门到实战(16) - 如何管理产品
  • CAT-M:蜂窝物联网的基石与通信工程的精妙平衡
  • Flink 状态模式演进(State Schema Evolution)从原理到落地的一站式指南
  • 网站建设游戏开发专门做物理的网站
  • 计算机网络【第五章-传输层】
  • 打工人日报#20251011