登录社区云,与社区用户共同成长
邀请您加入社区
最近 JetBrains 又给 KMP 的编译流程加了commonMain,比如:IDE 只认公共 API编译 JVM target 时,编译器又可能看到依赖库的 JVM.jar也就是同一行代码可能出现 IDE 报错但能编译通过、IDE 跳到一个函数但最终执行的是另一个函数,甚至 IDE 类型推断正确而 JVM 编译失败之类的问题。所以 Separate Compilation 的作用就是 com
本文记录在官方 KMP 基础上集成鸿蒙版 Compose Multiplatform(CPF-KMP-CMP)的完整链路,实现 commonMain 同时编译 Android APK、JVM 桌面包与 HarmonyOS HAP。核心思路是:插件使用适配版以支持 ohosArm64 和 export 机制,依赖则通过“消费类路径重映射”仅在目标平台切换为官方版本,避免 Android 与 JVM
本文将深入探讨Android平台音频处理技术,重点分析3A算法(回声消除AEC、噪声抑制ANS、自动增益控制AGC)的实现与应用。文章首先从回声消除的基础原理入手,详细讲解Android AEC的实现方案,包括硬件支持检测、参数配置和双讲检测等关键技术。随后介绍WebRTC AEC的集成方法,涵盖模式配置和原生接口封装。通过代码示例展示了音频处理的核心数据结构与算法实现,为开发者提供了一套完整的A
把预约改到周五下午,语音 Agent 发出了请求,预约系统返回“已受理”。十几秒后,客户挂断了电话。预约有没有改成功?如果成功了,负责回访的同事能不能在 CRM 里看到新时间?如果没有,谁继续查?这是一段为本文构造的验收情境,没有对应真实客户通话。它暴露的采购问题很具体:供应商演示“能调用接口”时,企业究竟验收了多少工作?我的判断是,工具调用只能证明链路中的一个环节。企业集成要交付的是一条有人负责
→ ArkUI 鸿蒙 PC 页面。
把跑上鸿蒙,本质是打通这条链。关键不在某一步多难,而在于每一步都有"看起来对但其实不对"的细节:版本切片、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。这篇换一类
本课深入讲解 Compose Multiplatform(CMP)跨平台开发,通过真实电商场景对比传统多端开发,揭示其可节省35%-40%成本。详解KMP与CMP关系:前者共享逻辑,后者扩展至共享UI。课程涵盖项目结构、expect/actual处理、状态管理、导航与性能优化,并以8个带注释参考答案的练习强化实战能力。适合希望用一套Kotlin代码覆盖Android、iOS、桌面及Web的开发者。
本课聚焦 Compose UI 测试,通过真实场景详解 createComposeRule 与 createAndroidComposeRule 的选用,掌握语义树查找、测试标签与可访问性属性的使用,实现节点交互、异步同步、Hilt 集成及 KMP 共享代码测试。结合八道带注释练习与参考答案,构建从组件到端到端的测试金字塔,确保界面“正确”——让自动化测试成为设计的最后一块拼图。
本文深入探讨KMP工程实践,聚焦2026年新默认项目结构——共享库(shared)与平台入口模块分离,实现代码模块化。详解expect/actual的编译时强制约束优势,推荐函数级使用,并区分其与运行时条件编译的本质差异。提出“接口+依赖注入”替代expect/actual处理服务依赖,介绍Koin注解方案实现无expect/actual的平台适配。最后分析三种共享策略:仅共享逻辑、部分共享UI、
腾讯 2025 年 4 月开源的 Kuikly 基于 KMP、覆盖六端、原生渲染,官方口径 30+ 业务线、5 亿 DAU。本文拆技术底座、2026 年重估理由(鸿蒙、AI 转码、Compose DSL)、KMP 分界线、QQ 音乐 React H5 转码实录,附与 Flutter / RN 的对比与选型决策树。
本课对比Jetpack Compose与Compose-Multiplatform,介绍KMP跨平台架构:共享模块(shared)复用UI逻辑,Android与桌面端分别通过Activity和main+application+Window入口。通过expect-actual机制隔离平台差异,实现一套代码运行多端。强调不可忽视平台适配,新项目应使用统一资源管理,避免重复维护。核心思想为“通用代码放s
本文在前序基础上,通过引入Android客户端与改造Flask网关、Linux consumer,实现跨平台(Android+Windows+Linux)全链路通信。利用ADB反向映射解决跨端连接问题,构建基于RabbitMQ的双向消息通道,并引入验证码与token机制,实现动态权限管理与身份认证。项目完成多实例并发、权限分级、网关校验等核心功能,初步达成可扩展的拟真生产环境目标,为后续数据库优化
本教程系统复盘Compose开发核心知识点,涵盖布局、状态管理、性能优化、导航与MVI架构,梳理高频坑点如状态丢失、重组卡顿、内存泄漏等,并明确SavedStateHandle与Room分工。总结单Activity架构适用边界,提出动画、自定义绘制、KMP跨平台等进阶路线,助力开发者构建高效可维护的Compose应用。
官方 rpi-imager 是边解压边写设备,配置注入发生在写入过程中(临时挂载 boot 分区)。targetSdk 29 不是偷懒:荣耀 X10 的鸿蒙 3.0 对应 Android 10(API 29),与系统版本一致最兼容,且该 App 是侧载分发,不受 Google Play 的 targetSdk 33 要求约束。:官方 EtchDroid(烧录核心)+ 官方 rpi-imager(配
共享电单车用户端重构中,采用“骑行主循环KMP+CMP原生化、长尾页面H5化”策略。核心业务(地图、扫码、蓝牙开锁、后台定位)用Kotlin Multiplatform统一实现,保障跨端一致性;钱包、发票等49个长尾页面复用UniApp生成的H5,免于重写。通过接口化封装平台能力,实现双端共用89%代码,仅2天完成迁移,兼顾性能与运营敏捷性。
用过 RAG 的人大概都有这种经历:明明知识库里存着答案,用户一问,检索回来的全是不相干的东西。比如用户问"怎么退货",知识库里的文档标题写的是"商品售后服务流程"——两者说的是一回事,但 Embedding 向量之间的余弦相似度可能低得离谱。这就是 RAG 系统中最普遍也最棘手的问题:**语义鸿沟**。
如果你在写纯 Jetpack Compose 的新项目直接继承。它是最轻量级且功能完备的选择。如果你在使用传统的 XML 布局(View 系统)应该继承(它是 ComponentActivity 的子类,多加了对旧版本 Android UI 主题的兼容代码)。什么时候继承 android.app.Activity?永远不要。
安卓开发中Gradle下载失败是常见问题,常因网络连接问题导致。解决方法是将Gradle配置文件中的下载地址替换为腾讯云镜像源。具体操作:在gradle-wrapper.properties文件中注释原distributionUrl,改为使用腾讯云镜像地址。这种方案能有效解决因网络问题导致的Gradle安装失败问题,提高开发效率。
演示:底部view随着软键盘的弹出而弹起
LiveData 长期以来是 Android 架构组件中状态管理的核心,但随着 Kotlin Flow 的成熟,Google 官方推荐将现有 LiveData 迁移到 Flow。本教程基于官方文章并扩展实践细节,完成平滑迁移。
在创建IDEA插件项目时发现 下载kotlin-compiler-embeddable特别慢,然后等待几十分钟然后失败。
(1)主流的客户端架构(2)从MV*到单向数据流(3)ReKotlin
我整理的一些关于【AGI】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/Hpqqk2在 Android 中实现 Kotlin Paging在现代应用程序中,当数据量很大时,快速加载和显示数据是一个重要的需求。Kotlin Paging 是一个强大的库,旨在帮助开发者高效地...
作为一名经验丰富的开发者,我很高兴能帮助你了解如何在Android项目中使用Java调用Kotlin代码。下面我将为你详细解释整个流程,并提供相应的代码示例。调用流程以下是使用Java调用Kotlin的步骤:步骤描述1创建Kotlin类和方法2将Kotlin类编译为Java类3在J...
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。学习方向很容易规划
【代码】使用Compose需要对build.gradle.kts的修改。
java with kotlin找不到符号报错解决方法
let可以配合可空性 “?”来使用,如果data=null 则不执行let内部代码,如果有返回值则直接返回null在let中,用it表示引用对象,并可调用其方法,it不可省略。let扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,let函数的是一个不错的选择;返回值是语句块的最后一行的返回类型,若最后一行语句无返回值,则整个let语句块也无返回值。
要在自己的项目的build.gradle的buildscript中添加ext.kotlin_version ='1.3.72'然后在dependencies里添加classpath "org.
然后网上很多都说使用kotlin的绑定视图技术,就可以直接在kt中编辑这些控件了。后来经过搜索,知道了最新的情况是,Google官方放弃了kotlin-android-extensions插件,使用ViewBinding技术来代替了。不经意的查看idea提示,修改为 dataBinding ,然后构建时会自动下载对应的文件,才可以正常使用kotlin的android 扩展的viewbinding。
kotlin图表功能
LiveEventBus是Android中组件间传递消息,支持AndroidX,Event:事件,Bus:总线。3、组件间通讯,第一个页面MainActivity.kt,第二个页面TestActivity。发送到第一个页面, 需要同时更新第一个页面该组件。范围全覆盖的消息总线解决方案。渠道Channel.kt。输入“欢迎你”后点击。
default,public,final,open, protected,private,internal
【代码】kotlin——意见反馈页面。
kotlin简单笔记
kotlin
——kotlin
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net