kotlin

墨天梦2 小时前
android·kotlin
B17_LifecycleLiveData与Flow阅读《第一行代码》第 13 章时会遇到 Lifecycles 和 LiveData,进入现代 Compose 示例又常看到 StateFlow。容易产生的误解是:换成 Flow,就不需要考虑生命周期;或者旧项目使用 LiveData,说明它已经不能维护。
熊猫钓鱼>_>15 小时前
开发语言·kotlin·华为云·ai编程·harmonyos·鸿蒙·openharmony
Kotlin Multiplatform for OpenHarmony 实战:为 Landscapist 实现图片加载适配本文聚焦如何在 OpenHarmony 上为 Kotlin Multiplatform 图片加载库 Landscapist(作者 skydoves,Compose 生态的图片加载库)做适配落地。Landscapist 相对 Kamel 多了三件「差异化武器」:Painter 抽象(绘制单元)、状态机(Loading / Success / Error 三态驱动 UI)、Transformation 变换管线(Resize / CenterCrop 等按序作用)。本文用 ArkTS 桥接 @kit.Netw
ZealSinger16 小时前
kotlin·协程·迁移·kotlin2.4
Kotlin2.4迁移context parameters2.3.20 起 context receivers no longer supported / 不再支持;2.4 起除 context arguments 与 callable references 外已稳定,一般项目不再需要 -Xcontext-parameters。若你还在用 -Xcontext-receivers,或在 Beta 阶段靠 -Xcontext-parameters 试水,升级到 Kotlin 2.4 后应尽快把声明改成带名字的 context parameters,并理清仍实验的开关
墨天梦17 小时前
android·kotlin·交互
B16_Material主题与可访问交互《第一行代码》第 12 章介绍 Toolbar、抽屉、悬浮按钮、Snackbar、卡片、刷新和折叠标题栏。学习这一章时,如果只记住控件名字,很容易做出每个页面都有按钮、整体交互却不一致的应用。
alexhilton1 天前
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日。
mmsx1 天前
android·kotlin
Android 测绘计算工程化:七四参数、高程拟合与单位系统测绘软件的多数 bug 不是算法写错,而是量纲与参数在层与层之间被悄悄换了。一份测量成果偏出去十几公里,排查到最后往往是某个角落把以"秒"为单位的旋转角直接塞进了旋转矩阵;一个界面切到英尺后,相邻页面还显示着米,两处差了三倍多却没人发现。这类问题有一个共同特征:算法本身没错,错的是"这个值到底代表什么、该用哪套参数去换"这件事,在第一层写完后,到第二层、第三层被无声地替换掉了。
事圆则缓2 天前
android·kotlin·php
Kotlin Flow、StateFlow、SharedFlow 全解析:冷流、热流与 Android 状态管理同一个页面旋转后又请求了一次网络?新打开的界面立刻看到了旧状态?发送一次事件却没有任何 UI 收到?这些问题往往不是某个 collect 写错了,而是没有先想清楚:数据什么时候开始生产、多个订阅者是否共享生产、后来订阅的人应该拿到什么。
应用市场2 天前
android·macos·adb·kotlin·swift
把旧 Pixel 变成相册备份中转站(上):Mac 到安卓的照片传输工具设计——流式上传、sha256 校验、adb forward 与 Bonjour说明:这个工具是和 Claude Code 协作开发的,本文也由 Claude 协助整理成文。文中代码是从项目里摘的关键片段。
Kapaseker2 天前
android·kotlin
Android 以后可能不会再有横竖屏适配了各位 Android 爱好者们,大家好。多年来,不少 Android 项目都把屏幕方向当成了 UI 适配的主要依据。
墨天梦2 天前
android·数码相机·kotlin
B13_通知图片相机与影音发布摘要:围绕一张文章附件,理解通知渠道与权限、系统照片选择器、拍照输出 URI,以及播放器的资源寿命。标签:通知、Photo Picker、相机、Media3。
传奇开心果编程2 天前
android·windows·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作本课目标:理解 expect/actual 的编译时契约本质,掌握接口注入作为更优替代方案的判断标准,学会 Compose 与 SwiftUI 的双向互操作技术,建立“平台差异分层决策”的系统方法论。
mmsx2 天前
android·kotlin
Android 地图数据链路:从 GDAL、KML 到多引擎适配地图数据要稳,靠的是每一段都接一层中间模型。一份 GeoTIFF 影像要叠到地图上、一条从 Google Earth 导出的 KML 轨迹要画出来、客户还要求底图从一家 SDK 换成另一家——这三个需求单独看都不难,难点在于它们会同时出现。把它们硬拼在一起,最常见的结局是:每接一种数据格式就为每家的地图 SDK 写一套绘制代码,组合数量随格式和引擎线性膨胀,最后谁都不敢动。
事圆则缓2 天前
android·开发语言·kotlin
Kotlin 泛型方差实战:out、in、星投影与类型擦除很多人记得“out 是生产者,in 是消费者”,但一遇到 MutableList<Dog>、Array<Dog> 或 MutableList<*> 就又要靠猜。方差真正解决的是一个安全问题:当子类型关系穿过泛型容器时,哪些赋值不会让我们读错或写错类型?
传奇开心果编程3 天前
android·网络·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第5课 网络与数据层本课目标:理解 Ktor 客户端的引擎抽象与多平台适配机制,掌握 HttpClient 的创建、配置与生命周期管理,学会用 ContentNegotiation 处理 JSON 序列化,建立 Repository 模式隔离网络与 UI,为后续 ViewModel 和依赖注入打下数据层基础。
Android打工仔3 天前
android·kotlin·源码阅读
CoroutineScheduler 设计解析(上)—— 为什么 Dispatchers.IO 会创建更多线程?阅读源码版本:kotlinx.coroutines 1.10.x最近在阅读 Kotlin CoroutineScheduler 源码时,我产生了一个疑问。
熊猫钓鱼>_>3 天前
开发语言·华为·kotlin·ai编程·inject·鸿蒙·openharmony
Kotlin Multiplatform for OpenHarmony 实战:为 kotlin-inject 实现依赖注入适配本文是「OpenHarmony 鸿蒙化三方库适配」延续「纯逻辑等价复刻」路线——在已交付 Decompose(组件化导航)、Essenty(生命周期/状态保持)、MVIKotlin(单向数据流)、Reaktive(响应式原语)之后,补齐「依赖注入」这一层:evant 开源的 kotlin-inject。它用编译期代码生成把 @Inject / @Component / @Module / @Provides / @Singleton / @Named 翻译成依赖图,让 KMP 业务零样板拿到注入好的实例。
翼辉cto3 天前
开发语言·kotlin·harmonyos
Kotlin Multiplatform 三方库 SQLDelight 的 OpenHarmony 鸿蒙化适配实战库版本:SQLDelight 2.x(自建 ohos 切片)|验证环境:Kotlin Multiplatform 2.1.x(含 ohosArm64/ohosX64 target)|DevEco Studio 5.x|DevEco 模拟器 x86_64|OpenHarmony API 12
熊猫钓鱼>_>3 天前
kotlin·ai编程·harmonyos·鸿蒙·openharmony·适配·kmp
Kotlin Multiplatform for OpenHarmony 实战:为 KMPNotifier 实现 OpenHarmony 本地通知引擎本文是「Kotlin Multiplatform 三方库鸿蒙化适配」系列的第三篇,围绕 KMPNotifier(一个 Kotlin Multiplatform 本地通知库,Apache-2.0)在 OpenHarmony 上的适配展开。作者放弃「等上游支持 ohosArm64」和「自绘应用内通知 UI」两条路,选择路线 A:用 ArkTS 实现 LocalNotifier 接口、桥接系统 @kit.NotificationKit,把 KMPNotifier「与平台无关的通知模型」接到鸿蒙系统通知服务上。适
传奇开心果编程3 天前
android·windows·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第3课 布局与组件本课目标:掌握 Column/Row/Box 三种基础布局的组合策略与对齐规则,深入理解 LazyColumn 的按需组合机制与性能优化手段,系统学习 Material3 组件库的语义层级与 Slot API 设计,建立“布局即结构,组件即语义”的开发思维。
事圆则缓4 天前
安全·面试·kotlin
Kotlin 入门与面试:从空安全、扩展函数到协程Kotlin 的语法比 Java 紧凑,但“代码更短”并不等于“规则更少”。入门时最容易混淆的,是 val 与对象不可变、? 与运行时空指针、扩展函数与真正的重写,以及 async 与“异常只在 await() 时发生”。