kotlin

leluckys2 小时前
kotlin
【KMP】-KMP 项目commonMain、androidMain、iosMain 到底放什么?理解 KMP 项目结构最大的难点不是 Kotlin 语法,而是把原来的"Android Module 思维"升级为"Module + Target + Source Set"三维思维:Module 负责划分业务边界,Source Set 负责划分平台边界。commonMain、androidMain、iosMain 不是三个独立 Module,而是同一个 KMP Module 内部不同平台共享的源码集合。
JMchen1232 小时前
android·kotlin·copilot·ai编程·开发工具·cursor·claude code
2026年六款主流AI编程工具深度实测:Cursor、Copilot、Claude Code等对比与选型思考两个月真实项目体验,六款工具横向整理,一份场景化参考打开IDE,右下角挤满了各种AI插件的图标——Cursor、GitHub Copilot、通义灵码、CodeGeeX……这几乎是每个开发者现在的日常。
hai_android3 小时前
android·kotlin
Kotlin 协程上下文:从 plus 到 CombinedContext,彻底搞懂左偏结构协程上下文(CoroutineContext)是 Kotlin 协程中用于承载调度器、异常处理器、命名参数等元素的不可变容器。它的内部实现采用左偏结构:合并时右侧(新加入)元素优先,相同 Key 的元素由右侧覆盖左侧。
Android打工仔1 天前
android·kotlin
Kotlin 协程源码解析(七)`delay()` 到底是如何在 `Dispatchers.Main` 上恢复的?在上一篇文章中,我们解决了 delay() 的“挂起”问题。我们一路追踪了:于是当前协程停止执行。但是,我们还留下了最关键的一段:
Kapaseker1 天前
android·kotlin
适配小米“中”折屏,非得买一台吗各位 Android 爱好者们,大家好。Android 正在全面推进自适应布局。应用不再只面对一种手机尺寸,开发者也应该让同一套功能在更多设备形态上都能正常使用。
菠萝加点糖1 天前
android·gitee·kotlin
Android applicationIdSuffix 详解applicationIdSuffix 是 Android Gradle 插件提供的一个构建配置属性,用于在应用的包名(Application ID)后添加后缀。这使得同一代码库可以构建出具有不同包名的应用变体,实现多版本共存。
事圆则缓2 天前
开发语言·kotlin
Kotlin 协程完全指南Kotlin 协程经常被概括为“轻量级线程”,这句话方便入门,却不够准确。协程不是一种新线程,也不会让阻塞代码自动变成非阻塞代码。它更像一套由编译器、标准库和协程库共同提供的可暂停任务模型:任务等待时保存执行现场、让出承载它的线程,条件满足后再在合适的线程上继续执行。
蜡台2 天前
android·开发语言·kotlin
Kotlin 零基础完整版实战教程|从语法入门到Android工程实战适配环境:Kotlin 2.0、Android Studio、IDEA、Gradle 最新版本Kotlin 简介与环境搭建
蜡台2 天前
android·java·kotlin
Kotlin 五大作用域函数详解|let/run/apply/also/with 选型指南+实战避坑作用域函数是 Kotlin 最高频、最核心、最容易混淆的语法特性,也是 Android 开发、Compose 开发、面试必考知识点。
hai_android2 天前
android·kotlin
Messenger:Android 最轻量的 IPC 方式一句话理解: Messenger 就是给 Handler 套了一个跨进程的壳。服务端用 Handler 创建 Messenger,客户端绑定后通过 Messenger.send(Message) 发消息,服务端再通过 msg.replyTo.send(...) 把结果回传。
hai_android3 天前
android·kotlin
不用 AIDL,手把手教你手写 Binder 代理类前言: 在日常 Android 开发中,我们习惯了用 AIDL 来定义跨进程接口。但 AIDL 本质上只是一个代码生成工具,它自动生成的 Stub 和 Proxy 类完全可以手写。理解手写 Binder 的过程,能帮助你深入掌握 Android IPC 机制的核心原理。
雨白3 天前
kotlin
Kotlin 泛型进阶:攻克型变与实化,直击痛点在上一篇博客中,我们知道了泛型这个“万能魔法盒”的基础用法。现在我们接着深入,来讲解泛型的实化(reified) 和 型变(协变与逆变)。
alexhilton3 天前
android·kotlin·android jetpack
架构测试为何需要双视图本文译自「Kotlin Architecture Tests: Why Konture Exists」,原文链接Kotlin Architecture Tests: Why Konture Exists,由Bao Le发布于2026年7月16日。
事圆则缓3 天前
android·kotlin
Jetpack Compose 快速上手Jetpack Compose 是 Android 官方的现代 UI 工具包。它用 Kotlin 函数描述界面:数据变化时,Compose 会重新执行受影响的 UI 代码,把界面更新到新的状态。
事圆则缓3 天前
android·kotlin·mvc
MVC、MVP、MVVM、MVI 的区别与实现原理MVC、MVP、MVVM、MVI 都在回答同一个问题:界面、状态和业务行为应该如何协作? Clean Architecture 回答的是更大范围的问题:业务规则如何保持独立,代码依赖应该指向哪里,系统边界应该如何划分?
事圆则缓3 天前
android·kotlin
Android组件化指南Android 项目从几个人、几个页面增长到几十人、数百个页面后,最先暴露的问题通常不是某个类写得不好,而是变化无法被限制在局部:改一个公共模块触发全量编译,一个业务依赖另一个业务的内部实现,任何页面都能读取全局状态,发布时没人知道改动会影响谁。
事圆则缓3 天前
android·kotlin
Jetpack Compose Effect 完全指南Compose 的核心思想是:UI 是状态的函数。理想的 Composable 只读取状态并描述界面,不修改外部世界。但真实应用还需要请求网络、启动动画、注册监听、记录埋点、控制 Snackbar、同步系统状态。这些行为不能当作普通 UI 描述执行,因为组合函数可能被反复执行、跳过,甚至执行后被放弃。
我命由我123454 天前
android·java-ee·kotlin·android studio·android jetpack·android-studio·android runtime
Android Jetpack Compose 开发问题:Unresolved reference ‘Icons‘.libs.versions.toml 文件中只声明了 androidx-compose-material3,即 Material 3 组件库
坚果的博客4 天前
华为·kotlin·harmonyos
CPF-KMP-CMP:在鸿蒙上用 Kotlin 写跨平台应用Kotlin Multiplatform + Compose Multiplatform 进入 OpenHarmony 生态的完整实践
事圆则缓4 天前
android·开发语言·kotlin
Kotlin 高阶工程化与 Android 深入实践本文是 kotlin_advanced_android.md 的高阶篇。它不再只讲“语法怎么写”,而是讲 Kotlin 在真实 Android 项目中的工程化能力:编译产物、协程调度、Flow 共享、Compose 状态模型、KSP、API 设计、性能优化、测试和架构落地。目标是让你不仅能用 Kotlin,还能判断什么时候该用、为什么这么用、出了问题怎么查。