kotlin

事圆则缓1 小时前
android·kotlin·php
Kotlin Flow、StateFlow、SharedFlow 全解析:冷流、热流与 Android 状态管理同一个页面旋转后又请求了一次网络?新打开的界面立刻看到了旧状态?发送一次事件却没有任何 UI 收到?这些问题往往不是某个 collect 写错了,而是没有先想清楚:数据什么时候开始生产、多个订阅者是否共享生产、后来订阅的人应该拿到什么。
应用市场1 小时前
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。
传奇开心果编程18 小时前
android·windows·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作本课目标:理解 expect/actual 的编译时契约本质,掌握接口注入作为更优替代方案的判断标准,学会 Compose 与 SwiftUI 的双向互操作技术,建立“平台差异分层决策”的系统方法论。
mmsx18 小时前
android·kotlin
Android 地图数据链路:从 GDAL、KML 到多引擎适配地图数据要稳,靠的是每一段都接一层中间模型。一份 GeoTIFF 影像要叠到地图上、一条从 Google Earth 导出的 KML 轨迹要画出来、客户还要求底图从一家 SDK 换成另一家——这三个需求单独看都不难,难点在于它们会同时出现。把它们硬拼在一起,最常见的结局是:每接一种数据格式就为每家的地图 SDK 写一套绘制代码,组合数量随格式和引擎线性膨胀,最后谁都不敢动。
事圆则缓21 小时前
android·开发语言·kotlin
Kotlin 泛型方差实战:out、in、星投影与类型擦除很多人记得“out 是生产者,in 是消费者”,但一遇到 MutableList<Dog>、Array<Dog> 或 MutableList<*> 就又要靠猜。方差真正解决的是一个安全问题:当子类型关系穿过泛型容器时,哪些赋值不会让我们读错或写错类型?
传奇开心果编程1 天前
android·网络·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第5课 网络与数据层本课目标:理解 Ktor 客户端的引擎抽象与多平台适配机制,掌握 HttpClient 的创建、配置与生命周期管理,学会用 ContentNegotiation 处理 JSON 序列化,建立 Repository 模式隔离网络与 UI,为后续 ViewModel 和依赖注入打下数据层基础。
Android打工仔1 天前
android·kotlin·源码阅读
CoroutineScheduler 设计解析(上)—— 为什么 Dispatchers.IO 会创建更多线程?阅读源码版本:kotlinx.coroutines 1.10.x最近在阅读 Kotlin CoroutineScheduler 源码时,我产生了一个疑问。
熊猫钓鱼>_>1 天前
开发语言·华为·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 业务零样板拿到注入好的实例。
翼辉cto1 天前
开发语言·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
熊猫钓鱼>_>2 天前
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「与平台无关的通知模型」接到鸿蒙系统通知服务上。适
传奇开心果编程2 天前
android·windows·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第3课 布局与组件本课目标:掌握 Column/Row/Box 三种基础布局的组合策略与对齐规则,深入理解 LazyColumn 的按需组合机制与性能优化手段,系统学习 Material3 组件库的语义层级与 Slot API 设计,建立“布局即结构,组件即语义”的开发思维。
事圆则缓2 天前
安全·面试·kotlin
Kotlin 入门与面试:从空安全、扩展函数到协程Kotlin 的语法比 Java 紧凑,但“代码更短”并不等于“规则更少”。入门时最容易混淆的,是 val 与对象不可变、? 与运行时空指针、扩展函数与真正的重写,以及 async 与“异常只在 await() 时发生”。
传奇开心果编程2 天前
android·windows·学习·ios·kotlin·web·composer
【Compose Multiplatform 跨端开发学与练】第8课 资源管理与主题本课目标:掌握 composeResources 的多平台资源目录结构与类型安全访问器,理解限定符的优先级与本地化目录命名规则(特别是中文双脚本回退机制),掌握 Coil 3 在 CMP 中的网络图片加载与 iOS 内存压力适配,建立自定义主题、扩展颜色与深色模式的系统适配方法。
传奇开心果编程2 天前
android·学习·macos·ios·kotlin·web·composer
【Compose Multiplatform 跨端开发学与练】第9课 测试与调试本课目标:建立“测试金字塔”的架构意识,掌握 commonTest 中 UI 测试的 runComposeUiTest 模式与桌面端 JUnit 的差异,学会用 Turbine 断言 StateFlow 的状态序列,掌握 Kotlin/Native 内存泄漏检测的 GC 统计方法,理解 iOS Skia 渲染的性能陷阱与 Instruments 诊断路径。
传奇开心果编程2 天前
android·windows·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第4课 导航与路由本课目标:理解导航图的三个核心概念(路由、目的地、NavHost),掌握类型安全路由的定义与参数传递方式,学会用 NavController 管理返回栈,理解 Web 端浏览器导航的集成方式,为构建多页面应用打下基础。
传奇开心果编程2 天前
android·学习·ui·ios·架构·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第6课 状态管理与架构本课目标:理解 ViewModel 在 CMP 中的跨平台实现与生命周期管理,掌握 StateFlow 与 Compose 状态收集的正确方式,学会用 Event Sink 模式收敛事件入口,理解一次性事件与持久状态的区分,建立 MVVM 分层架构的完整认知。
传奇开心果编程2 天前
android·windows·学习·ui·ios·kotlin·composer
【Compose Multiplatform 跨端开发学与练】第2课 Compose 基础语法本课目标:从编译器视角理解 @Composable 的本质,掌握重组机制的工作原理与性能优化手段,熟练运用状态管理核心 API,建立 Modifier 链式思维,理解副作用 API 的使用时机。本课是第1课的"发动机拆解",也是后续所有课程的语法地基。
熊猫钓鱼>_>3 天前
华为·kotlin·大模型·ai编程·harmonyos·适配·reaktive
Kotlin Multiplatform for OpenHarmony 实战:为 Reaktive 实现响应式原语适配(完整版 · 含摘要目录与技术图表)本文是「OpenHarmony 鸿蒙化三方库适配」系列的第 8 篇,也是「纯逻辑等价复刻」档的收官——在已交付 Decompose(组件化导航)、Essenty(生命周期/状态保持)、MVIKotlin(单向数据流)之后,补齐最底层的响应式原语:arkivanov 开源的 Reaktive。Reaktive 提供 Observable/Single/Completable 等冷/热流类型,以及 map/filter/flatMap/subscribeOn/observeOn 操作符与 Scheduler