Jetpack 系列(3)—— 为什么 Activity 都重建了 ViewModel 还存在?

Jetpack 系列(3)—— 为什么 Activity 都重建了 ViewModel 还存在?

1. 认识 ViewModel1.1 为什么要使用 ViewModel?ViewModel 的作用可以区分 2 个维度来理解:1、界面控制器维度: 在最初的 MVC 模式中,Activity / Fragment 中承担的职责过重,因此,在后续的 UI 开发模式中,我们选择将 Activity / ...

Jetpack:使用 ActivityResult 处理 Activity 之间的数据通信

前言本文先介绍ActivityResult的基本使用,最后会通过源码来探讨背后的原理。在Android中,我们如果想在Activity之间双向传递数据,需要使用startActivityForResult启动,然后在onActivityResult中处理返回,另外申请权限也是类似的步骤。但是这样的处...

【Jetpack】学穿:Activity Results API(下)

【Jetpack】学穿:Activity Results API(下)

② Fragment同样跟下 registerForActivityResult():最终调用 prepareCallInternal():思路也很简单,想办法拿到 宿主Activity中的ActivityResultRegistry实例,调它的 register() 拿到返回的 ActivityR...

【Jetpack】学穿:Activity Results API(中)

【Jetpack】学穿:Activity Results API(中)

挑两个协议看看具体代码实现,先是 StartActivityForResult:返回类型ActivityResult实现了Parcelable序列化接口,定义了需要用到的两个字段:mResultCode 和 mData。接着是 TakePicturePreview:所以 ActivityResult...

【Jetpack】学穿:Activity Results API(上)

【Jetpack】学穿:Activity Results API(上)

0x1、引言不是什么新玩意了,恰逢最近拆公司项目的BaseFragment时看到介个:下划线?Deprecated?点开源码看下啥原因,有啥替代方案:注释说这种写法out了,可在 ActivityResultContract 中传入一个 RequestMultiplePermissions 对象&a...

【JetPack】数据绑定 DataBinding 简介 ( 使用要求 | Gradle 版本 | 定义数据类 | 定义数据绑定布局 | Activity 数据绑定 | 绑定类生成规则 )(二)

3 . 定义实际的布局 : 定义与 <data> 标签平级的布局组件根标签 , 这个布局组件就是原来的根视图 ; 之后的内容就一样了 , 在根视图中 , 定义各种用于 UI 交互的组件 ;<?xml version="1.0" encoding="utf-8"?> <!...

【JetPack】数据绑定 DataBinding 简介 ( 使用要求 | Gradle 版本 | 定义数据类 | 定义数据绑定布局 | Activity 数据绑定 | 绑定类生成规则 )(一)

【JetPack】数据绑定 DataBinding 简介 ( 使用要求 | Gradle 版本 | 定义数据类 | 定义数据绑定布局 | Activity 数据绑定 | 绑定类生成规则 )(一)

I . 数据绑定 简介1 . 数据绑定作用 : 不使用 Java 代码 , 直接在 layout 布局文件 中完成组件的 文本 , 图片 等数据 的设置 ;2 . 数据绑定 与 视图绑定 : 视图绑定仅仅是替代了 Java 代码中的 findViewById ( ) 操作 , 比视图绑定更进一步 ,...

【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )

【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )

文章目录I . 视图绑定 ( ViewBinding ) 界面的两种方式II . Activity 界面中 应用 视图绑定 ( ViewBinding )III . Dialog 对话框界面中 应用 视图绑定 ( ViewBinding )IV . 自定义组件 应用 视图绑定 ( ViewBindi...

【JetPack】为现有 Android 项目配置视图绑定 ( ViewBinding ) 模块 ( 视图绑定不影响传统布局操作 | 视图绑定类关联 Activity | 视图绑定类本质 )(二)

IV . 视图绑定 ( ViewBinding ) 关联 Activity 界面1 . 两种获取组件方式 : 上面的示例代码中 , 分别使用 findViewById(R.id.text_view) 获取的组件 和 ActivityMainBinding 获取组件 ; 但是使用 ActivityMa...

【JetPack】为现有 Android 项目配置视图绑定 ( ViewBinding ) 模块 ( 视图绑定不影响传统布局操作 | 视图绑定类关联 Activity | 视图绑定类本质 )(一)

【JetPack】为现有 Android 项目配置视图绑定 ( ViewBinding ) 模块 ( 视图绑定不影响传统布局操作 | 视图绑定类关联 Activity | 视图绑定类本质 )(一)

I . 为现有项目配置 视图绑定 ( ViewBinding ) 应用1 . 视图绑定模块默认为全部布局生成绑定类 ; 视图绑定 ( ViewBinding ) 模块一旦启用 , 应用的全部布局都会默认自动生成一个视图绑定类 , 如果生成了视图绑定模块 , 是否对于已经使用的 findViewByI...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

jetpack activity相关内容