登录社区云,与社区用户共同成长
邀请您加入社区
把 iOS App 迁移到 HarmonyOS,最容易走偏的方式是逐行翻译 Swift。真正高效的迁移应该先保留业务不变量,再为 ArkTS、ArkUI、Stage 模型和系统 Kit 重新选择实现。本文结合“心晴手记”的双平台版本,梳理 7 个最重要的思维转换。
附近加油站查询是汽车类应用的典型场景之一,如用户需要加油时,可查询周边加油站的地址、距离等信息。本示例基于Map Kit的MapComponent与Marker实现地图服务并标记附近加油站位置,从而筛选定位附近的加油站,也适用于充电桩查询。实现思路获取位置权限,并获取当前位置。})设置Marker属性,使用addMarker方法在地图上添加标记。},......使用on('markerClick'
本文详细解析了HarmonyOS中双指捏合缩放(PinchGesture)的实现方案。主要内容包括:1. 核心API解析,介绍PinchGesture的参数配置和事件回调机制;2. 基础实现方案,展示图片缩放的核心代码和原理;3. 进阶功能,如弹性边界、回弹动画等交互优化;4. 复杂场景下的手势组合与协同处理;5. 完整图片预览组件的实战案例。文章还提供了版本兼容性说明和常见问题解决方案,帮助开发
本文对智能家居App的开发经验进行了全局性总结。该项目包含5个页面和1个数据服务层,虽然页面数量最少,但信息密度最高。核心特点是集中式数据管理(DeviceData服务层统一处理设备/场景/能耗数据及操作函数)和差异化的页面数据依赖(核心页面重度依赖,辅助页面零依赖)。文章重点分析了@State的三种使用场景(动态数组需复制触发、布尔值直接切换、数值重新计算),并总结了Builder组件(页面内复
在人工智能(AI)开发中,掌握多种编程语言能够显著提升开发效率和项目质量。Python因其简洁语法和丰富的AI库(如NumPy、Pandas)而广受欢迎,适合快速原型开发。Java以其跨平台能力和稳健性在企业级AI应用中表现出色。R语言在统计分析和数据可视化方面具有优势,而LISP和Prolog则分别擅长符号数据处理和逻辑编程。Haskell和Julia分别以函数式编程和高性能计算见长,Scala
移动系统和桌面系统在编程语言支持上的差异源于多重因素。移动系统(如Android、iOS、鸿蒙)通常限定特定语言(Java/Kotlin、Swift、ArkTS)以优化性能、资源管理和用户体验,同时强化生态控制。其架构依赖虚拟机或严格规范,确保流畅运行和安全。而桌面系统(Windows、Linux、macOS)支持多语言(C/C++、Python等),因其开放架构、丰富资源和历史积累,允许开发者灵
在如今的移动应用中,地图展示与标记功能已成为众多生活服务类应用的核心需求。无论是旅行类应用中的景点搜索与导航,还是共享类应用中的资源定位与管理,地图服务都扮演着至关重要的角色。以旅行类应用为例,用户可以通过地图快速搜索并浏览附近的景点信息,而共享单车类应用则能实时显示周边可用单车的分布情况,极大提升了用户体验。HarmonyOS SDK为开发者提供了强大的能力,支持从地图绘制到标记点展示的全流程功
在 HarmonyOS 的交互体系中,手势设计如同用户与设备对话的无声语言,能够极大地提升操作效率与用户体验。精心设计的手势交互不仅能让用户更便捷地使用设备,还能赋予应用灵动的交互魅力。下面我们深入探讨 HarmonyOS Design 中手势交互的设计原则以及相关案例。
本人在flutter上写了几个小项目,短暂学习了下swiftui课程,由于使用flutter跨平台支持鸿蒙,因此也学了点ArkTS,暂时没有上线项目,基于这几者的相似性,本人作下UI层面的使用比较展示首先,三者都属于声明式UI,使用具有很大的相似行,比较起来能更好的入手,三者相互影响。
市面上的情绪记录App我试了好几个,要么让我写一大段日记(我懒),要么就是打个心情emoji完事(太粗糙)。我想要的是一个特别轻量的东西——就像手机电量百分比一样,随手记一笔"+20 跑步回来精神了"或者"-30 项目评审被锤了",然后在时间轴上看到今天的能量流向。iOS版我自己用着爽,但换到华为手机的时候就断了,记录习惯一中断基本就废了。去年有段时间状态特别差,每天下午三点准时犯困,开会完脑子一
最开始是通过华为官方发布的仓吉白皮书熟悉了一下cangjie编程语言。通过白皮书指南,第一感受是cangjie几乎涵盖了我开发过程需要的特性。比较亮眼的是强制的Nullable类型处理,和静态ast编译技术。于是下意识的认为,动态特性上面也不会让人失望。可实际体验下来发现动态特性非常薄弱,随着开发需求和业务复杂性的提升,对动态特性的需求也变得越来越强烈。对cangjie在动态特性方面的薄弱也感到失
附近加油站查询是汽车类应用的典型场景之一,如用户需要加油时,可查询周边加油站的地址、距离等信息。本示例基于Map Kit的与Marker实现地图服务并标记附近加油站位置,从而筛选定位附近的加油站,也适用于充电桩查询。
在SwiftUI中,只有ForEach,没有公开资料描述ForEach加载方式。由于ForEach往往和List搭配使用,我们会关注ForEach里的view是不是懒加载的,在WWDC20-10031的材料中提到过:List里的内容总是以懒加载方式存在的。此外,SwiftUI提供了LazyVStack和LazyHStack这两个容器,放在这两个容器中的内容是懒加载的。ArkUI是鸿蒙的核心UI布局
错误提示:“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Sw
如果这个collection view在一个 viewcontroller没什么问题。比如你想让上下左右都是8 那设置为:layout.sectionInset = UIEdgeInsetsMake(8, 8, 8, 8)就可以正常了但是如果这个viewcontroller 在 navigation controller内的时候,好像默认会有个 上面是 navigato
cocopod导入第三方swift包(YogaKit)后,编译错误:The “Swift Language Version” (SWIFT_VERSION) build settingmust be set to a supported value for targets which use Swift.This setting can be set in the build settings
错误原因:可能是控件和代码中的定义没有关联起来。解决方法:点击控件,在Show the connections inspector中的Referencing Outlets中拖动圆点到界面中的控件,选择正确的控件,就建立起关联了。保持对象不被释放,去掉weak关键字.