技术栈
kotlin
传奇开心果编程
5 小时前
android
·
kotlin
·
移动开发
·
交互
·
android jetpack
·
ui框架
·
声明式ui
【Jetpack Compose娓娓道来】第36课:焦点管理与键盘输入——让遥控器、键盘和输入法都“找得到北”
摘要 :触摸屏时代焦点是隐形的,但换成键盘、遥控器、D-pad 后,焦点就成了用户唯一的“手指”。本文从“遥控器按了没反应”的真实场景出发,讲清 Compose 焦点管理的三个核心概念(焦点、FocusState、FocusRequester),并逐一拆解焦点遍历(focusGroup、focusProperties、onEnter)、焦点恢复(focusRestorer 与自记稳定 ID)、键盘事件(onKeyEvent / onPreviewKeyEvent)、TV 与桌面端 D-pad 导航、输入法
hai_android
6 小时前
android
·
java
·
kotlin
AudioTrack 深度解析:从原理到实战
Android 里播声音的"最低层" API。MediaPlayer/ExoPlayer 都在它之上封装了一层,只有当你需要精确控制采样数据、缓冲区大小和播放延迟时,才会直接面对它。
红尘伴蝶舞
6 小时前
android
·
kotlin
从秒开优化到连环崩溃:深入剖析 ViewPager2 在常驻 DialogFragment 中的复用陷阱与自愈方案
在音视频直播、语聊房等业务场景中,底部的礼物/互动面板通常是一个重度依赖渲染性能的高频交互组件:如果按照常规的 DialogFragment 使用习惯——每次打开都执行 newInstance()、重新解析庞大的布局 XML、重新注册状态监听、重新加载网络列表,会带来两个致命痛点:
YB1375
13 小时前
kotlin
kotlin中闭包特性
在 Kotlin 中,闭包(Closure)是一个非常核心且强大的函数式编程特性。闭包(Closure)的核心概念是:闭包是指一个函数(Lambda 表达式、匿名函数)能够访问并“记住”其外部作用域中的变量,即使外部作用域已经执行完毕,这些变量依然可以被该函数安全地读取或修改。简单说,就是“函数带着它的环境一起走”。
alexhilton
1 天前
android
·
kotlin
·
android jetpack
2027 Android 开发者路线图:学习、面试与 AI
本文译自「Android Developer Roadmap 2027: What to Learn, What Interviews Ask, and Where AI Fits」,原文链接medium.com/proandroidd…,由Mayank Kumar发布于2026年10月30日。
灿飞屋
1 天前
android
·
java
·
开发语言
·
后端
·
python
·
kotlin
·
安卓
Kotlin与Java虚拟机三:控制流
控制流决定了程序往哪走。Kotlin 的控制流有一个核心设计:几乎所有控制结构都是表达式,会返回一个值。这一点和 Java 差别很大,后面写代码你会感受到它带来的简洁。
唐青枫
1 天前
kotlin
Kotlin 对象声明与对象表达式详解
Kotlin 的 Object Declarations and Expressions(对象声明与对象表达式) 是非常重要的语言特性,主要用于实现单例、匿名对象、伴生对象,以及临时的接口实现。
灿飞屋
1 天前
java
·
python
·
kotlin
·
安卓
·
android jetpack
Kotlin与Java虚拟机四:函数
函数是 Kotlin 的一等公民。这一章讲函数怎么声明、参数怎么传、有哪些 Java 没有的写法。后面第 5 章讲 Lambda 和高阶函数,那是函数作为参数传递的玩法,本章先把函数本身讲清楚。
金銀銅鐵
2 天前
jvm
·
后端
·
kotlin
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
同样是打印一行字,Java 编译出 417 字节的 class,Kotlin 编译出 631 字节。从后者可以看到 Kotlin 编译器所做的事情:文件门面类、合成桥方法、@Metadata 注解,以及一条纯粹为了调整操作数栈而生成的 swap 指令。
Nerd(BUG版)
3 天前
学习
·
安全
·
kotlin
KMP学习day4--Kotlin空安全与泛型
null 引用是 1965 年 Tony Hoare 在设计 ALGOL W 时随手引入的,几十年后他自己道歉称其为「十亿美元的错误」。Java 程序员对 NullPointerException 再熟悉不过:线上崩溃排行榜常年第一。ArkTS 则从语言层面禁用了 null,用 undefined + 可选链来规避。
Nerd(BUG版)
4 天前
开发语言
·
学习
·
kotlin
KMP学习day5--Kotlin Flow异步流基础
在上一节协程入门里,我们用 suspend fun 一次性返回了一个结果。但真实开发中大量数据不是"一个值",而是"一段时间内陆续到来的一串值":传感器每秒上报一次读数、聊天室不断收到新消息、股票行情持续推送。用挂起函数只能反复调用、自己攒列表,写起来笨拙还容易出错。Kotlin 官方为这种场景给出的标准答案就是 Flow——协程世界里的异步数据流。本文把 Flow 的核心概念、常用操作符,以及它和 suspend fun 的边界一次讲清楚。
灿飞
4 天前
java
·
kotlin
Kotlin与Java虚拟机八:控制流与 when:卫语句、上下文相关解析与穷尽性
本章目标在 Kotlin 里,几乎所有构造都返回值:唯一的例外:for / while / do-while 循环是语句(返回 Unit),因为它们没有有意义的"值"。
灿飞
5 天前
java
·
kotlin
Kotlin与Java虚拟机七:空安全:把十亿美元的错误消灭在类型系统里
本章目标Tony Hoare 在 2009 年把 null 引用称为他的"十亿美元错误"(他在 1965 年为 ALGOL W 引入了 null)。
俩个逗号。。
7 天前
android
·
开发语言
·
kotlin
Kotlin flow 详解
flow是kotlin提供的异步数据流api,可以按照顺序依次发送多个值,写法和RxJava很像。flow分成两种类型,冷流和热流:
灿飞
7 天前
java
·
kotlin
Kotlin与Java虚拟机六:基础与类型系统:一切皆对象,但对象有代价
本章目标🧪 实验 6-1:用 JOL 量出真实占用JDK 27 实测输出(紧凑对象头默认开启):5 倍差距。 而且这不只是内存问题:
alexhilton
7 天前
android
·
kotlin
·
android jetpack
提升 Android Compose 页面的流畅度
本文译自「Improving the Smoothness of Android Compose Screens」,原文链接proandroiddev.com/improving-t…,由@ruyouwei发布于2026年10月22日。
灿飞
7 天前
kotlin
Kotlin与Java虚拟机四:一段代码的完整旅程
本章目标 这是全书的脊柱章。我们跟着一段真实代码,走完从"你敲下回车"到"CPU 执行机器指令"的全部七个阶段。 走完这一趟,后面所有章节都有了坐标系:讲 GC 时你知道对象在哪一步被分配;讲 JIT 时你知道它接手的是谁;讲协程时你知道状态机是在哪一步生成的。
Kapaseker
8 天前
android
·
kotlin
Kotlin 2.5 Value Class 终于能放多个属性了
在 Kotlin 2.5.0-Beta2 之前,内联值类(value class)可以为单个值定义自定义的包装类型。如果类型需要多个属性,就只能使用普通类或数据类。
传奇开心果编程
8 天前
android
·
kotlin
·
移动开发
·
android jetpack
·
ui框架
·
开发范式
·
声明式ui
【Jetpack Compose娓娓道来】第29课:状态容器与UI事件建模——把“散装状态”变成“可穷举的契约”
第30到33课,我们把架构的零件组装好了:ViewModel是大脑,Repository是管家,UseCase是食谱,Hilt是装配线。现在大脑里存着状态,但状态长什么样?
我是唐青枫
10 天前
开发语言
·
kotlin
Kotlin Inheritance(继承)详解:语法、原理、实战 Demo
Kotlin 的继承(Inheritance)和 Java、C# 的面向对象继承思想基本一致,但在语法和设计理念上存在几个重要区别。