- 博客(217)
- 资源 (26)
- 收藏
- 关注
原创 Android 组件化学习项目(Kotlin + AGP8+)
这是一个基于 Kotlin 和 AGP8+ 的 Android 组件化学习项目,通过两个业务组件(商城和用户)对比讲解组件化实现方式。项目包含普通组件化(component-mall)和API + Impl分离(user-api + user-impl)两种模式,以及公共模块、服务管理、组件路由等核心功能。重点演示了如何通过接口解耦调用方与具体实现,避免直接依赖Activity类名,适合Android开发者学习组件化基础与企业级架构实践。项目结构清晰,包含主工程、公共模块和业务组件模块,通过Gradle依赖
2026-06-04 17:18:45
708
4
原创 Android 组件化概念和特征
Android组件化实践与核心特征 摘要: 组件化是一种将App拆分为可独立交付业务单元的开发模式。与模块化不同,组件化强调: 业务解耦 - 通过api/impl分离实现调用与实现的隔离 独立交付 - 可发布为aar包供其他项目复用 契约通信 - 通过路由/接口/事件实现松耦合交互 典型组件化架构包含: api模块:定义接口和路由 impl模块:具体实现(可隐藏) 动态切换application/library模式 远程仓库发布能力 组件化解决了传统单体架构的编译慢、复用难等问题,特别适合大型项目和多团队协
2026-06-04 09:23:12
464
原创 Android 项目模块化与 Feature 组件实践
本文介绍了 Android 项目模块化与组件化在 Now in Android (NIA) 项目中的实践。主要内容包括: 模块化与组件化的区别: 模块化指按职责拆分为多个 Gradle 模块(app/feature/core) 组件化是 feature 层的额外约定,通过 api+impl 分离和导航契约实现功能解耦 项目结构: app 模块作为入口组装各功能 feature 模块按业务拆分(如 foryou/interests 等),采用 api+impl 设计 core 模块提供公共能力(数据、UI、导
2026-06-03 15:54:23
689
原创 Android app 项目:模块打包 AAR 教程
本文档详细介绍了如何创建和维护一个名为 zcclib 的 Android Library 模块,并将其打包为 AAR 文件供其他工程使用。主要内容包括: 项目结构:展示了包含 app(宿主应用)和 zcclib(库模块)的标准工程配置。 创建库模块:提供了两种方式(Android Studio向导和手动创建)来新建Android Library模块,并说明了必要的配置步骤。 关键配置详解: 库模块必须使用com.android.library插件 必须设置namespace且与包名一致 不应启用资源压缩(s
2026-06-01 17:35:26
438
原创 Android Tinker Demo 使用手册
**本文档详细介绍了Android Tinker热修复Demo的使用方法,主要包括以下内容: Demo功能:支持资源热修复(strings/colors/dimens/drawable/layout)、Dex代码热修复、AAR包热修复,提供补丁加载与清除功能。 操作流程: 基准包发布(首次/发新版时) 修改代码后生成补丁 推送补丁到设备并加载 冷启动验证效果 可清除补丁回退到基准版本 资源热修复重点: 详细说明了strings.xml、colors.xml、dimens.xml、drawable和layou
2026-06-01 15:03:25
429
原创 Android Tinker 热修复集成与使用指南 1.9.15.2
本文介绍了Tinker热修复框架的集成与使用指南,主要包含以下内容: 功能支持:验证了Dex、资源、so库和本地AAR的热修复能力,不支持新增Manifest组件。 环境要求:需JDK 11+、Android SDK 34和Gradle 8.7,指定了Tinker 1.9.15.2与AGP 8.2.2的版本组合。 集成步骤: 配置根工程和应用模块的Gradle依赖 实现壳Application和代理ApplicationLike 配置必要的Manifest元数据和服务 处理多Dex和混淆规则 补丁配置:详细
2026-06-01 11:27:54
821
原创 企业级 Jetpack Compose 项目(入门版)最佳结构
这篇文章介绍了企业级Jetpack Compose项目的最佳入门结构方案。主要内容包括: 推荐技术栈:包含Kotlin、Compose、ViewModel、Retrofit等现代Android开发技术 目录结构设计:采用单module方案,包含api、base、data、ui等标准化目录 渐进式架构路线:从单module开始,逐步过渡到多module企业架构 核心规范:强调UI状态统一管理、组件化开发、Navigation路由管理等企业实践 常见误区:避免Compose开发中的典型错误做法 文章特别适合Co
2026-05-25 15:46:01
454
原创 Android 动画对比指南:View 系统 vs Jetpack Compose
Android动画系统对比摘要 本文对比了Android View系统和Jetpack Compose的动画实现方式: View系统动画: 包含补间动画(仅视觉效果)和属性动画(实际改变属性) 需要手动管理动画生命周期 代码冗长,XML与代码分离 支持LayoutTransition和Activity/Fragment转场动画 Jetpack Compose动画: 声明式状态驱动,自动重绘 提供animate*AsState系列API简化动画实现 内置AnimatedVisibility组件处理显示/隐藏动
2026-05-22 16:00:44
471
原创 Jetpack Compose 动画使用指南
Jetpack Compose动画指南摘要:本文介绍了6种核心动画API:1) animate*AsState用于单值过渡(颜色、尺寸等);2) AnimatedVisibility实现显示/隐藏动画;3) updateTransition协调多属性动画;4) Crossfade处理页面切换;5) AnimatedContent实现内容替换动画;6) 手势与动画结合。每种API都配有代码示例和适用场景说明,涵盖淡入淡出、滑动、缩放等常见效果,帮助开发者快速实现流畅的UI动画效果。
2026-05-22 15:57:25
519
原创 Jetpack Compose 底部导航实战教程(完整版)
本文介绍了使用Jetpack Compose实现底部导航的完整教程。项目采用模块化架构,包含5个Tab页(首页、发现、学习、消息、我的),支持图标切换、高亮联动、返回栈控制等核心功能。技术栈基于Kotlin 1.9.24和Compose BOM 2024.10.00,使用Navigation Compose实现路由管理,通过ViewModel连接数据层。文章详细讲解了从项目结构、依赖配置到具体实现的完整流程,包括嵌套导航、Deep Link、Badge角标等进阶功能,并提供了状态管理、主题适配和常见问题排查
2026-05-22 09:28:46
590
原创 Jetpack Compose Navigation 入门教程
Navigation 是 Android 的一个 Jetpack 库,专门负责在应用内部做页面跳转。在传统的 View 系统里,导航靠Intent;Compose 时代就靠。去哪个页面?→ 用route(路线)标识每个页面怎么去?→ 用谁来显示?→ 用NavHost,它像一幅地图,告诉你当前该显示哪个页面val route: String // 唯一标识这个页面的字符串Route 可以带参数,让同一个页面根据不同参数显示不同内容。显示 Checking 账户详情,显示另一个。
2026-05-21 09:34:48
389
原创 Jetpack Compose 主题切换指南
Jetpack Compose 主题切换指南摘要: 核心原理是利用 Compose 的响应式机制,通过 MaterialTheme 自动传播主题变化。基础实现步骤包括:1) 在 Theme.kt 中定义浅色/深色配色方案并暴露主题控制参数;2) 在 MainActivity 中管理主题状态;3) 通过回调函数传递主题切换事件;4) 在设置页面添加切换开关。进阶方案可使用 ViewModel 集中管理主题状态,通过 StateFlow 实现跨组件状态共享。关键点是所有 UI 组件都应使用 MaterialTh
2026-05-19 15:58:29
317
原创 Jetpack Compose Material 3 主题设置完全指南
本文介绍了如何在Jetpack Compose中实现Material 3主题设置。主要内容包括:Material 3的三大支柱(配色方案、排版系统和形状系统);5种关键颜色的定义与使用规则;推荐使用Material主题构建器生成配色方案;详细代码实现步骤,包括颜色值定义、浅色/深色配色方案创建以及主题应用方法。开发者可通过本文快速掌握Material 3主题在Android应用中的完整实现流程。
2026-05-19 15:51:17
505
原创 Jetpack Compose 状态提升(State Hoisting)完全指南
Jetpack Compose状态提升指南:将子组件状态移至父组件,实现单一事实来源。通过示例展示问题代码(状态藏在子组件导致无法重组)与解决方案(父组件持有状态,子组件接收状态和回调)。状态提升三大优势:组件可复用(同一组件不同状态)、可测试(独立预览不同状态)、可控制(父组件统一管理)。核心口诀:状态应放在与其最相关的层级,单个组件用放内部,多个组件共享则提升到共同父级。
2026-05-19 14:53:21
353
原创 第七章:状态管理实战与架构总结
本章通过首页、个人中心和详情页三个典型场景,完整演示了MVVM架构下的状态管理实践。首页采用Repository+UiState模式处理加载、搜索和排序;个人中心实现本地状态快速更新(如通知开关);详情页则展示带参数的ViewModel使用。三者在状态管理上各有侧重:首页侧重网络数据流,个人中心侧重本地状态响应,详情页侧重参数传递与缓存读取,共同构成了完整的应用状态管理体系。
2026-05-18 17:01:06
131
原创 第六章:UI组件与Material3主题
本文介绍了Jetpack Compose中Material3主题的配置与UI组件开发。主要内容包括: Material3主题配置:支持动态颜色(Android 12+)和深色模式自动切换,通过MaterialTheme设置颜色方案和排版样式。 常用UI组件实现: ArticleItem卡片组件:包含图片、标题和描述 ArticleImage图片组件:区分预览和运行环境 BannerView轮播图:使用HorizontalPager实现自动轮播 ProfileAvatar头像组件:圆形裁剪和预览处理 主题应用
2026-05-18 16:35:19
162
原创 第五章:数据层—网络请求与Repository
本文介绍了Android开发中数据层的实现方案,重点讲解了Retrofit网络请求框架的使用、数据模型定义和Repository模式的应用。内容包括:通过Retrofit构建ApiService接口定义网络请求,使用GsonConverterFactory解析JSON数据;定义数据模型类与API响应包装类;采用Repository模式统一管理数据来源,实现内存缓存策略;在ViewModel中通过协程调用Repository获取数据,并处理可能的异常情况。文章完整呈现了从网络请求到UI状态管理的完整数据流处理
2026-05-18 16:34:36
224
原创 第四章:NavigationCompose页面导航
本文介绍了使用 Navigation Compose 实现 Jetpack Compose 页面导航的完整方案。主要内容包括:1) 通过 AppRoutes 对象统一管理路由常量;2) 使用 NavHost 和 composable 函数构建导航图;3) 实现页面跳转和参数传递机制;4) 处理路由参数类型声明与获取;5) 导航最佳实践如路由常量化、参数类型声明等。文章提供了从路由定义到参数传递的完整流程说明,并包含代码示例和关键点总结,帮助开发者实现声明式导航解决方案。
2026-05-18 16:33:59
182
原创 第三章:MVVM 架构与 ViewModel
本文介绍了MVVM架构在Jetpack Compose中的应用。主要内容包括:MVVM与MVC架构对比,ViewModel的生命周期管理,使用密封接口定义UiState,单向数据流模式实现数据绑定,以及三个典型页面的ViewModel实现差异。重点强调了ViewModel的正确使用方式,如避免持有Context、使用viewModelScope协程作用域、状态不可变暴露等最佳实践。通过ViewModel实现业务逻辑与UI解耦,提升代码可测试性和可维护性。
2026-05-18 16:33:11
447
原创 第二章:Compose入门—声明式UI编程
Jetpack Compose 是一种声明式 UI 框架,使用 Kotlin 代码替代传统 XML 布局。核心特点包括:通过 @Composable 函数构建 UI,支持嵌套组合;Modifier 修饰符配置组件属性;响应式状态管理自动触发 UI 重组;提供 Material3 组件和 LazyColumn 高性能列表;支持 @Preview 实时预览。相比传统 View 系统,Compose 具有代码更简洁、开发效率更高、维护性更好的优势。
2026-05-18 16:30:50
366
原创 第一章:项目概述与环境搭建
《MyFirstCompose项目开发指南》摘要:本文介绍了基于Jetpack Compose的Android入门项目,采用单Activity+MVVM架构,包含商品列表、个人中心和详情页三大功能模块。技术栈涵盖Compose UI、Retrofit网络请求、Navigation导航和Coil图片加载等核心组件,通过Repository模式实现数据管理。项目结构清晰,包含数据层、UI组件和主题配置,最低兼容Android 7.0,适合Compose初学者快速上手声明式UI开发。
2026-05-18 16:28:11
228
原创 Compose 教学项目
本文档汇总了Compose项目的学习资源与技术要点。主要内容包括:官方文档链接(Jetpack Compose、Navigation、Material3等);项目依赖版本(Compose BOM 2024.09.00、Navigation 2.7.7等);MVVM架构设计(ViewModel管理状态、Repository模式);关键技术点(Composable函数、Navigation导航、Retrofit网络请求);项目文件结构说明;以及分阶段的学习路径建议(从基础到实战)。
2026-05-18 16:26:22
1765
原创 Kotlin 协程面试题大全(Android 高频版)
Kotlin协程面试高频问题解析:协程是轻量级线程,通过挂起/恢复机制实现异步编程。核心原理包括Continuation状态机、CPS转换和协作式取消。关键区别:suspend不自动开线程,delay不阻塞线程,launch/async返回类型不同。Android开发中推荐使用viewModelScope,避免GlobalScope。Retrofit通过Continuation实现suspend支持,Room查询适合Flow。StateFlow用于UI状态,SharedFlow处理事件。Compose中需使
2026-05-14 17:17:38
1192
原创 Room + Flow 完整教程(现代 Android 官方方案)
【Room + Flow 现代 Android 数据库架构指南】 本文系统介绍了 Room 与 Flow 结合的现代 Android 开发方案。核心亮点在于通过 Flow 实现数据库变化到 UI 的自动刷新机制,无需手动通知更新。文章详细解析了: Room 作为官方 ORM 框架的优势 Flow 响应式特性与数据库的天然契合 完整实现流程包括 Entity 定义、DAO 接口设计 自动更新原理(InvalidationTracker) 与 ViewModel、Compose 的集成方案 推荐使用 colle
2026-05-14 15:18:27
475
原创 Jetpack Compose + 协程(Coroutine)完整实战教程
Jetpack Compose与协程深度整合是现代Android开发的核心范式。本文系统讲解了Compose中协程的关键应用场景和技术要点: 核心机制:LaunchedEffect实现生命周期感知的协程管理,自动处理创建和取消 关键API:包括rememberCoroutineScope、collectAsState等,分别适用于自动任务和用户交互场景 架构模式:推荐ViewModel+StateFlow的组合,实现响应式数据流 最佳实践:避免在UI层直接处理数据逻辑,保持关注点分离 高级特性:produc
2026-05-14 14:27:34
359
原创 Retrofit + Kotlin 协程(Android 实战教程)
摘要:Retrofit与Kotlin协程在Android开发中的实践 本文介绍了Android开发中最主流的网络请求方案:Retrofit + Kotlin协程 + MVVM架构。主要内容包括: Retrofit基础配置与协程集成 使用suspend函数简化异步请求 线程切换与错误处理最佳实践 MVVM架构分层实现(Repository模式) 项目级封装方案(ResultState密封类) Flow与Retrofit的现代组合方案 文章详细讲解了从基础配置到项目实战的完整流程,重点突出了协程如何让网络请求代
2026-05-14 11:30:47
569
原创 Kotlin 协程底层原理(Continuation)详解
Kotlin协程底层原理核心是Continuation(续体)和状态机机制。协程通过Continuation对象保存执行状态(包括label标记、局部变量和执行位置),实现挂起和恢复功能。编译器会将suspend函数转换为带Continuation参数的状态机,通过label记录执行阶段。协程挂起时释放线程资源,恢复时根据Continuation保存的状态继续执行。这种机制使得协程比线程更轻量,一个线程可运行数十万协程。关键点包括:suspend函数的CPS转换、resumeWith恢复机制、协作式取消以及
2026-05-14 11:07:52
471
原创 Kotlin 协程与挂起函数(Coroutines & suspend)入门到实战
Kotlin协程入门与实战指南 本文系统介绍了Kotlin协程的核心概念和使用方法。协程是一种轻量级的异步编程解决方案,相比传统线程具有创建成本低、切换开销小等优势。文章重点解析了suspend函数的本质(可暂停而不阻塞线程),并对比了Thread.sleep与delay的关键区别。 主要内容包括: 协程基础:launch启动协程、runBlocking测试使用 核心机制:挂起函数原理、协程调度器分类 实用技巧:async/await获取返回值、withContext线程切换 Android最佳实践:lif
2026-05-14 10:06:56
448
原创 Kotlin Flow 完全指南
Kotlin Flow 完全指南摘要(149字): Flow是Kotlin的异步数据流解决方案,相当于协程版RxJava,但更轻量简洁。核心概念是emit()发送和collect()接收数据,必须配合协程使用。StateFlow作为LiveData升级版,适合保存UI状态;SharedFlow则用于一次性事件。关键操作符包括map转换、filter过滤、debounce防抖等,特别适合搜索框场景。实战中常用flowOn切换线程,配合catch处理异常。MVVM架构下,Flow+StateFlow已成为现代A
2026-05-13 17:38:27
661
原创 Kotlin 内联函数(inline)一篇看懂
Kotlin 的 inline 本质上只有一句话:把函数代码"复制"到调用处,而不是正常函数调用。
2026-05-13 17:24:39
629
原创 Kotlin 习题集 · 基础篇
定义一个函数greet,接受String类型的name参数,返回。name!// 单表达式函数可以简写name!
2026-05-12 17:23:45
564
原创 Kotlin ViewModel
场景推荐方案简单界面,数据简单ViewModel + LiveData(够用)复杂协程逻辑Java 项目ViewModel + LiveData(StateFlow 不支持 Java)Compose 项目ViewModel + StateFlow(LiveData 在 Compose 中不推荐)ViewModel 是必须的,LiveData 是可选的。根据项目技术栈和复杂度选择。
2026-05-11 17:27:35
296
原创 JetPack Compose 性能优化专项(十)
*JetPack Compose 性能优化最佳实践1. 状态管理- 使用不可变对象(data class)- 使用 @Stable/@Immutable 注解- 状态提升,子组件无状态- 使用 derivedStateOf 减少重组2. 组件设计- 小组件优于大组件- 合理抽取,按状态依赖拆分- 使用 lambda 延迟执行3. 对象创建- remember 缓存 Modifier、颜色、lambda- 避免在 Composable 中创建对象。
2026-05-09 10:44:45
168
原创 JetPack Compose 业务进阶 & 工程化(九)
/ 通用标题栏) {TopAppBar(Icon(contentDescription = "返回"},// 使用示例Scaffold(topBar = {title = "详情",IconButton(onClick = { /* 分享 */ }) {Icon(Icons.Default.Share, contentDescription = "分享")IconButton(onClick = { /* 更多 */ }) {
2026-05-09 10:43:46
88
原创 JetPack Compose 动画模块(八)
/ 带自定义动画规格Box(expanded }) {Column {Text("标题")Text("展开的内容 1")Text("展开的内容 2")Text("展开的内容 3")// 多个动画组合Card(expanded }) {Row() {Icon(Column {Text("信息标题")Text("详细信息内容...")// 自定义进入/退出动画),) {
2026-05-09 10:42:12
85
原创 JetPack Compose 样式、主题、适配(七)
/ 自定义 Typography),),),),// 自定义 Shapes// 主题入口) {// Android 12+ 动态颜色} else {
2026-05-09 10:41:00
114
原创 JetPack Compose 输入与表单模块(六)
/ Toast 状态管理>(null)// 自定义 Toast 组件) {= null) {// 自动消失Box(},) {Card(),) {Text(// 使用自定义 ToastBox {// 主内容Column {Button(onClick = { viewModel.showToast("操作成功") }) {// Toast。
2026-05-09 10:38:53
226
原创 JetPack Compose 弹窗、菜单、交互组件(五)
/ Toast 状态管理>(null)// 自定义 Toast 组件) {= null) {// 自动消失Box(},) {Card(),) {Text(// 使用自定义 ToastBox {// 主内容Column {Button(onClick = { viewModel.showToast("操作成功") }) {// Toast。
2026-05-09 10:38:06
339
1
Android调用wps office
2016-09-05
java、Android生成word文档,动态添加数据
2016-09-06
androi解压缩文件或文件夹
2016-08-10
清除文件中的SVN文件
2017-03-06
Android应用微信开发应用签名获取工具
2015-04-15
Android上传文件到.net
2016-11-01
MVP框架demo
2018-09-02
制作,合并chm软件
2017-04-21
httpcomponts-client-4.3.6-bin.zip
2016-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅