android jetpack

传奇开心果编程8 小时前
android·flutter·ios·swiftui·移动开发·harmonyos·android jetpack
组合优先开发范式:从汉字造字原理到声明式UI组件组合思想摘要:组合优先(Composition over Inheritance)是现代声明式UI框架的核心范式,也是 Jetpack Compose、Flutter、SwiftUI 的统一底层设计逻辑。国内开发者往往熟练掌握框架语法,却难以真正吃透「弃继承、用组合」的底层思维。本文以汉字造字原理为认知跳板,依托「有限原子,组合生繁」的通用系统规律,类比迁移、逐层拆解声明式UI的组件组合思想。通过对比传统继承式UI的固有缺陷,系统讲解原子化设计、树形组件结构、Modifier链式能力组合、状态分层架构等核心机制,
JMchen1 天前
架构·kotlin·android jetpack
【Jetpack 内核实战 08 】:组件整合——DataStore + Room 构建离线优先架构各位 Android 开发者好,欢迎来到《Jetpack 内核实战》系列第 8 篇。 在前七篇中,我们分别掌握了 ViewModel、LiveData、协程、Room、DataStore 五大核心组件,实现了结构化数据持久化与轻量配置存储。但各组件目前处于分散状态,没有形成统一的架构体系,也没有解决「无网络环境下 App 无法正常使用」的核心痛点。 本篇我们将 Room 与 DataStore 深度整合,构建离线优先(Offline-First)架构,通过分层数据管理、Flow 多源合并、统一依赖容器三大
Android打工仔1 天前
android·android jetpack
Compose 中何时该用 padding,何时该用 offset在 Jetpack Compose 中,padding 和 offset 都能让控件看起来“不在原来的位置”。但它们处理的是两类不同的问题:
hai_android7 天前
android·java·android jetpack
Android 设备锁定:Kiosk Mode 实战这本质上是一个"Android 设备所有权管理"问题。本文记录从零实现的过程。让目标 app 通过 ADB 命令成为 Device Owner,接管设备的 launcher、Kiosk 锁定、状态栏控制等高级权限。逾期时:
stevenzqzq7 天前
android·android jetpack
Android Jetpack Compose 列表开发指南:为什么你不需要再为底部 Item 写额外间距在进行移动端或车机端界面开发时,列表(List)或网格(Grid)的底部留白(Bottom Padding)是一个极其常见的视觉需求。优雅的底部留白可以让用户在滑动到列表最末尾时,内容不被系统底栏遮挡,提供更好的视觉呼吸感。
JMchen8 天前
kotlin·android studio·android jetpack
【Jetpack 内核实战 02】ViewModel:生命周期管理与数据持久化核心实战在上一篇中,我们完成了 Jetpack 专栏的环境搭建与工程初始化,统一了 Kotlin + Gradle Kotlin DSL + Version Catalog 的现代开发规范。从本篇开始,我们将正式进入核心组件的深度实战。
alexhilton9 天前
android·kotlin·android jetpack
Room Fts4:全文搜索替代 SQL LIKE本文译自「Scaling Android Search: Room @Fts4 vs SQL LIKE」,原文链接proandroiddev.com/scaling-and…,由Oğuzhan Aslan发布于2026年10月11日。
hai_android9 天前
android·kotlin·android jetpack
把 Android App 打包成系统应用(System App)只有被平台私钥签名的 APK,放到 /system/priv-app/ 下并设置 android:sharedUserId="android.uid.system",才能成为真正的系统应用,获得 READ_PRIVILEGED_PHONE_STATE、MOUNT_UNMOUNT_FILESYSTEMS 等特权权限。
JMchen9 天前
android·kotlin·android jetpack
【Jetpack 内核实战 01】开篇:Jetpack 组件全家桶核心逻辑与专栏完整规划各位 Android 开发者好,欢迎来到《Jetpack 内核实战:ViewModel + LiveData + Room + DataStore 通关指南》系列专栏。 如果你还在为屏幕旋转导致数据丢失头疼,为 SharedPreferences 的 ANR 问题烦心,为项目代码耦合严重难以维护发愁,那么这套专栏正是为你准备的。我们将从 0 到 1 拆解 Google 官方推荐的架构组件,以一个完整的记事本 App 为实战载体,带你彻底吃透 ViewModel、LiveData、Room、DataStor
hai_android9 天前
android·kotlin·android jetpack
从零实现一个支持跨进程(IPC)的自定义 Toast本文基于一个真实 MVVM 项目(Kotlin + ViewBinding),完整讲解如何手写一个"长得像 Toast、但完全可控、还能跨进程调用"的消息提示组件。 全文采用 代码 + 逐行注释 的方式展开,所有代码均可直接运行。
hai_android12 天前
android·kotlin·android jetpack
LiveEventBusCore 跨 Activity 通讯源码解析源码版本:JeremyLiao / LiveEventBus(master 分支) 核心文件:Activity A 登录成功后需要通知 Activity B 刷新用户头像,常规做法是:
我命由我1234515 天前
android·java·开发语言·android studio·android jetpack·android-studio·android runtime
Android 广播 - 组件通信
alexhilton16 天前
android·kotlin·android jetpack
为什么你的 LazyColumn 仍然卡顿本文译自「Why Your LazyColumn Is Still Janky」,原文链接proandroiddev.com/why-your-la…,由Subhankar Bag发布于2026年9月22日。
hai_android16 天前
android·android studio·android jetpack
Android 嵌套滑动冲突:内部拦截 vs 外部拦截实战嵌套滑动冲突的解法可以归为两类:外部拦截(父 View 在 onInterceptTouchEvent 里决定要不要抢事件)和 内部拦截(子 View 在 onTouchEvent 里调用 requestDisallowInterceptTouchEvent 决定是否上交事件)。
alexhilton20 天前
android·kotlin·android jetpack
模块化Jetpack Compose架构本文译自「Modular Jetpack Compose: Don’t Leave Your Architecture to Code Review」,原文链接medium.com/proandroidd…,由Kanan Yusubov发布于2026年10月2日。
hai_android20 天前
android·android studio·android jetpack
InputStage 责任链核心执行流程InputStage 是 Android 输入事件分发中的责任链处理器,输入事件从链头开始依次经过每个 Stage,每个 Stage 决定自己处理还是传给下一个。
传奇开心果编程21 天前
学习·flutter·react native·ui·swiftui·android jetpack
【现代声明式UI学与练】第4课 列表渲染与 key——如何高效渲染列表、key 的作用、列表重排时的状态保持一、本课目标学完这一课,你要建立六个认知:本课核心线索:二、列表渲染的本质2.1 一句话说透列表渲染就是"数组状态到 UI 描述数组的映射":
传奇开心果编程22 天前
学习·flutter·react native·ui·swiftui·android jetpack
【现代声明式UI学与练】第7课 组件通信——父传子、子传父、跨层级通信、状态提升与 Context一、本课目标学完这一课,你要建立七个认知:本课核心线索:二、组件通信的本质2.1 一句话说透组件通信是"状态在组件树中流动"的方式。
传奇开心果编程22 天前
学习·flutter·react native·ui·性能优化·swiftui·android jetpack
【现代声明式UI学与练】第9课 性能优化——渲染优化、列表优化、内存优化、启动优化学完这一课,你要建立七个认知:本课核心线索:贯穿全文的核心问题:渲染优化的本质:减少不必要的函数重执行,减少不必要的 UI 描述对比。