登录社区云,与社区用户共同成长
邀请您加入社区
在类中重复定义同名的属性。Hvigor 编译错误是开发过程中不可避免的一部分。最常见的和错误源于 ArkTS 对类型系统的严格要求——这是一把双刃剑:它增加了类型安全性,但也增加了开发者的学习成本。掌握从构建日志定位错误的方法,理解常见错误的含义和修复策略,能够帮助开发者快速走出编译失败的困境。在 11 模块的复杂架构中,类型定义的统一管理和模块间依赖关系的清晰梳理,是减少编译错误的长效之道。
创建 LLM 可在 DevEco Code 中调用的工具。自定义工具是你创建的函数,LLM 可以在对话过程中调用它们。它们与 deveco 的内置工具(如readwrite和bash)协同工作。
组件化的核心问题之一就是组件之间怎么通信。父组件有个计数器的值,想让子组件也能显示这个值——怎么传?ArkUI 提供了@Prop装饰器来解决这个问题。@Prop让子组件能够接收父组件传递的数据,并且当父组件的数据变化时,子组件接收到的值也会自动更新。但要注意,这是单向的——子组件改不了父组件的值。先定义一个接受@Prop@Componentbuild() {Column() {声明了一个接受父组件
今天,我将用通俗易懂的方式,带你用HarmonyOS编写一个简单的教师节贺卡应用。我们从简单的文字按钮开始,逐步添加图片和动画,让贺卡变得生动有趣。对于教师节贺卡,我们只需要一个简单的界面:显示祝福文字、一张可爱的老师图片,以及一个交互按钮(比如点击后播放音乐或弹出消息)。
本文介绍了MeCharts应用首页的设计与实现,主要包含以下内容: 整体结构:首页采用顶部导航栏+可滚动内容区布局,内容区包含轮播图和分类网格。 数据模型:使用统一的AbcModel数据模型管理量表入口,通过@Observed装饰器实现数据变化自动刷新UI。 轮播组件:介绍了UISwiper和原生Swiper两种实现方式,包括自动播放、循环等关键属性配置。 网格布局:使用Grid组件展示量表分类入
✅ 快速记账(收入/支出切换)✅ 12种常用收支分类(餐饮、交通、购物、娱乐、工资、奖金等)✅ 自定义备注和记账时间✅ 月度收支总览卡片✅ 账单列表按日期分组显示✅ 分类占比统计(支出饼图)✅ 月度预算设置与超支提醒✅ 账单搜索功能✅ 按时间范围筛选账单✅ 账单编辑和删除✅ 连续记账天数统计✅ 收支趋势柱状图✅ 空状态友好提示✅ 记账成功Toast反馈✅ 分类图标彩色区分// 账单类型// 账单分
ArkTS 基于标准 ECMAScript,提供了完整的Date对象 API。本文将通过项目中的实际源码,展示常见的日期时间处理模式。
替换成本低:如果将来需要从 Preferences 迁移到数据库,只需要改 PreferenceUtil 的实现,Manager 层无需改动测试友好:可以用 Mock 的 Preferences 替换真实实例进行单元测试统一错误处理:PreferenceUtil 中统一 try-catch,Manager 层不再需要关注底层存储异常线程安全:Preferences 是线程安全的,多 Manager
在团队协作开发中,统一的代码风格和质量标准是保障工程可维护性的基石。HarmonyOS 提供了 Code Linter 工具,通过配置文件定义代码风格和安全规则。MoneyTrack 项目配置了包括 @typescript-eslint 规则、安全规则和性能规则在内的完整 Linter 体系。本文从 Linter 在开发流程中的定位出发,详细解析配置语法、规则体系、命名规范以及 CI/CD 集成方
存包柜位置查找柜格状态实时查看在线存包开柜扫码取包临时开柜超时提醒存包记录柜格大小选择存包费用计算超时费用计算柜格预约存包统计// 存包柜id: number;// 小/中/大// 空闲/使用中/故障/预约中// 存包记录id: number;// 存包中/已取走/超时实现了存包柜状态查看、存包、取包、费用计算、记录统计等功能。掌握了Grid布局、状态管理、时间费用计算、条件渲染等。
图书馆楼层选择实时座位状态查看在线预约座位扫码签到入座临时离开暂离结束使用释放占座举报监督学习时长统计预约提醒通知黑名单管理座位使用排行// 座位信息id: number;// 空闲/使用中/暂离/预约中/维修中// 预约记录id: number;// 待签到/使用中/已结束/已取消/违约// 举报记录id: number;// 待处理/已处理/无效举报。
不多废话,直接完整代码//1.axios实例对象baseURL:"",//模拟的后端数据请求timeout:10000, //请求超时时间,可选// headers: {'X-Custom-Header': 'foobar'} //请求头,可选})//2.添加请求拦截器,在请求发送前对配置进行统一处理// 对请求数据做点什么// 对请求错误做些什么});//定义后端标准返回格式的类型接口(根据需要
Step 3:主线程实现(UI + 图片选择 + Worker 通信)Step 2:编写 Worker 子线程脚本(滤镜处理逻辑)Step 1:创建项目与配置 Worker。
它是整个应用共享的单一数据源可以被任何组件访问和修改状态变化会自动更新所有依赖该状态的组件UI支持持久化存储(可选)// 定义全局状态// 创建 AppStorage 实例提供集中式的状态管理支持响应式UI更新实现跨组件状态共享可选持久化存储类型安全且易于维护通过合理使用 AppStorageV2,你可以构建更加健壮、可维护的鸿蒙应用,特别是在需要全局状态共享的场景(如用户设置、主题切换、用户认证
Component装饰器类别V1V2核心作用典型场景@Component组件定义✅❌创建标准组件业务UI组件组件定义❌✅创建可继承组件UI框架基类@State状态管理✅✅组件私有状态计数器、开关状态@Local状态管理❌✅V2组件状态(可继承)可继承的基类状态@Prop状态管理✅✅父→子单向同步接收父组件数据@Param状态管理❌✅V2父→子传参(可继承)可继承的组件参数@Link状态管理✅✅父子
文档类型 翻译速度(字/秒) 内存开销。支持Right-to-Left语言布局。普通文本 420 35MB。法律合同 180 68MB。技术文档 310 52MB。翻译准确率提升至98.2%排版错误率下降至0.3%自动记录翻译修改痕迹。敏感内容本地化脱敏处。文档处支持87种语言。
"id": "en_us", // 唯一标识"label": "English", // 显示名称"locale": "en-US", // 语言区域"mode": "qwerty", // 键盘模式"icon": "$media:en_icon" // 切换图标},"label": "中文",```### 2. module.json5 注册```json"resource": "$profil
在鸿蒙中开发自定义编辑框,关键在于通过实现与输入法的深度交互。本文用最简代码带你掌握绑定、事件监听和独立编辑功能~
嗨~我是小L!鸿蒙代理提醒能让应用关闭后仍准时触发通知。今天用3个核心点,带你快速掌握倒计时、日历、闹钟三类提醒的开发技巧~代码示例:倒计时提醒
创建目录,用于存放OpenHarmony源码。如果使用非root用户账号,完成下面指令。注册码云SSH公钥,请参考。注册码云gitee帐号。
ArkTS = TypeScript + 鸿蒙独有语法能力引入了全新的响应式开发范式(@State、@Prop 等)增强了组件式开发能力更适配多端运行(一次开发,多设备部署)✅ ArkTS 是鸿蒙系统的“第一语言”✅ 上手门槛低、语法现代、支持响应式和声明式开发✅ 未来所有 HarmonyOS NEXT 应用将优先支持 ArkTS。
Windows开发环境准备系统要求:Windows 10 64位系统。DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展,安装分为如下几步:安装Visual Studio Code安装Python安装Node.js安装hpm安装DevEco Device Tool插件1.获取软件工具名称用途说明版本要求获取渠道Vi...
1.简单来说,根据教程进行,作为菜鸟首次搭建环境,过程中注意尽可能与之环境完全一致,包括操作甚至版本。比如,既然教程中指示ubuntu16.04 64位,那么就老老实实去官方镜像下载这个os镜像,哪怕不偏离一个月份的子版本。特别地,有的情况,解压的文件甚至因为windows不区分大小写,从win管理的文件夹下解压再使用就会出错。哪怕是VM的本地共享文件夹也会出错。2.每执行一步诸如安装等的指令,都
本文通过分析一个多工具应用中的五个功能页面(二维码、单位换算、随机决策、颜色提取、倒计时),探讨了设计系统与架构思维。五个页面采用统一的视觉语言:深色渐变背景(#1A1A2E到#0F3460)、20px边距、圆角卡片(16px)、固定导航栏结构(返回按钮+标题),同时每个工具拥有独特的主色调(如二维码#4F6EF7、倒计时#FF2D55)。文章详细拆解了字号系统(标题18px/正文14-16px)
本文介绍了一个多功能单位换算器的实现,重点剖析了其数据模型、核心算法和交互设计。通过TypeScript的Record和interface定义了灵活的单位数据结构,其中温度单位因需要偏移量而特殊处理。换算算法分为两种模式:普通单位使用基于基本单位的factor公式,温度单位则通过中间转换(摄氏度)处理。文章详细解释了数字格式化策略,包括处理极值、精度控制和末尾零去除。状态管理采用6个@State变
HarmonyOS NEXT提供了三种代码复用机制:@Styles用于属性级复用,支持通用属性封装但不允许链式调用;@Builder实现组件级复用,可封装完整UI片段并支持参数传递;@Extend用于扩展原生组件,添加自定义属性方法但仅限全局定义。三者各有侧重,可组合使用——@Styles处理样式统一、@Builder构建模板组件、@Extend定制原生控件,从而提升代码复用性和维护性。关键区别在
本文介绍了如何优化星座运势应用中数据的可视化展示。面对新增的优势、弱点和最佳配对三类信息,作者采用分层设计策略:星点可视化(视觉焦点)、基础标签(元素/日期)、详细描述(优势/弱点)和标签列表(最佳配对)。通过扁平化数据结构(避免嵌套对象)和条件渲染技术,实现了三种UI状态的流畅切换。具体实现中,优势/弱点采用深色卡片展示纯文本,最佳配对则用金色标签呈现数组内容,结合emoji图标和精细的边框设计
HarmonyOS输入设备管理API详解 本文深入解析HarmonyOS NEXT的@ohos.multimodalInput.inputDevice模块,该模块专注于输入设备的元数据查询和生命周期管理。主要内容包括: 核心功能:设备枚举、详情查询、热插拔监听、键盘类型识别和空闲时间检测。 关键API: getDeviceList()获取所有设备ID getDeviceInfo()查询设备详情 o
本文探讨了一个塔罗牌运势应用的开发要点,重点分析了三张牌交互的实现细节。文章首先指出看似简单的三张牌布局实际涉及复杂状态管理,包括牌堆立体感、翻牌动画、独立状态和洗牌算法等。随后详细介绍了页面结构的三个阶段切换逻辑,以及如何利用三个@State数组管理牌面状态。在视觉实现上,通过Stack层叠和渐变效果营造牌堆立体感。最后解释了Fisher-Yates洗牌算法的实现原理,确保每天结果固定。整个设计
本文分析了基于ArkUI框架开发的硬币翻转和随机数生成功能,揭示了简单交互背后的技术细节。硬币页面展示了条件渲染、事件绑定与旋转动画的实现,通过if-else控制状态显示,利用rotate()实现翻转效果,并采用字符串而非布尔值增强可读性。随机数页面则演示了输入组件处理,通过TextInput获取用户输入范围并生成随机数,同时处理最小值可能大于最大值的边界情况。文章特别指出事件绑定中箭头函数保持t
本文介绍了美食转盘应用的数据持久化设计,采用文件存储食物数据和Preferences存储主题设置的双方案。文件存储适用于需全量读取和筛选的大数组数据(如50-100条食物记录),而Preferences适合频繁读取的小配置(如主题字符串)。文章详细解析了数据库类的初始化流程、文件读写底层实现、CRUD操作方法,以及转盘抽签的核心逻辑,展示了针对不同数据特性选择最优存储方案的设计思路。
美食转盘管理页功能解析 该管理页分为三个核心区域: 顶部输入区 - 含菜名输入框、emoji选择及添加按钮,支持必填校验和自动清空 中间分类区 - 横向滚动标签栏(中餐/日料等),用于指定新增食物分类 底部列表区 - 展示所有食物卡片,每项包含emoji图标、名称、收藏状态(⭐标记)及操作按钮(❤️收藏切换/🗑️删除) 交互亮点: 添加按钮随输入内容动态变色 分类标签采用选中态视觉反馈 收藏状态
本文系统介绍HarmonyOS 6.1+中ArkUI的基础文本和输入组件,涵盖Text、TextInput、TextArea和Button的使用方法。主要内容包括:Text组件的字体样式、装饰效果和多行省略;TextInput的不同输入类型(普通/密码/数字/邮箱);TextArea的多行文本输入;以及Button的多种样式(主按钮/危险按钮/禁用状态)。最后通过表单数据收集示例演示了组件的综合应
本文介绍了CapsuleDatabase在App中的核心作用与实现机制。作为数据存储中心,它采用"内存数组+Preferences持久化"的双层架构,兼顾性能与数据安全。内存层存储Capsule对象数组,持久化层通过Preferences存储JSON字符串,写入时先更新内存再同步磁盘。文章详细解析了Capsule接口的8个字段定义及其应用场景,阐述了CapsuleDatabase类的三个关键属性设
《记忆洗牌:时光胶囊的随机重逢体验》摘要: 记忆洗牌是时光胶囊应用中极具仪式感的功能,通过随机算法为用户抽取历史胶囊,打造"拆盲盒式"的回顾体验。该功能采用Fisher-Yates洗牌算法确保公平随机性,并设计了三种卡片展示状态(封印中/待开启/已开启)以适应不同场景。大卡片视觉设计强化沉浸感,配合无限刷新的交互逻辑和进度提示,让用户获得持续探索的乐趣。入口设置兼顾冲动操作与系统探索需求,空状态处
时光胶囊 App 主题系统设计摘要 时光胶囊 App 提供暖金、亮色、暗色、护眼四套主题,采用"一个变量驱动全局颜色"机制,通过 ThemeColors 接口和 getThemeColors() 工厂函数实现动态切换。系统采用四层架构(枚举→工厂函数→快捷方法→组件消费),确保职责清晰。暖金主题以棕金色调传递温暖感,亮色/暗色主题分别适配昼夜场景,护眼主题采用低蓝光绿色调。主题数据通过 Prefe
本文介绍了时间胶囊详情页的三种状态设计与实现。详情页根据胶囊状态(封印中、已到期、已开启)展示不同UI:封印中显示倒计时和模糊内容;已到期展示开启引导和按钮;已开启则完整显示内容、心情和标签。路由通过ID传递确保数据实时性,全局状态管理简化参数传递。开启操作仅标记状态不删除数据,保持历史记录完整性。设计注重功能性和情感体验,如模糊处理增加神秘感,直接展示内容强化"与未来对话"的核心理念。 (字数:
时光胶囊是一个有生命周期的数据对象,其核心设计围绕三种状态(未开启/可开启/已开启)展开。数据模型包含内容、心情、解锁时间、标签等字段,通过计算而非存储状态来动态判断当前状态。解锁时间提供多种选项(如1天/7天/30天),默认选择7天后。心情系统包含emoji和标签,用于情绪记录和统计。标签支持增删且需去重。整体采用Flex布局和统一的交互视觉模式,通过工厂函数创建包含唯一ID和时间戳的胶囊对象,