摘要: Jetpack Compose(5)——生命周期与副作用函数 目录一、 Composable 的生命周期二、 Composable 的副作用2.1 SideEffect2.2 DisposableEffect2.3 LaunchedEffect2.4 rememberCoroutineScope2.5 rememberUpdatedState2.6 deriv 阅读全文
posted @ 2024-04-04 00:09 SharpCJ 阅读(68) 评论(0) 推荐(0) 编辑
摘要: Jetpack Compose(4)——重组 目录一、状态变化1.1 状态变化是什么1.2 mutableStateListOf 和 mutableStateMapOf二、重组的特性2.1 Composable 重组是智能的2.2 Composable 会以任意顺序执行2.3 Composable 会并发执行2.4 Composable 会反复 阅读全文
posted @ 2024-04-03 22:55 SharpCJ 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Jetpack Compose(3) —— 状态管理 本文主要讲解了 Compose 中状态的概念。最后做个小结, - Compose UI 依赖状态变化,触发重组,驱动界面更新。 - 使用 remember 和 rememberSaveable 进行状态持久化。remember 保证在 recompose 过程中状态稳定,rememberSaveable 保证 Activity 自动销毁重建过程中状态稳定。 - 状态上提,尽可能将 Stateful 组件转换为 Stateless 组件。 - 视情况使用 Stateful、StateHoler、ViewModel 管理状态。 - 将 LiveData、RxJava、Flow 数据流转换为 State。 阅读全文
posted @ 2024-03-13 00:12 SharpCJ 阅读(188) 评论(0) 推荐(0) 编辑
摘要: Jetpack Compose(2) —— 入门实践 本文通过创建一个 Demo 示例,说明如何使用 Jetpack Compose, 简单介绍了 Jetpack Compose Api 设计原则,以及 Compose 与 View 的互操作性。 阅读全文
posted @ 2024-02-27 00:27 SharpCJ 阅读(277) 评论(0) 推荐(1) 编辑
摘要: Jetpack Compose(1) —— Android 全新的 UI 框架 目录写在前面一、Jetpack Compose 是什么1.1 全新的 Android UI 开发框架1.2 命令式UI 与 声明式UI二、Google 为什么力推 Jetpack Compose2.1 开发效率更高2.2 组合优于继承三、为什么要学习 Jetpack Compose3.1 声明式 U 阅读全文
posted @ 2024-02-27 00:11 SharpCJ 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 如何在 WindowManager.addView 中使用 Jetpack Compose 如何在 WindowManager.addView 中使用 Jetpack Compose 一、引出问题 Android 开发中,很常见的一个场景,通过 WindowManager.addView() 添加一个 View 到屏幕上。Android 最新的视图框架 Jetpack Compose,如何 阅读全文
posted @ 2023-12-25 22:40 SharpCJ 阅读(314) 评论(0) 推荐(0) 编辑
摘要: kotlinx.serialization —— 一个可以取代 Gson 的高效的 Json 解析框架 阅读全文
posted @ 2023-12-11 22:41 SharpCJ 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 一、bug 背景 项目中有下面这样一段代码,在 Android T 版本运行正常,现在适配到 Android U 上之后,运行时 crash 了。。。。 ... values.put(MediaStore.Images.Media.DATA, file.absolutePath) values.pu 阅读全文
posted @ 2023-11-04 11:34 SharpCJ 阅读(8383) 评论(0) 推荐(1) 编辑
摘要: 亲测可行,Android Studio 查看源码出现 Source for ‘Android API xxx Platform’ not found 的解决方法 如标题中的问题,产生的原因就是 SDK 源码目录下找不到对应版本的源码文件。解决方案一般就是下载对应版本的源码文件即可。 这里主要是另一种 阅读全文
posted @ 2023-11-04 11:14 SharpCJ 阅读(415) 评论(0) 推荐(0) 编辑
摘要: Kotlin 基础入门 如果你会 Java, 那么来看一看 Kotlin , 基础入门。 如果你不理解 Kotlin 的lambda 表达式,那么来看一看,帮助你真正理解函数类型,lambda 表达式。 阅读全文
posted @ 2023-09-05 23:39 SharpCJ 阅读(198) 评论(0) 推荐(0) 编辑