kotlin

唐青枫3 小时前
kotlin
Kotlin 运算符重载详解:为什么 a += b 有时改对象,有时换对象?同样一行 Kotlin 代码:有时会直接修改 a 指向的对象,有时却会先计算 a + b,再把新对象赋值给 a。
plainGeekDev10 小时前
android·java·kotlin
Gson → kotlinx.serializationGson 基于反射,Kotlin 的 data class 用 Gson 会碰到 null 安全问题——Gson 可以绕过 Kotlin 的非 null 检查给一个字段设为 null。Kotlin 默认参数也不被 Gson 识别。
CYY951 天前
android·kotlin
Compose 入门篇Jetpack Compose 是 Google 2019 年 I/O 大会上公布的声明式 UI 框架,2021 年 7 月发布 1.0 正式版,2024 年 Compose Multiplatform 1.6+ 已经把桌面端稳定支持了。截至 2025 年,Google Play 上 Top 1000 应用里有超过 40% 接入了 Compose——Gmail、Play Store、Twitter、Airbnb 全在用了。
黄林晴1 天前
android·kotlin
Kotlin Toolchain 0.11 发布:Amper 正式更名,统一 kotlin 命令6 月 24 日,JetBrains 发布了 Kotlin Toolchain 0.11.0。以后创建、构建、运行、测试、发布 Kotlin 项目,入口会逐步收敛到一个 kotlin 命令。
唐青枫2 天前
kotlin
别再把 inline 当性能开关:Kotlin 内联、noinline、crossinline 与 reified 实战详解一段 Lambda 看起来只有几行代码:为什么 Kotlin 还专门提供了 inline?如果只是为了“少调用一次函数”,JVM 自己也会做方法内联,似乎没必要再加一个关键字。
Kapaseker2 天前
android·kotlin
Kotlin Toolchain 0.11 发布:主要是把 Amper 干没了我最近在学 Agent 相关的知识,同时在更新系列文章 —— 用 Kotlin 构建你的第一个 Agent。
黄林晴2 天前
kotlin
AndroidX 官宣信号:Compose版WebView要来了!最新的AndroidX 主干里已经出现了 web/web-compose 模块。目录在 platform/frameworks/support/web/web-compose,包文档写的是 web.compose,用途是提供显示网页的 composable。现在 api/current.txt 还没有任何公开类,所以它更像一个刚露面的 Jetpack Web Compose 信号。
如此风景3 天前
android·kotlin
Kotlin Flow操作符学习Kotlin Flow 的操作符非常丰富,它们是处理异步数据流的核心武器。Flow 的操作符可以像流水线上的工人一样,对数据进行过滤、加工、组合或线程切换。
plainGeekDev3 天前
android·java·kotlin
GreenDAO → RoomGreenDAO 依赖自己的一套代码生成器 GreenDAO Generator,需要额外维护一个 Java 项目来生成实体和 DAO。不支持 Kotlin suspend 函数。库已经很久不更新了(最后发布是 2019 年),未来 Android 版本可能不兼容。
plainGeekDev3 天前
android·java·kotlin
ButterKnife → ViewBindingButterKnife 已停止维护,作者 Jake Wharton 自己也不建议继续使用。依赖注解处理器,每次 build 生成大量中间代码,编译速度慢。不支持 Kotlin(虽然有 kotlin-annotation-processing,但体验很差)。
Kapaseker4 天前
android·kotlin
一文吃透 Kotlin 集合操作符上一篇聊了 Kotlin 的集合,这篇继续看它的转换操作符。可能很多人不清楚这些操作符都有哪些,下面就带大家一探究竟。
plainGeekDev5 天前
android·java·kotlin
Activity 间传值 → Navigation 参数Key 是字符串常量,拼写错误编译期不检查。类型要记清楚——忘了 getLongExtra 用了 getIntExtra,数据就丢了。页面间传参关系散落在各处,没有结构化的定义。
plainGeekDev5 天前
android·java·kotlin
onActivityResult → ActivityResult APIrequestCode 是 int 常量,多个页面间容易重复导致逻辑混淆。onActivityResult 里 if-else 链随着页面增多越来越长。如果调用方在 Fragment 里,还要处理 result 先传到宿主 Activity 再分发的额外逻辑。
alexhilton6 天前
android·kotlin·android jetpack
Android车载OS中的Remote Compose本文译自「Remote Compose in Android Automotive OS: Embed rich UI without the usual pain」,原文链接proandroiddev.com/remote-comp…,由Daniel Georg发布于2026年5月31日。
plainGeekDev6 天前
android·java·kotlin
广播接收器 → Flow + Lifecycleregister/unregister 必须在正确的生命周期成对调用,时机一错就崩。每个广播接收器都要写注册逻辑和解注册逻辑,多个广播到处都是散落的 IntentFilter。
plainGeekDev6 天前
android·java·kotlin
EventBus → SharedFlowEventBus 通过反射查找 @Subscribe 注解方法,性能损耗虽不大但存在。事件的发送方和接收方之间完全无约束,编译期不检查事件类型。忘调 register/unregister 是常见 bug 来源。全局事件满天飞,难以追踪事件的流向。
Kapaseker7 天前
android·kotlin
学不动了,入门 Compose Styles APIJetpack Compose 近期推出了全新的 Styles API,用于定制 UI 元素和组件的样式。
plainGeekDev8 天前
android·java·kotlin
MVC 写法 → MVVMActivity 同时负责了 UI 绘制、数据请求、状态切换和业务逻辑,一个类三四百行是常态。测试完全没法做——所有逻辑都耦合在 Activity 里。屏幕旋转后数据丢失,需要手动处理 onSaveInstanceState。
plainGeekDev9 天前
android·java·kotlin
单例模式 → object 声明object 声明的单例是线程安全的——Kotlin 编译器保证初始化在首次访问时执行且只执行一次。底层用的是 Java 的 static final 持有实例 + 同步块,等价于 DCL 但不用手写。