登录社区云,与社区用户共同成长
邀请您加入社区
本文详解在OpenHarmony上适配Kotlin Multiplatform图片加载库Landscapist的完整方案,基于ArkTS实现其核心特性:Painter抽象、状态机(Loading/Success/Error)与可插拔变换管线(如缩放、居中裁剪)。通过三层架构设计——语义层定义契约、引擎层桥接@ohos.net.http与@ohos.multimedia.image系统能力、验收页演
本文聚焦如何在 OpenHarmony 上为 IceRock 开源的 KMP 权限库 moko-permissions 做适配落地。moko-permissions 用一套跨平台 API(PermissionState 四态状态机 + PermissionsController 的 getState/providePermission/revokePermission/openAppSetting
本文是「OpenHarmony 鸿蒙化三方库适配」延续「纯逻辑等价复刻」路线——在已交付 Decompose(组件化导航)、Essenty(生命周期/状态保持)、MVIKotlin(单向数据流)、Reaktive(响应式原语)之后,补齐「依赖注入」这一层:evant 开源的。它用编译期代码生成把@Inject@Component@Module@Provides@Singleton@Named翻译成
Shopify 从 React Native 回退到 Swift 与 Kotlin 的深度复盘告诉你:跨平台不是免费的,“桥接税”会在交易链路上被无限放大。📉 文章拆解了桥接成本、原生对齐滞后与人才错配三大痛点,并给出按调用密度切分模块、单向数据流、Feature Flag 灰度迁移的实战方案。
把 SQLDelight 跑上鸿蒙,本质是打通这条链。关键不在某一步多难,而在于每一步都有"看起来对但其实不对"的细节:cinterop 的 linkerOpts 不进最终链接、Scrt1.o 残留 main 符号、opaque config 在模拟器上的内部校验、沙箱路径不能硬编码。这次全绿,证明整条链路真实可用。.sq文件集成(现在 SQL 是硬编码字符串,没走 SQLDelight 编译器生
本课旨在帮助开发者理解 Compose Multiplatform(CMP)的技术定位与核心价值,完成跨平台开发环境搭建,创建并运行首个跨端应用。通过对比 Flutter、React Native 等方案,凸显 CMP 对 Kotlin 开发者零学习成本、高代码复用率的优势。课程涵盖环境配置、项目创建与结构解析,为后续系统掌握跨端开发打下坚实基础。
本文是「OpenHarmony 鸿蒙化三方库适配」系列的第 8 篇,也是「纯逻辑等价复刻」档的收官——在已交付 Decompose(组件化导航)、Essenty(生命周期/状态保持)、MVIKotlin(单向数据流)之后,补齐最底层的**响应式原语**:arkivanov 开源的 Reaktive。
本文为Kotlin Multiplatform三方库鸿蒙化适配系列第三篇,聚焦于KMPNotifier在OpenHarmony上的适配。作者放弃等待上游支持与自绘通知UI,选择通过ArkTS桥接@kit.NotificationKit,将跨平台通知模型接入鸿蒙系统。核心挑战在于鸿蒙通知点击需经WantAgent回灌至EntryAbility,重构事件模型。文章详细记录6个ArkTS真实签名踩坑,最
把跑上鸿蒙,本质是打通这条链。关键不在某一步多难,而在于每一步都有"看起来对但其实不对"的细节:版本切片、JDK、、JSON 转义、点击坐标。这次 10/10 全绿,证明整条链路真实可用。
库版本:jordond/connectivity 2.2.1 鸿蒙切片|验证环境:HarmonyOS Kotlin 2.2.21-1.0.0|Gradle 8.14.1|JDK 21|DevEco Studio 26.0.0|HarmonyOS 7.0.0(API 26)|模拟器(x86_64)前两篇 KMP 适配分别验证了两件事。证明 ohos target 能跑纯计算:actual 不链系统
上一篇 MaterialKolor 适配验证了「种子色 → 完整配色方案」,但种子色从哪来?Material You 的答案是壁纸取色。环节库输入 → 输出鸿蒙化状态图片 → 主色调像素 → Dominant/六大目标色本文主色调 → 配色方案种子色 → 27 角色色 + Tonal 色阶上一篇已完成两库串联 =壁纸 → 主色调 → 全应用配色,鸿蒙动态主题的完整算法链就此闭环。选型时同样先过 s
库版本:multiplatform-settings 1.3.0 鸿蒙 fork|验证环境:HarmonyOS Kotlin 2.2.21-1.0.0|Gradle 8.14.1|JDK 21|DevEco Studio 26.0.0.821|HarmonyOS 7.0.0(API 26)|模拟器(x86_64)验证的是纯计算:actual 不链任何系统 so,自己光栅、自己编 PNG。这篇换一类
腾讯 2025 年 4 月开源的 Kuikly 基于 KMP、覆盖六端、原生渲染,官方口径 30+ 业务线、5 亿 DAU。本文拆技术底座、2026 年重估理由(鸿蒙、AI 转码、Compose DSL)、KMP 分界线、QQ 音乐 React H5 转码实录,附与 Flutter / RN 的对比与选型决策树。
然后 Shopify 做了一次实验,一开始先让团队做了一次 Proof of Concept,然后一个工程师花了一周时间,让 Coding Agent 根据现有 React Native 应用重建 SwiftUI 版本,之后项目继续扩大到六人,从 PoC 到新的 Swift/Kotlin Shop App 正式进入 App Store 和 Google Play,花了 12 周。错误可以出现,但是
本文总结了跨平台开发专项面试的核心考点,涵盖Flutter、ReactNative和小程序三大方向。重点解析了Flutter的渲染管线与原生差异、PlatformChannel通信机制、Dart FFI性能优化;RN新架构Fabric的JSI改进和性能提升;小程序容器的沙箱隔离原理。文章对比了Flutter与RN的技术选型标准,探讨了状态管理方案和动态更新策略,并指出面试考察重点在于底层原理理解和
运行效果图黑白屏是一款极简主义应用,核心理念是"只有黑白两色,回归最原始的视觉"。在这个色彩斑斓的数字世界中,黑白屏应用提供了一种独特的视觉体验,让用户能够远离色彩的干扰,回归最纯粹、最原始的视觉感受。应用采用纯粹的黑白配色方案,没有任何彩色元素,创造出一种极简、宁静、专注的氛围。通过纯屏切换、极简笔记、专注计时、冥想模式四大功能,帮助用户在喧嚣的数字世界中找到一片宁静的空间。黑白屏应用通过"只有
OS、Android、OpenHarmony 的音频焦点机制分别为:iOS 被动会话管理,Android 主动申请(四种抢占策略),OpenHarmony 双层机制(应用内独立/共享 + 应用间并发)。各平台均提供细粒度接口,开发者需适配以保证跨平台体验一致。
更绝的是动态响应速度提升了40%,这波操作直接让电机启动时的扭矩脉动下降了60%。这玩意就像给d轴和q轴电流装了隔音墙,让它们互不干扰。这里的Lq参数和转速相乘就是万恶之源,q轴电流随便动一下就会带着d轴电流蹦迪。该模型采用内模电流解耦策略,可以看到解耦之后,相比于未解耦,q轴电流变化并未引起d轴电流波动,电流环的动态效果更优。该模型采用内模电流解耦策略,可以看到解耦之后,相比于未解耦,q轴电流变
因此,必须建立持续的监控机制,使用数据库自带的性能监控工具(如MySQL的Slow Query Log、SQL Server的Profiler)来捕获慢查询。定期分析这些查询,并结合实时系统负载情况,进行必要的优化调整,如调整索引、重写SQL或优化数据库配置参数,以确保系统持续高性能运行。连接操作的成本通常很高。在某些情况下,将子查询转化为临时表并进行连接,可能会获得更好的性能,但这需要根据数据库
【代码】Aandroid Compose 侧滑删除按钮。
现在你已经学会了如何在 Kotlin 中轻松返回两个或三个值。记住,Pair和Triple中的值可以是不同类型的,而且可以通过属性名或组件方法访问它们。使用它们可以让你在不定义额外类的情况下高效地返回多个值,优化你的代码结构。
随着Android开发的不断演进,Kotlin已经成为了Google官方推荐的Android开发语言。Kotlin不仅完全兼容Java,还提供了许多现代化特性,使得代码更加简洁、安全、高效。本文将通过对比Java和Kotlin的代码示例,展示Kotlin在Android开发中的核心优势和实践方式。
⭐⭐⭐。
System.out.println("文件 " + filePath + " 的最后修改时间是: " + lastModifiedTime);System.err.println("无法读取文件属性: " + e.getMessage());// 将Instant转换为LocalDateTime(指定时区)// 这里使用系统默认时区,可以指定其他时区。// 创建Path对象。// 获取最后修改时
ViewModel源码流程,Lifecycle生命周期管理
Overview (QtJambi 6.8.2)GitHub - OmixVisualization/qtjambi: QtJambi is a wrapper for using Qt in Java.qtjambi/www/Modules.md at master · OmixVisualization/qtjambi · GitHub
本文介绍了Kotlin编程语言的基础知识,包括: 日志打印的三种方式:println(自动刷新)、print(需手动刷新或添加换行符)和Log.d(立即打印) 变量声明:val(不可变)和var(可变)的区别 类型转换方法:使用toByte()等函数进行数值类型转换 字符串操作:连接(+或plus函数)和模板($符号引用变量) 条件表达式:if-else作为表达式使用时必须包含else分支 whe
Semaphore(信号量)是一种用于控制并发访问的同步机制。它本质上是一个计数器,用来限制同时访问某个资源的线程数量。
【代码】仿小红书轮播图指示器。
本文介绍了在Jetpack Compose中使用ViewModel和StateFlow实现状态管理的方案。ViewModel具有比Activity更长的生命周期,能避免因配置变化导致的状态丢失。StateFlow作为热流能保持最新状态并支持多观察者,通过collectAsState()与Compose无缝集成。文章展示了完整实现步骤:定义UI状态数据类、创建ViewModel管理状态、使用Stat
CSDN 编者注:对于这一点,在 CSDN《2018 – 2019 中国开发者调查报告》中,拥有十几年移动开发经验的轻芒联合创始人范怀宇对此表示:Java 的 Web 框架经过千锤百炼已经可以支撑足够大的并发,JVM 经过长年优化性能表现也非常出众,而 Java 的各类库、统一的编程模型、丰富的人才储备,可以满足各种场景的诉求。出于综合考虑且必须二选一的情况下,建议你选择 Flutter,但是如果
"show_text_1" -> showTextAnimation("动态文字1")"show_text_2" -> showTextAnimation("动态文字2")// 这里需要根据RIVE SDK的具体API来动态更新文字。"welcome_text" to "欢迎","button_text" to "开始"// 根据RIVE动画进度控制文字动画。// 使用RIVE状态机触发文字动画。
1、核心差异全景图 2、核心对比表
app业务出海,google三方登录避坑记录
步骤。
实现图片瀑布流展示应用,主要功能包括:1)使用RecyclerView和StaggeredGridLayoutManager实现两列瀑布流布局;2)通过Glide加载网络图片并支持缓存;3)集成SmartRefreshLayout实现下拉刷新和上拉加载;4)自定义ItemDecoration美化图片间距。技术特点包括:异步加载图片、主线程UI更新、完善的异常处理和日志输出。
摘要:本文展示了Kotlin中apply函数的用法,该函数允许在对象上下文中执行代码块并返回对象本身。示例中演示了字符串和自定义类的apply操作:对字符串进行大小写转换和拼接输出;对Person类对象进行属性初始化并打印。文章指出apply函数在Android开发中常用于Intent等对象的链式初始化,体现了Kotlin简洁的DSL风格。测试结果显示代码执行正常,验证了apply函数的实用性。
Android相机开发演进:从Camera1到CameraX 本文系统梳理了Android相机开发架构的演进历程。Camera1作为早期方案虽简单易用但功能有限;Camera2 API提供了更强大的控制能力,却因复杂架构提高了开发门槛。CameraX作为现代化解决方案,通过生命周期感知、用例抽象和统一兼容层三大设计,实现了开发效率与功能控制的平衡。其核心将相机功能抽象为Preview、ImageC
Kotlin 开发 - Kotlin 测量代码执行时间(measureTimeMillis、measureTime、measureNanoTime、measureTimedValue)
基于AnimationSpec,学习动画核心API之一的AnimateAsState,状态动画。
Android Kotlin 协程是一种基于Kotlin语言的轻量级线程管理框架,由JetBrains公司于2017年开发并集成在Kotlin 1.3版本的标准库中。它通过挂起函数(suspend function)和结构化并发(structured concurrency)的概念,为Android开发提供了简单高效的异步编程解决方案。JetBrains官方数据显示,使用协程可以将异步代码量减少5
决定性因素:像素格式(ARGB/RGB)比文件格式(PNG/JPEG)更影响内存平台差异:iOS/Android默认配置不同,需显式指定格式测量原则:始终通过代码而非文件大小计算内存优化黄金法则:降分辨率 → 改格式 → 及时回收。
UI 层状态观察:简单场景 —— LiveData,协程项目/需要灵活操作 —— StateFlow(替代 LiveData)数据层 / 复杂异步处理:必须 Flow,操作符丰富,异常处理强;一次性异步请求:选suspend函数 + Flow,带重试、异常处理;跨平台 / 非 Android:必选 Flow;多观察者共享数据流:选 StateFlow(状态)/ SharedFlow(事件);
嗨,阿米戈!
原文链接:https://juejin.cn/post/7586943543019290666
Kotlin协程提供了多种构建器来满足不同并发场景需求:基础构建器launch用于不返回结果的异步操作,async用于需要返回值的并发任务;runBlocking用于阻塞线程的桥接场景;coroutineScope和supervisorScope用于结构化并发;produce构建生产者-消费者模式;withContext用于线程切换。这些构建器共同支撑了Kotlin的结构化并发模型,开发者可根据任
[ Compose ] Interaction of AndroidView and ComposeView
通过本文,我们实现了一个基于 Kotlin 协程的设备指令控制工具类。该工具类支持指令队列、重试机制、状态管理等功能,并适配安卓平台,确保生命周期管理和主线程安全性。希望这篇博客对你有所帮助!
placehold。