• [技术干货] 6月13日《HCCDA-HarmonyOS & Cloud Apps认证考试辅导》直播热门问题解答
    本次直播专为备考华为云鸿蒙应用入门级开发者认证的学员设计,提供系统的考试辅导。深度解析认证核心知识点,涵盖HarmonyOS介绍、应用开发入门、ArkTS语言、声明式开发范式组件、Stage应用模型、玩转服务卡片、鸿蒙应用网络请求开发、鸿蒙应用云函数调用等内容。华为云鸿蒙应用入门级开发者认证分为理论考试和实验考试两部分,60分为通过。理论考试时间为60分钟,试题分为判断:单选:多选,比例为3:4:3(考试题量50);实验考试共120分钟,声明式开发范式实验、Stage模型实验、ArkTS卡片实验、HarmonyOS调用FunctionGraph实验为重点考点。直播链接:cid:link_0; Q:harmonyos三大技术特性?A: ①硬件互助与资源共享②一次开发多端部署③统一OS弹性部署 Q:HAP分为以下哪几项类型?A:Entry、Feature Q:在HarmonyOS中,当用户从桌面点击一个应用图标启动应用时,UIAbility组件会经历以下哪个生命周期状态的变化?A:从Create到Foreground。 Q:在HarmonyOS的ArkTS卡片开发中,什么情况会触发卡片生命周期回调函数的调用?A:①卡片被添加到桌面②卡片被从桌面移除③卡片中的数据更新 Q:DevEco Studio支持预览器工具开启双向预览功能后,工具可以支持哪几个之间相互联动?A: 代码编辑器、Component Tree、UI界面。 Q:使用浏览器输出网址进行查询搜索,实际上相当于发送了以下哪一种HTTP请求方式?A:GET请求。 
  • [问题求助] 鸿蒙PC版CodeArts下载不了了?
    开了开发者模式,在应用尝鲜里也找不到?
  • [技术干货] 【赛题赋能】2025数博会系列赛暨华为开发者大赛贵州赛区赛题专家讲解火热出炉!
    开发者们,大家好!2025数博会系列赛暨华为开发者大赛贵州赛区 的赛题专家讲解环节,已经精彩呈现!本次大赛聚焦前沿技术与产业应用,本次讲解深入浅出地剖析了赛题的核心挑战与创新方向,不仅为参赛开发者们指明了思路、拓宽了视野,更激发了大家探索数智技术、解决实际问题的潜能。这不仅仅是竞技的舞台,更是创新人才与前沿技术碰撞交流的盛会。通过专家的解读,我们得以窥见未来技术突破的可能,感受贵州赛区乃至全国开发者群体的智慧与热情。现在,就让我们一同深入精彩讲解,洞察赛题背后的技术精髓与产业价值,共同期待这场“数智时代”创新人才的精彩绽放!鸿蒙应用创新赛题依托华为云全场景服务与鸿蒙分布式能力,面向智慧生活、智慧城市、智慧工业等领域开放命题。参赛者可结合AI、大数据、物联网等技术,开发端云协同解决方案,如家庭健康管家、城市环境精细化治理、工业生产智能监测等。昇腾云AI创新赛题基于昇腾云服务和MindSpore大模型能力,推动人工智能在实体经济的深度渗透。参赛方向涵盖食饮行业质量检测、文旅行业智慧导览等场景,如酱酒异物检测、智能导览规划推荐等,助力贵州产业提质增效。赋能讲解视频链接:
  • [问题求助] 鸿蒙PCCodeArts IDE配置tomcat显示 文件catalina.sh必须可执行
    显示文件catalina.sh 必须可执行
  • [技术干货] 赛题解读|2025年度中国青年“揭榜挂帅”擂台赛·华为赛道
    挑战杯是“挑战杯”全国大学生系列科技学术竞赛的简称,是由共青团中央、中国科协、教育部和全国学联共同主办的全国性的大学生课外学术实践竞赛。今年,本届大赛调整为中国青年科技创新“揭榜挂帅”擂台赛,旨在进一步围绕“硬科技”创新、“卡脖子”关键核心技术攻关。华为深度参与本届“揭榜挂帅”,助力科技创新,设置22个奖项。总奖金池30万元,其中擂主团队奖金10万元。获奖者更有机会进入华为人才储备池,并优先获得实习及就业的推荐机会。 详情请点击:cid:link_001 赛题介绍赛题名称:推理大模型的训练调优与性能加速助力全栈自主AI赛题背景在大语言模型(LLMs)迅速发展的浪潮中,推理能力和运行效率的显著进步正推动着AI技术走向更广泛的应用领域。2025年,以OpenAI的o1系列和DeepSeek R1为代表的模型,不仅在复杂任务如数学解题、编程上展现出卓越能力,还通过技术创新如量化、模型并行(MOE)、知识蒸馏等,大幅提升了模型在轻量化设备上的部署可行性。 华为命题旨在应用全栈自主AI开发工具链,基于昇腾AI云服务、Ascend-snt9b AI芯片、CANN异构计算架构和ModelArts开发平台,提升轻量级模型的推理能力和性能。参赛者将利用强化学习、微调、知识蒸馏、量化等方法优化指定模型,同时探索模型部署于端侧设备的潜力,促进模型在实际场景中的应用。 赛题说明本次比赛分为初赛和总决赛,具体要求如下:初赛:组委会提供Qwen轻量级模型和示例工程,参赛团队选择强化学习(如PPO)或知识蒸馏技术,在ModelArts环境中对模型进行微调,同时优化推理性能。初赛阶段分为A榜和B榜,其中B榜的性能部分要求选手必须有算子融合、优化方面的工作。初赛最终排名以B榜成绩和代码核查结果为准,筛选出一定数量的队伍入围。总决赛(终审擂台赛):参赛者需准备PPT进行答辩,介绍技术方案和应用demo,阐述推理能力和性能优化的方法及其实际应用场景。酌情加分项:使用华为开发者空间提供的相关资源和服务、端侧应用鸿蒙适配、及其他华为开放能力调用。 * 具体的指导文档点击文末「 阅读原文 」 获取赛题详情哦! 02 技术能力华为昇腾AI云服务技术能力解读全栈协同优化,构建AI云底座:昇腾AI云服务重构了云基础设施,利用多样化算力池、高性能缓存池和分级存储池等多层池化技术,减少由上到下的计算代价,大大提升了资源利用率,充分释放了昇腾算力规模。 全套工具链,让AI落地更简单:AI开发生产线ModelArts,提供了包括昇腾工具链、SDK、CLI、IDE插件等端到端生产工具链,支持数据管理、模型开发、训练、推理等全流程MLOps开发,提供了统一资源调度能力,提升AI开发效率,降低AI开发门槛和成本。 开箱即用,一站式大模型开发服务:ModelArts Studio大模型即服务平台(简称MaaS),提供了简单易用的模型开发工具链,支持大模型定制开发,让模型应用与业务系统无缝衔接,降低企业AI落地的成本与难度。 * ModelArts Studio大模型即服务平台:cid:link_1华为昇腾计算技术能力解读极致性能,极简应用:CANN是昇腾针对AI场景推出的异构计算架构,向上支持多种AI框架,包括MindSpore、PyTorch等,向下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。 * CANN 助力构筑昇腾AI算力平台:cid:link_3可视化,插件化:MindStudio是华为面向昇腾AI开发者提供的全流程工具链,致力于提供端到端的昇腾AI应用开发解决方案,使能开发者高效完成模型迁移与调优、模型转换与压缩、算子开发与编译等。 * MindStudio 全流程开发工具链:cid:link_2基于上述能力,参赛开发者可以提升开发效率:使用昇腾AI云服务,开发者可以在完善的工具链基础上,实现从数据处理、算法训练到模型部署的全流程开发,更快地进行模型迭代。 提升模型性能:借助高效的模型迁移调优工具链、硬件亲和的高性能算子,以及开放的自定义算子开发能力,开发者可快速提升模型推理性能。 提升应用效果:借助优质稳定的基础大模型,使用便捷的微调和测评工具,开发者可以快速构建自己的大模型应用,提高任务精度。 03 应用场景智能终端交互手机/平板AI助手:通过轻量化模型优化(如量化、知识蒸馏),可在端侧实现低延迟的语音交互、实时翻译、日程管理等,避免云端依赖。智能家居控制:优化后的模型可部署在家庭网关或边缘设备中,实现本地化自然语言指令解析(如“调节空调温度”),提升隐私性与响应速度。金融与客服智能客服系统:通过知识蒸馏压缩模型,在银行APP或呼叫中心本地部署,实现低延迟的合规性问答与交易指导。风险实时监控:轻量化模型分析交易流水,快速识别欺诈行为,提升边缘计算场景下的响应效率。医疗与生物技术电子病历分析:在医疗终端部署优化模型,辅助医生快速生成诊断建议(需结合联邦学习保障数据安全)。基因数据推理:通过模型并行技术加速基因组序列分析,缩短科研周期。 04 技术案例美图随着美图AIGC应用版图扩大,算力供应十分紧张,华为云为美图提供从昇腾AI云服务、大模型到上层应用的全方位支持,与美图共建全栈AI解决方案。通过华为云ModelArts一站式AI开发平台,为美图提供数据处理、算法开发、模型训练、模型管理、模型部署等全流程AI开发技术能力,满足复杂场景需求。千卡集群线性度95%、昇腾云脑1000+故障模式、故障发现<1min等领先的AI基础设施能力,保障美图的大规模训练快速迭代。
  • [大赛资讯] 重磅来袭!2025年度中国青年“揭榜挂帅”擂台赛·华为赛道邀你来战!
    挑战杯是“挑战杯”全国大学生系列科技学术竞赛的简称,是由共青团中央、中国科协、教育部和全国学联共同主办的全国性的大学生课外学术实践竞赛。团中央于 2021 年首次在第十七届“挑战杯”全国大学生课外学术科技作品竞赛中设置了“揭榜挂帅”专项赛。三届大赛来,累计吸引来自全国上千所高校、数万名学子踊跃参与。为汇聚更多青年科创人才的智慧力量,本届大赛调整为中国青年科技创新“揭榜挂帅”擂台赛,旨在进一步围绕“硬科技”创新、“卡脖子”关键核心技术攻关。2025年度中国青年“揭榜挂帅”擂台赛·华为赛道火热来袭!本次比赛聚焦大模型的推理能力提升和性能优化,参赛团队需基于昇腾全栈AI技术,使用强化学习、知识蒸馏等技术,提升选定的轻量级模型在数学计算、逻辑推理、代码生成等任务上的能力,并通过算子融合与优化、模型结构优化、量化等技术,保证精度的同时提升模型推理性能。诚邀各大高校精英云端竞技,打擂揭榜。一、即刻解锁赛事全攻略关于本次大赛,我们已为你整理总结了赛程安排、详细的参赛指导等选手关注的信息,点击海报查看。二、组队闯关!届时开放精英社群��想Get技术文档?寻找最强队友?与华为专家实时互动?扫码添加小助手,回复暗号“挑战杯”秒入群!在这里,与全国顶尖开发者共研大模型推理优化方案,一起竞技打擂,开发创新应用,助力全栈自主AI技术的新篇章!详情请点击:cid:link_0直达报名通道,攀登技术巅峰!
  • [问题求助] 为什么程序下载到板子后,每隔几秒就会自动重启呢?
    为什么程序下载到板子后,每隔几秒就会自动重启呢?这两种线程建立方式有何不同?
  • 拓课云积极拥抱纯血鸿蒙:推动在线教育与实时通讯在鸿蒙生态的发展
    在9月24日秋季全场景新品发布会上,华为隆重宣布,其备受期待的HarmonyOS NEXT操作系统将于10月8日开启公测。这一全新的操作系统,被业界誉为“纯血鸿蒙”,标志着国产操作系统在自主研发、技术创新上迈出了坚实的一步。HarmonyOS NEXT以其全新的架构设计,在性能、设计、安全、AI等多个方面实现了重大突破,为用户带来了真正的“原生鸿蒙”体验。北京拓课网络科技有限公司(以下简称“拓课云”),作为华为云的战略合作伙伴和核心服务伙伴,一直走在技术创新的前沿。拓课云积极响应对国产操作系统的支持,提前开展了深度适配HarmonyOS NEXT版本的工作,率先上线HarmonyOS NEXT版,成为在线教育和实时通讯领域拥抱鸿蒙生态的先行者。 拓课云Plus的鸿蒙纯血版本,完全基于鸿蒙原生系统开发,所有功能均采用鸿蒙原生代码完成。这种原生开发方式,使得这两款应用能够最大程度地发挥鸿蒙系统的软硬件性能,确保在HarmonyOS NEXT系统上提供流畅、稳定、清晰的音视频实时互动体验。无论是在线教育还是实时通讯,拓课云的产品都能满足用户对高品质服务的需求。  为了进一步满足开发者的需求,拓课云云还推出了原生鸿蒙版本的SDK和带界面的UISDK。这些套件的推出,将极大地简化开发者的集成和对接开发工作,使客户能够根据自己的需求快速进行开发整合和封装调用,从而推动业务的高效整合和推进。 随着“鸿蒙宇宙”的加速打造,拓课云将继续深化与HarmonyOS NEXT系统的融合,利用其强大的分布式能力、流畅的操作体验以及高度的安全性,为客户提供更加可靠、易用的产品。拓课云多款应用的鸿蒙版本现已在鸿蒙应用商店上线。用户在更新至纯血鸿蒙系统后,可以前往应用市场搜索并下载使用。这不仅是拓课云对国产操作系统的支持和响应,也是对用户提供全方位支持和服务的体现。拓课云将继续携手华为,共同推动鸿蒙生态的繁荣发展。随着鸿蒙系统的不断成熟和普及,拓课云的产品也将在新的生态环境中绽放新姿,为用户带来更加丰富和高效的应用体验。
  • [行业资讯] 鸿蒙电脑和传统的安卓平板加键盘有啥区别
    鸿蒙电脑和传统的安卓平板加键盘有啥区别?华为乾坤的软件有集成进去吗
  • [问题求助] 有关于BearPi-Pico H3863
    纯新人,我想问一下BearPi-Pico H3863是否可以进行开源鸿蒙开发,如果可以是否有教程可以学习呢? 
  • [技术干货] 鸿蒙开发最受欢迎的第三方库 —— @pura/harmony-utils
    插件介绍首先,打开OpenHarmony三方库中心仓的主页:https://ohpm.openharmony.cn/#/cn/home可以看到左下角,最受欢迎的第三方库,排名第一的就是 @pura/harmony-utils点击进去可以看到它的简介harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。harmony-dialog 一款极为简单易用的零侵入弹窗,仅需一行代码即可轻松实现,无论在何处都能够轻松弹出。安装方式首先创建DevStudio项目,然后在控制台执行 ohpm i @pura/harmony-utils 安装插件即可模块介绍模块介绍AppUtilAPP相关工具类DeviceUtil设备相关工具类DisplayUtil屏幕相关工具类PermissionUtil申请授权工具类NotificationUtil通知工具类EmitterUtilEmitter工具类(进行线程间通信)WantUtilWant工具类AuthUtil手机的生物认证(指纹、人脸、密码)工具类PreferencesUtilPreferences(用户首选项)工具类KvUtil键值型数据库工具类CacheUtil缓存工具类LRUCacheUtilLRUCache缓存工具类FileUtil文件操作相关工具类PickerUtil拍照、文件(文件、图片、视频、音频)选择和保存,工具类PhotoHelper相册相关工具类ImageUtil图片相关工具类SnapshotUtil组件截图和窗口截图工具类PreviewUtil文件预览工具类ScanUtil码工具类(扫码、码图生成、图片识码)LocationUtil定位工具类(WGS-84坐标系)LogUtil日志工具类ResUtil资源工具类DateUtil日期工具类StrUtil字符串工具类RegexUtil正则工具类FormatUtil格式化工具类CharUtil字符工具类Base64UtilBase64工具类NumberUtilnumber工具类ArrayUtil集合工具类RandomUtil随机工具类ObjectUtil对象工具类JSONUtilJSON工具类ClickUtil节流、防抖 工具类(用于点击事件,防止按钮被重复点击)CrashUtil全局异常捕获,崩溃日志收集KeyboardUtil键盘工具类PasteboardUtil剪贴板工具类NetworkUtil网络相关工具类AssetUtil关键资产存储服务工具类TempUtil温度转换工具类,华氏度与摄氏度相互转换DialogUtil弹窗工具类(AlertDialog)ToastUtil吐司工具类(promptAction)SM2、SM3、SM4、AES、DES、RSA、MD5、SHA、ECDSA、CryptoUtil、CryptoHelper加解密算法工具类CryptoUtil:加解密公用工具类,配合各个加密模块使用。CryptoHelper:加解密数据类型转换。项目代码如下前面的是官方的模块结构,下面是我根据代码结构进行的总结包含义action目录是对话框crypto目录是加密工具entity主要是通知的配置文件photo是图像工具类utils是通用的工具类,也是主要的功能所在完整功能模块AppUtil(APP相关工具类)方法介绍init初始化方法,缓存全局变量,在UIAbility的onCreate方法中初始化该方法getContext获取上下文,common.UIAbilityContextgetWindowStage获取WindowStagegetMainWindow获取主窗口getUIContext获取UIContextsetGrayScale设置灰阶,APP一键置灰setStatusBar设置沉浸式状态栏(需要配合getStatusBarHeight和getNavigationIndicatorHeight一起使用)getWindowProperties获取当前窗口的属性getKeyboardAvoidMode获取虚拟键盘抬起时的页面避让模式(OFFSET-上抬模式、RESIZE-压缩模式)setKeyboardAvoidMode设置虚拟键盘弹出时,页面的避让模式isPortrait当前设备是否以竖屏方式显示isLandscape当前设备是否以横屏方式显示setPreferredOrientation设置窗口的显示方向属性setWindowBrightness设置屏幕亮度值setWindowKeepScreenOn设置屏幕是否为常亮状态setWindowPrivacyMode设置窗口是否为隐私模式。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏setWindowBackgroundColor设置窗口的背景色。Stage模型下,该接口需要在loadContent()或setUIContent()调用生效后使用setWindowFocusable设置点击时是否支持切换焦点窗口setWindowTouchable设置窗口是否为可触状态getStatusBarHeight获取状态栏的高度,单位为pxgetNavigationIndicatorHeight获取底部导航条的高度,单位为px。getBundleInfo获取当前应用的BundleInfogetBundleName获取应用包的名称getVersionCode获取应用版本号getVersionName获取应用版本名getTargetVersion获取运行应用包所需要最高SDK版本号getAppInfo获取应用程序的配置信息exit主动退出整个应用;调用该方法后,任务中心的任务默认不会清理,如需清理,需要配置removeMissionAfterTerminate为true。DeviceUtil(设备相关工具类)方法介绍getDeviceId获取设备ID(卸载APP后依旧不变)deleteDeviceId移除设备IDgetBrand获取设备品牌名称getProductModel获取认证型号getOsReleaseType获取系统的发布类型,取值为:Canary、Beta、ReleasegetOsFullName获取系统版本getDisplayVersion获取产品版本getSdkApiVersion获取系统软件API版本getBuildVersion获取Build版本号,标识编译构建的版本号getODID获取开发者匿名设备标识符getConfigurationgetConfigurationSync获取设备的ConfigurationgetDirection获取当前设备屏幕方向getDeviceCapabilitygetDeviceCapabilitySync获取设备的DeviceCapabilitygetDeviceType获取当前设备类型getDeviceTypeStr获取当前设备类型,返回字符串getScreenDensity获取当前设备屏幕密度startVibration开启设备振动stopVibration停止设备振动(按照VIBRATOR_STOP_MODE_TIME模式)DisplayUtil(屏幕相关工具类)方法介绍getDefaultDisplaySync获取当前默认的display对象getWidth获取设备的屏幕宽度,单位为pxgetHeight获取设备的屏幕高度,单位为pxgetOrientation获取设备当前显示的方向getDisplayState获取设备的状态getCutoutRect获取取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。建议应用布局规避该区域getCutoutHeight获取挖孔屏、刘海屏等不可用屏幕区域的高度,单位为pxisFoldable检查设备是否可折叠getFoldStatus获取可折叠设备的当前折叠状态getFoldDisplayMode获取可折叠设备的显示模式onFoldStatusChange开启折叠设备折叠状态变化的监听offFoldStatusChange关闭折叠设备折叠状态变化的监听PermissionUtil(申请授权工具类)方法介绍checkPermissions校验当前是否已经授权checkRequestPermissions校验是否授权后并申请授权requestPermissions申请授权requestPermissionsEasy申请授权,拒绝后并二次向用户申请授权(申请权限,建议使用该方法)。requestPermissionOnSetting二次向用户申请授权(单个权限 或 读写权限组,建议使用该方法)。requestPermissionOnSettingEasy二次向用户申请授权(多个权限建议使用该方法)。NotificationUtil(通知工具类)方法介绍setDefaultConfig设置通知的默认统一配置isNotificationEnabledisNotificationEnabledSync查询通知是否授权authorizeNotification请求通知授权,第一次调用会弹窗让用户选择。isSupportTemplate查询模板是否存在,目前仅支持进度条模板。isDistributedEnabled查询设备是否支持分布式通知publishBasic发布普通文本通知publishMultiLine发布多文本通知publishLongText发布长文本通知publishPicture发布带有图片的通知publishTemplate发布模板通知cancel取消通知cancelGroup取消本应用指定组下的通知cancelAll取消所有通知setBadge设置桌面角标个数clearBadge清空桌面角标setBadgeFromNotificationCount设置桌面角标数量,来自于通知数量getActiveNotificationCount获取当前应用未删除的通知数量getActiveNotifications获取当前应用未删除的通知列表addSlot创建指定类型的通知渠道getSlot获取一个指定类型的通知渠道getSlots获取此应用程序的所有通知渠道removeSlot删除此应用程序指定类型的通知渠道removeAllSlots删除此应用程序所有通知渠道generateNotificationId生成通知id(用时间戳当id)getDefaultWantAgent创建一个可拉起Ability的WantgetCompressedPicture获取压缩通知的图片(图像像素的总字节数不能超过2MB)getCompressedIcon获取压缩通知图标(图标像素的总字节数不超过192KB)EmitterUtil(Emitter工具类(进行线程间通信))方法介绍post发送事件onSubscribe订阅事件onceSubscribe单次订阅指定事件unSubscribe取消事件订阅getListenerCount获取指定事件的订阅数on订阅事件,支持Callbackonce单次订阅指定事件,支持Callbackoff取消事件订阅,支持CallbackWantUtil(Want工具类)方法介绍toSetting跳转系统设置页面(配合WantUtil里的URI常量一起使用,可跳转更多的设置页面)toAppSetting跳转应用设置页面toNotificationSetting跳转通知设置页面toNetworkSetting跳转移动网络设置页面toWifiSetting跳转WLAN设置页面toBluetoothSetting跳转蓝牙设置页面toNfcSetting跳转NFC设置页面toVolumeSetting跳转声音和振动设置页面toStorageSetting跳转存储设置页面toBatterySetting跳转电池设置页面toWebBrowser拉起系统浏览器toAppGalleryDetail拉起应用市场对应的应用详情界面toFileManagement拉起系统文件管理器startMMS拉起短信界面并指定联系人openFile调用三方软件打开文件AuthUtil(手机的生物认证(指纹、人脸、密码)工具类)方法介绍getAvailableStatus查询指定类型和等级的认证能力是否支持onStartEasy开始认证,使用指纹和密码认证onStart开始认证,用户指定类型认证cancel取消认证KvUtil(键值型数据库工具类 )方法介绍put添加指定类型的键值对到数据库getgetStringgetNumbergetBooleangetUint8Array获取指定键的值delete从数据库中删除指定键值的数据putBatch批量插入键值对到SingleKVStore数据库中deleteBatch批量删除SingleKVStore数据库中的键值对getEntries获取匹配指定键前缀的所有键值对backup以指定名称备份数据库restore从指定的数据库文件恢复数据库deleteBackup根据指定名称删除备份文件onDataChange订阅指定类型的数据变更通知offDataChange取消订阅数据变更通知PreferencesUtil(Preferences工具类)方法介绍init初始化putputSync将数据缓存getgetSync获取缓存值getStringgetStringSync获取string类型的缓存值getNumbergetNumberSync获取number类型的缓存值getBooleangetBooleanSync获取boolean类型的缓存值hashasSync检查缓存实例中是否包含给定Key的存储键值对getBooleangetBooleanSync获取boolean类型的缓存值deletedeleteSync删除缓存值clearclearSync清空缓存deletePreferences从缓存中移出指定的Preferences实例,若Preferences实例有对应的持久化文件,则同时删除其持久化文件。onChange订阅数据变更,订阅的Key的值发生变更后,在执行flush方法后,触发callback回调offChange取消订阅数据变更onDataChange精确订阅数据变更,只有被订阅的key值发生变更后,在执行flush方法后,触发callback回调offDataChange取消精确订阅数据变更CacheUtil(缓存工具类 )方法介绍has缓存中的数据是否存在get获取缓存中的数据put将数据存入缓存中remove删除key对应的缓存isEmpty判断缓存是否为空clear清除缓存数据LRUCacheUtil(LRUCache缓存工具类 )方法介绍getInstance获取LRUCacheUtil的单例has判断是否包含key对应的缓存get获取key对应的缓存put添加缓存到lruCache中remove删除key对应的缓存isEmpty判断lruCache缓存是否为空getCapacity获取当前缓冲区的容量updateCapacity重新设置lruCache的容量clear清除缓存数据,并重置lruCache的大小FileUtil(文件操作相关工具类)方法介绍getFilesDirPath获取文件目录下的文件夹路径或文件路径getCacheDirPath获取缓存目录下的文件夹路径或文件路径getTempDirPath获取临时目录下的文件夹路径或文件路径hasDirPath判断是否是完整路径getFileUri通过URI或路径,获取FileUrigetFileName通过URI或路径,获取文件名getFilePath通过URI或路径,获取文件路径getParentUri通过URI或路径,获取对应文件父目录的URIgetParentPath通过URI或路径,获取对应文件父目录的路径名getUriFromPath以同步方法获取文件URIgetFileExtention根据文件名获取文件后缀getFileDirSize获取指定文件夹下所有文件的大小或指定文件大小isFile判断文件是否是普通文件isDirectory判断文件是否是目录renamerenameSync重命名文件或文件夹,使用Promise异步回调mkdirmkdirSync创建目录,当recursion指定为true,可多层级创建目录rmdirrmdirSync删除整个目录,使用Promise异步回调unlinkunlinkSync删除单个文件,使用Promise异步回调accessaccessSync检查文件是否存在,使用Promise异步回调openopenSync打开文件,支持使用URI打开文件readreadSync从文件读取数据readTextreadTextSync基于文本方式读取文件(即直接读取文件的文本内容)writewriteSync将数据写入文件writeEasy将数据写入文件,并关闭文件closecloseSync关闭文件listFilelistFileSync列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤statstatSync获取文件详细属性信息copy拷贝文件或者目录,支持拷贝进度监听copyFilecopyFileSync复制文件moveFilemoveFileSync移动文件moveDirmoveDirSync移动源文件夹至目标路径下truncatetruncateSync截断文件lstatlstatSync获取链接文件信息fsyncfsyncSync同步文件数据fdatasyncfdatasyncSync实现文件内容数据同步createStreamcreateStreamSync基于文件路径打开文件流fdopenStreamfdopenStreamSync基于文件描述符打开文件流mkdtempmkdtempSync创建临时目录dup将文件描述符转化为Fileutimes修改文件最近访问时间属性getFormatFileSize格式化文件大小persistPermissionpersistPermissionEasy对所选择的多个文件或目录URI持久化授权。(需要权限:ohos.permission.FILE_ACCESS_PERSIST)revokePermissionrevokePermissionEasy对所选择的多个文件或目录uri取消持久化授权。(需要权限:ohos.permission.FILE_ACCESS_PERSIST)activatePermissionactivatePermissionEasy对已经持久化授权的权限进行使能操作,否则已经持久化授权的权限仍存在不能使用的情况。(需要权限:ohos.permission.FILE_ACCESS_PERSIST)deactivatePermissiondeactivatePermissionEasy取消使能授权过的多个文件或目录。(需要权限:ohos.permission.FILE_ACCESS_PERSIST)checkPersistentPermission校验所选择的多个文件或目录URI持久化授权。(需要权限:ohos.permission.FILE_ACCESS_PERSIST)PickerUtil(拍照、文件选择和保存,工具类)方法介绍camera调用系统相机,拍照、录视频selectPhoto通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频savePhoto通过保存模式拉起photoPicker进行保存图片或视频资源的文件名,若无参数,则默认需要用户自行输入selectDocument通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件saveDocument通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件selectAudio通过选择模式拉起audioPicker界面,用户可以选择一个或多个音频文件saveAudio通过保存模式拉起audioPicker界面,用户可以保存一个或多个音频文件PhotoHelper(相册相关,工具类)方法介绍select通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频save申请权限保存,保存图片或视频到相册。showAssetsCreationDialog弹窗授权保存,调用接口拉起保存确认弹窗。showAssetsCreationDialogEasy弹窗授权保存,调用接口拉起保存确认弹窗,并保存。applyChanges安全控件保存,提交媒体变更请求,插入图片/视频。getPhotoAsset获取对应uri的PhotoAsset对象,用于读取文件信息ImageUtil(图片相关工具类 )方法介绍base64ToPixelMap图片base64字符串转PixelMappixelMapToBase64StrPixelMap转图片base64字符串savePixelMap保存pixelMap到本地saveImageSource保存ImageSource到本地createImageSource创建图片源实例createIncrementalSource以增量的方式创建图片源实例packingFromPixelMap图片压缩或重新打包,使用Promise形式返回结果packingFromImageSource图片压缩或重新打包,使用Promise形式返回结果packToFileFromPixelMap将PixelMap图片源编码后直接打包进文件packToFileFromImageSource将ImageSource图片源编码后直接打包进文件getPixelMapFromMedia用户获取resource目录下的media中的图片PixelMapcompressedImage图片压缩compressPhoto图片压缩,返回压缩后的图片文件路径SnapshotUtil(组件截图和窗口截图工具类)方法介绍getgetSync获取已加载的组件的截图,传入组件的组件id,找到对应组件进行截图createFromBuilder在应用后台渲染CustomBuilder自定义组件,并输出其截图snapshot获取窗口截图,使用Promise异步回调onSnapshotListener开启系统截屏事件的监听removeSnapshotListener关闭系统截屏事件的监听PreviewUtil(文件预览工具类)方法介绍generatePreviewInfo根据文件uri构建PreviewInfoopenPreview通过传入文件预览信息,打开预览窗口。1秒内重复调用无效openPreviewEasy通过传入文件的uri,打开预览窗口。1秒内重复调用无效canPreview根据文件的uri判断文件是否可预览hasDisplayed判断预览窗口是否已经存在closePreview关闭预览窗口,仅当预览窗口存在时起效loadData加载预览文件信息。仅当预览窗口存在时起效loadDataEasy加载预览文件信息。仅当预览窗口存在时起效onSharePreview调用其他应用预览文件getTypeDescriptor根据文件后缀名获取TypeDescriptor(标准化数据类型的描述类)getMimeType根据文件后缀名获取文件mimeTypegetIconFileStr根据文件后缀名获取对应文件类型的图标ScanUtil(码工具类(扫码、码图生成、图片识码))方法介绍startScanForResult调用默认界面扫码,使用Promise方式异步返回解码结果generateBarcode码图生成,使用Promise异步返回生成的码图onPickerScanForResult通过picker拉起图库并选择图片,并调用图片识码onDetectBarCode调用图片识码,使用Promise方式异步返回识码结果canIUseScan判断当前设备是否支持码能力LocationUtil(定位工具类(WGS-84坐标系))方法介绍isLocationEnabled判断位置服务是否已经使能(定位是否开启)。requestLocationPermissions申请定位权限getCurrentLocationEasy获取当前位置getCurrentLocation获取当前位置onLocationChangeEasy开启位置变化订阅,并发起定位请求。onLocationChange开启位置变化订阅,并发起定位请求offLocationChange关闭位置变化订阅,并删除对应的定位请求isGeocoderAvailable判断地理编码与逆地理编码服务是否可用getAddressFromLocationName地理编码,将地理描述转换为具体坐标getGeoAddressFromLocationName地理编码,将地理描述转换为具体坐标集合getAddressFromLocation逆地理编码,将坐标转换为地理描述getGeoAddressFromLocation逆地理编码,将坐标转换为地理描述集合getCountryCode获取当前的国家码calculateDistance计算这两个点间的直线距离,单位为米LogUtil(日志工具类)方法介绍init初始化日志参数(该方法建议在Ability里调用)setDomain设置日志对应的领域标识,范围是0x0~0xFFFF。(该方法建议在Ability里调用)setTag设置日志标识(该方法建议在Ability里调用)setShowLog是否打印日志(该方法建议在Ability里调用)debug打印DEBUG级别日志info打印INFO级别日志warn打印WARN级别日志error打印ERROR级别日志fatal打印FATAL级别日志print打印JSON对象和JSON字符串(日志过滤tag为:JSAPP)ResUtil(资源工具类)方法介绍getResourceManager获取提供访问应用资源的能力getBoolean获取指定资源对应的布尔结果getBooleanByName获取指定资源名称对应的布尔结果getNumber获取指定资源对应的integer数值或者float数值getNumberByName获取指定资源名称对应的integer数值或者float数值getStringValuegetStringSync获取指定资源对应的字符串getStringByNamegetStringByNameSync获取指定资源名称对应的字符串getStringArrayValuegetStringArrayValueSync获取指定资源对应的字符串数组getStringArrayByNamegetStringArrayByNameSync获取指定资源名称对应的字符串数组getPluralStringValuegetPluralStringValueSync根据指定数量获取指定resource对象表示的单复数字符串getPluralStringByNamegetPluralStringByNameSync根据指定数量获取指定资源名称表示的单复数字符串getColorgetColorSync获取指定资源对应的颜色值(十进制)getColorByNamegetColorByNameSync获取指定资源名称对应的颜色值(十进制)getMediaContentgetMediaContentSync获取指定资源对应的默认或指定的屏幕密度媒体文件内容getMediaByNamegetMediaByNameSync获取指定资源名称对应的默认或指定的屏幕密度媒体文件内容getMediaContentBase64getMediaContentBase64Sync获取指定资源ID对应的默认或指定的屏幕密度图片资源Base64编码getMediaBase64ByNamegetMediaBase64ByNameSync获取指定资源名称对应的默认或指定的屏幕密度图片资源Base64编码getRawFileContentgetRawFileContentSync获取resources/rawfile目录下对应的rawfile文件内容getRawFileContentStrgetRawFileContentStrSync获取resources/rawfile目录下对应的rawfile文件内容(字符串)getRawFileListgetRawFileListSync获取resources/rawfile目录下文件夹及文件列表(若文件夹中无文件,则不返回;若文件夹中有文件,则返回文件夹及文件列表)getRawFd用户获取resources/rawfile目录下对应rawfile文件所在hap的descriptor信息closeRawFdcloseRawFdSync用户关闭resources/rawfile目录下rawfile文件所在hap的descriptor信息addResource应用运行时,加载指定的资源路径,实现资源覆盖removeResource用户运行时,移除指定的资源路径,还原被覆盖前的资源isRawDir用户判断指定路径是否是rawfile下的目录(true:表示是rawfile下的目录,false:表示不是rawfile下的目录)getConfigurationgetConfigurationSync获取设备的ConfigurationgetDeviceCapabilitygetDeviceCapabilitySync获取设备的DeviceCapabilityDateUtil(日期工具类)方法介绍getFormatDate获取格式化日期,将传入的日期格式化为DategetFormatDateStr获取格式化日期,将传入的日期格式化为指定格式的字符串getToday获取今天的日期getTodayTime获取今天的时间戳getTodayStr获取今天的时间,字符串类型isToday判断日期是否是今天getNowYear获取当前年getNowMonth获取当前月getNowDay获取当前日isLeapYear判断是否是闰年getDaysByYear获取指定年份的天数getDaysByMonth获取指定月份的天数isSameYear判断两个日期是否是同一年isSameMonth判断两个日期是否是同一月isSameWeek判断两个日期是否是同一周isSameDay判断是否是同一天getCalendar获取日历对象,并设置日历对象内部的时间日期getCalendarField获取日历对象中与field相关联的值。getCalendarAdd在日历的给定字段进行加减操作isWeekend判断指定的日期在日历中是否为周末compareDays比较指定日期相差的天数compareDate比较指定日期相差的毫秒数getAmountDay获取前几天日期或后几天日期getAmountDayStr获取前几天日期或后几天日期,返回字符串getBeforeDay获取前一天日期getBeforeDayStr获取前一天日期,返回字符串getAfterDay获取后一天日期getAfterDayStr获取后一天日期,返回字符串getWeekOfMonth获取给定日期是当月的第几周getWeekDay获取给定的日期是星期几getLastDayOfMonth获取给定年份和月份的最后一天是几号getFormatTime格式化时间日期字符串(DateTimeFormat)getFormatRange格式化时间日期段字符串(DateTimeFormat)getFormatRelativeTime格式化相对时间getTipDateStr格式化时间戳,获取提示性时间字符串StrUtil(字符串工具类)方法介绍isNull判断字符串是否为空(undefined、null)isNotNull判断字符串是否为非空isEmpty判断字符串是否为空(undefined、null、字符串长度为0)isNotEmpty判断字符串是否为非空isBlank判断字符串是否为空和空白符(空白符包括空格、制表符、全角空格和不间断空格)isNotBlank判断字符串是否为非空replace替换字符串中匹配的正则为给定的字符串replaceAll替换字符串中所有匹配的正则为给定的字符串startsWith判断字符串是否以给定的字符串开头endsWith判断字符串是否以给定的字符串结尾repeat将字符串重复指定次数toLower将整个字符串转换为小写toUpper将整个字符串转换为大写capitalize将字符串首字母转换为大写,剩下为小写equal判断两个传入的数值或者是字符串是否相等notEqual判断两个传入的数值或者是字符串是否不相等strToUint8Array字符串转Uint8Arrayunit8ArrayToStrUint8Array转字符串strToBase64字符串转Base64字符串base64ToStrBase64字符串转字符串strToBuffer字符串转ArrayBufferbufferToStrArrayBuffer转字符串bufferToUint8ArrayArrayBuffer转Uint8Arrayunit8ArrayToBufferUint8Array转ArrayBuffergetErrnoToString获取系统错误码对应的详细信息RegexUtil(正则工具类)方法介绍isPhone判断传入的电话号码格式是否正确isMatch给定内容是否匹配正则(配合RegexUtil里的正则常量一起使用)isEmail判断传入的邮箱格式是否正确isEmoji判断字符串是否包含表情FormatUtil(格式化工具类)方法介绍isPhone判断传入的电话号码格式是否正确getPhoneFormat对电话号码进行格式化getPhoneLocationName获取电话号码归属地transliterator将输入字符串从源格式转换为目标格式(中文汉字转为拼音)getIconFont解析iconFont字符CharUtil(字符工具类)方法介绍isDigit判断字符串char是否是数字isLetter判断字符串char是否是字母isLowerCase判断字符串char是否是小写字母isUpperCase判断字符串char是否是大写字母isSpaceChar判断字符串char是否是空格符isWhitespace判断字符串char是否是空白符isRTL判断字符串char是否是从右到左语言的字符isIdeograph判断字符串char是否是表意文字isBlankChar判断是否空白符 空白符包括空格、制表符、全角空格和不间断空格isAscii判断字符是否位于ASCII范围内(0~127)Base64Util(Base64工具类)方法介绍decodeencodeSync解码,通过输入参数解码后输出对应Uint8Array对象encodeToStrencodeToStrSync编码,通过输入参数编码后输出对应文本encodedecodeSync编码,通过输入参数编码后输出Uint8Array对象NumberUtil(number工具类)方法介绍isNumber判断是否是数值toInt将字符串转换为整数toFloat将字符串转换为浮点数ArrayUtil(集合工具类)方法介绍isNotEmpty判断集合是否为非空集合isEmpty判断集合是否为空集合removeEmpty去除字符串数组中的空值trim去除字符串数组的每个值的前后空格distinct将数组去重,去重后生成新的数组,原数组不变reverse将数组反转,会修改原始数组filter数组过滤,通过filter函数实现来过滤返回需要的元素append拼接数据,使用扩展运算符,不影响原数组。min获取数组最小值(数值、字符串、日期)max获取数组最大值(数值、字符串、日期)flatten平铺二维数组union平铺二维数组,并去重chunk数组分块contain判断集合是否包含某个值remove移除集合的某个值RandomUtil(随机工具类)方法介绍getRandomBoolean生成随机Boolean值getRandomInt生成随机整数(可指定范围)getRandomNumber生成指定范围内的随机数getRandomLimit生成指定范围内的随机数 [0,limit)getRandomChineseChar生成一个随机汉字getRandomChinese生成随机汉字getRandomStr根据指定字符串,随机生成 指定长度的字符串getRandomDataBlob生成随机指定长度的DataBlobgetRandomUint8Array生成随机指定长度的Uint8ArraygetRandomColor生成随机颜色,十六进制generateUUID36生成36位UUID,带-generateUUID32生成32位UUID,带-generateRandomUUID使用加密安全随机数生成器生成随机的RFC 4122版本4的string类型UUIDgenerateRandomBinaryUUID使用加密安全随机数生成器生成随机的RFC 4122版本4的Uint8Array类型UUIDObjectUtil(对象工具类)方法介绍getHash获取对象的Hash值getClassName获取对象的Class名称getMethodsNames获取对象的所有方法名isString判断是否是StringisNull判断对象是否为空isEmpty判断属性内容是否为空shallowCopy浅拷贝deepCopy深度拷贝对象assign合并两个或多个对象objToClassobj转class,解决obj as class后丢失方法的问题deleteRecord删除Record中的元素getValue通过key获取对象值JSONUtil(JSON工具类)方法介绍jsonToBeanJSON字符串转对象beanToJsonStr对象转JSON字符串jsonToArrayJSON字符串转ArrayjsonToMapJSON字符串转MapmapToJsonStrMap转JSON字符串isJSONStr判断是否是字符串格式jsonClickUtil(节流、防抖 工具类)方法介绍throttle节流:在一定时间内,只触发一次debounce防抖:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数CrashUtil(全局异常捕获,崩溃日志收集)方法介绍onError注册错误观测器。注册后可以捕获到应用产生的js crash,应用崩溃时进程不会退出。将异常信息写入本地文件offError注销错误观测器readErrorText读取错误日志文件onExportErrorLog导出错误日志文件enableAppRecovery启用应用恢复功能,参数按顺序填入。该接口调用后,应用从启动器启动时第一个Ability支持恢复。restartApp重启APP,并拉起应用启动时第一个Ability,可以配合errorManager相关接口使用saveAppState保存当前App状态 或 主动保存Ability的状态,这个状态将在下次恢复启动时使用。可以配合errorManager相关接口使用setRestartWant设置下次恢复主动拉起场景下的Ability。该Ability必须为当前包下的UIAbilityPasteboardUtil(剪贴板工具类 )方法介绍setDataText将纯文本数据写入系统剪贴板setDataHtml将Htm数据写入系统剪贴板setDataUri将Uri数据写入系统剪贴板getDatagetDataSync读取系统剪贴板内容getDataStrgetDataSyncStr读取系统剪贴板里的字符串hasDatahasDataSync判断系统剪贴板中是否有内容clearData清空系统剪贴板内容KeyboardUtil(键盘工具类)方法介绍show拉起键盘hide隐藏键盘onKeyboardListener订阅输入法软键盘显示和隐藏事件removeKeyboardListener取消订阅输入法软键盘显示或隐藏事件NetworkUtil(网络相关工具类)方法介绍hasDefaultNet检查默认数据网络是否被激活hasDefaultNetSync检查默认数据网络是否被激活hasNetWiFi判断当前网络是否是Wi-Fi,否则是移动流量热点网络getNetBearType获取网络类型getIpAddress获取当前设备的IP地址(设备连接Wi-Fi后)register订阅指定网络状态变化的通知,支持多事件监听回调unregister取消订阅默认网络状态变化的通知AssetUtil(关键资产存储服务工具类)方法介绍addaddSync新增一条关键资产getgetSync查询关键资产removeremoveSync删除关键资产canIUse当前设备是否支持该模块TempUtil(温度转换工具类)方法介绍F2C华氏度转摄氏度C2F摄氏度转华氏度DialogUtil(弹窗工具类)方法介绍setDefaultConfig设置默认统一样式showConfirmDialog显示弹窗(一个按钮)showPrimaryDialog显示弹窗(两个按钮)showDialog显示弹窗(可多个按钮)showActionSheet列表选择弹窗showCalendarPicker日历选择器弹窗showDatePicker日期滑动选择器弹窗showTimePicker时间滑动选择器弹窗showTextPicker文本滑动选择器弹窗ToastUtil(吐司工具类)方法介绍setDefaultConfig设置默认统一样式showToast弹出吐司,默认时长为2sshowShort弹出短吐司,默认时长为:1.5sshowLong弹出长吐司,默认时长为:10sSM2(SM2加解密)方法介绍encryptencryptSync加密decryptdecryptSync解密generateKeyPairgenerateKeyPairSync生成非对称密钥KeyPairgetConvertKeyPairgetConvertKeyPairSync获取转换的非对称密钥KeyPairgetSM2PubKey获取转换SM2公钥, 将C1C2C3格式的SM2公钥转换为鸿蒙所需的ASN.1格式getSM2PubKey获取转换SM2私钥getCipherTextSpec获取转换SM2密文格式,ASN.1格式转换为C1C2C3或C1C3C2signsignSync对数据进行签名verifyverifySync对数据进行验签signSegmentsignSegmentSync对数据进行分段签名verifySegmentverifySegmentSync对数据进行分段验签SM3(SM3工具类)方法介绍digestdigestSyncSM3摘要digestSegmentdigestSegmentSyncSM3分段摘要hmachmacSyncSM3消息认证码计算hmacSegmenthmacSegmentSyncSM3消息认证码计算,分段SM4(SM4加解密)方法介绍encryptencryptSync加密decryptdecryptSync解密encryptGCMencryptGCMSync加密(GCM模式)decryptGCMdecryptGCMSync解密(GCM模式)encryptCBCencryptCBCSync加密(CBC模式)decryptCBCdecryptCBCSync解密(CBC模式)encryptECBencryptECBSync加密(ECB模式)decryptECBdecryptECBSync解密(ECB模式)encryptGCMSegmentencryptGCMSegmentSync加密(GCM模式)分段decryptGCMSegmentdecryptGCMSegmentSync解密(GCM模式)分段generateSymKeygenerateSymKeySync生成对称密钥SymKeyAES(AES加解密)方法介绍encryptencryptSync加密decryptdecryptSync解密encryptGCMencryptGCMSync加密(GCM模式)decryptGCMdecryptGCMSync解密(GCM模式)encryptCBCencryptCBCSync加密(CBC模式)decryptCBCdecryptCBCSync解密(CBC模式)encryptECBencryptECBSync加密(ECB模式)decryptECBdecryptECBSync解密(ECB模式)encryptGCMSegmentencryptGCMSegmentSync加密(GCM模式)分段decryptGCMSegmentdecryptGCMSegmentSync解密(GCM模式)分段generateSymKeygenerateSymKeySync生成对称密钥SymKeyDES(DES加解密)方法介绍encryptencryptSync加密decryptdecryptSync解密encryptECBencryptECBSync加密(ECB模式)decryptECBdecryptECBSync解密(ECB模式)encryptCBCencryptCBCSync加密(CBC模式)decryptCBCdecryptCBCSync解密(CBC模式)generateSymKeygenerateSymKeySync生成对称密钥SymKeyRSA(RSA加解密)方法介绍encryptencryptSync加密decryptdecryptSync解密encryptSegmentencryptSegmentSync加密,分段decryptSegmentdecryptSegmentSync解密,分段generateKeyPairgenerateKeyPairSync生成非对称密钥KeyPairgetConvertKeyPairgetConvertKeyPairSync获取转换的非对称密钥KeyPairsignsignSync对数据进行签名verifyverifySync对数据进行验签signSegmentsignSegmentSync对数据进行分段签名verifySegmentverifySegmentSync对数据进行分段验签recoverrecoverSync对数据进行签名恢复原始数据,目前仅RSA支持MD5(MD5工具类)方法介绍digestdigestSyncMD5摘要digestSegmentdigestSegmentSyncMD5摘要,分段hmachmacSync消息认证码计算hmacSegmenthmacSegmentSync消息认证码计算,分段SHA(SHA工具类)方法介绍digestdigestSyncSHA摘要digestSegmentdigestSegmentSyncSHA摘要,分段hmachmacSync消息认证码计算hmacSegmenthmacSegmentSync消息认证码计算,分段ECDSA(ECDSA工具类)方法介绍signsignSync对数据进行签名verifyverifySync对数据进行验签signSegmentsignSegmentSync对数据进行分段签名verifySegmentverifySegmentSync对数据进行分段验签CryptoUtil(加解密公用工具类,配合各个加密模块使用)方法介绍encryptencryptSync加密decryptdecryptSync解密generateSymKeygenerateSymKeySync生成对称密钥SymKeygetConvertSymKeygetConvertSymKeySync获取转换的对称密钥SymKeygenerateKeyPairgenerateKeyPairSync生成非对称密钥KeyPairgetConvertKeyPairgetConvertKeyPairSync获取转换的非对称密钥KeyPairgetPemKeyPair获取指定数据生成非对称密钥generateIvParamsSpec生成IvParamsSpecgetIvParamsSpec获取转换IvParamsSpecgenerateGcmParamsSpec生成GcmParamsSpecgetGcmParamsSpec获取转换GcmParamsSpecsignsignSync对数据进行签名verifyverifySync对数据进行验签signSegmentsignSegmentSync对数据进行分段签名verifySegmentverifySegmentSync对数据进行分段验签dynamicKeydynamicKeySync密钥协商digestdigestSync摘要digestSegmentdigestSegmentSync摘要,分段hmachmacSync消息认证码计算hmacSegmenthmacSegmentSync消息认证码计算,分段CryptoHelper(加解密数据类型转换,配合各个加密模块使用)方法介绍strToDataBlob字符串转DataBlobdataBlobToStrDataBlob转字符串strToUint8Array字符串转Uint8Arrayuint8ArrayToStrUint8Array转字符串getSymKeyDataBlob获取DataBlob类型的密钥getKeyDataBlob获取DataBlob类型的公钥或私钥getRandomUint8Array根据传入的大小生成随机Uint8ArraygetUint8ArrayPaddingZeroUint8Array补零操作toHexWithPaddingZero补零操作stringToHex字符串转Hex字符串uint8ArrayToString字节流转成可理解的字符串插件Demo运行图由于功能太多了,就不一一演示了,下面以AppUtil为例点击 getWindowPropertis() 按钮,可以拿到窗口的具体属性,如图通过全局搜索可以定位到代码的具体位置可以看到调用方式非常简洁,只要一句AppUtil.getWindowProperties()即可Ctrl + 鼠标左键,可以查看源码总结harmony-utils 是我们在开发鸿蒙项目的时候基本必用的一个第三方库,它将很多常用的方法进行了更高层次的封装和抽象。项目地址如下,有兴趣的朋友可以自行下载源码安装学习或进行调试https://gitee.com/tongyuyan/harmony-utilshttps://github.com/787107497
  • [问题求助] 安卓既然能运行在平板上,为啥不能跑在PC上?反而是鸿蒙率先宣布了鸿蒙PC版
    安卓既然能运行在平板上,为啥不能跑在PC上,也没见谁电脑上用安卓系统(但倒是挺多人在电脑上安装安卓模拟器来玩安卓游戏的)?反而是鸿蒙率先宣布了鸿蒙PC版
  • [课程学习] 【常见FAQ】华为云鸿蒙应用入门级开发者认证常见FAQ
    1、 UIAbility组件与ExtensionAbility组件有什么区别?UIAbility组件承载页面,普通场景;特殊场景,比如说卡片2、 预览器不能预览是怎么回事?查看是否存在以下原因:1.是不是.ets的文件2.@entry /@preview3.没有报错信息3、父传子和直接provide有什么区别?1.父传子单向举例(通过@prop):适用于父组件向子组件传递数据。适用于浅层嵌套的组件间通信。数据传递是单向的,从父组件传递到子组件。2.@provide / @consume:适用于父组件向其任意后代组件传递数据。适用于深层嵌套的组件间通信。数据传递是单向的,但从父组件传递到任意后代组件。4、 模拟器报内存不足错误怎么办能再说一下吗?1.创建模拟器时设置更高的内存2.通过点击模拟器配置选项中的Wipe User Data清理内存3.升级内存条5、安装的时候默认4g  在哪能修改吗?在创建模拟器实例时设置Ram的选项6、router和call有啥区别?作用不一样:1.router是为了拉起页面2.call是为了调用方法7、卡片的定点和定时刷新哪个优先级高?  定时刷新优先级更高,如果只需要定点刷新就不能设置定时刷新,即将定时刷新设置为08、一个 UIAbility 是不是可以包含多个 WindowStage,如果一个UIAbility只能有一个WindowStage,怎么解释分屏和悬浮窗呢?1.分屏可以通过设置自动实现,分屏的页面也是在同一个UIAbility2.悬浮窗是可以通过subWindow去实现 
  • 鸿蒙开发界面按钮功能简介
    鸿蒙系统(HarmonyOS)是华为推出的一款面向全场景的分布式操作系统。在鸿蒙应用开发中,按钮(Button)是常用的UI组件之一,用于触发用户交互事件。鸿蒙提供了丰富的API来创建和管理按钮,并为其添加各种功能。1. 按钮的基本使用在鸿蒙开发中,按钮通常通过XML布局文件或Java代码来创建。以下是一个简单的按钮示例:XML布局文件(ability_main.xml) <?xml version="1.0" encoding="utf-8"?><DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_parent" ohos:orientation="vertical" ohos:padding="32"> <Button ohos:id="$+id:my_button" ohos:width="match_content" ohos:height="match_content" ohos:text="点击我" ohos:text_size="24fp" ohos:background_element="#007BFF" ohos:text_color="#FFFFFF" ohos:top_margin="16vp"/></DirectionalLayout> 运行 HTMLJava代码(MainAbilitySlice.java) package com.example.myapplication;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent;import ohos.agp.components.Button;import ohos.agp.window.dialog.ToastDialog;public class MainAbilitySlice extends AbilitySlice { @Override public void onStart(Intent intent) { super.onStart(intent); // 加载布局文件 super.setUIContent(ResourceTable.Layout_ability_main); // 获取按钮组件 Button myButton = (Button) findComponentById(ResourceTable.Id_my_button); // 设置按钮点击事件 myButton.setClickedListener(component -> { // 显示一个Toast提示 new ToastDialog(getContext()) .setText("按钮被点击了!") .show(); }); }}解释:在XML布局文件中定义了一个按钮,设置了按钮的文本、大小、背景颜色等属性。在Java代码中,通过 findComponentById 方法获取按钮组件,并为其设置点击事件监听器。当用户点击按钮时,会触发 setClickedListener 中的逻辑,显示一个Toast提示。2. 按钮的常用属性鸿蒙系统中的按钮组件支持多种属性,以下是一些常用的属性:属性名称说明ohos:id按钮的唯一标识符,用于在代码中引用。ohos:width按钮的宽度,可以是固定值(如 200vp)或 match_content、match_parent。ohos:height按钮的高度,同上。ohos:text按钮上显示的文本。ohos:text_size按钮文本的字体大小,单位是 fp(字体像素)。ohos:text_color按钮文本的颜色,支持十六进制颜色值(如 #FFFFFF)。ohos:background_element按钮的背景颜色或背景图片。ohos:clickable按钮是否可点击,默认为 true。ohos:focusable按钮是否可获取焦点,默认为 true。3. 按钮的点击事件按钮的核心功能是响应用户的点击事件。鸿蒙提供了多种方式来处理按钮的点击事件:方式一:使用 setClickedListener Button myButton = (Button) findComponentById(ResourceTable.Id_my_button);myButton.setClickedListener(component -> { // 处理点击事件 new ToastDialog(getContext()) .setText("按钮被点击了!") .show();});方式二:实现 Component.ClickedListener 接口 public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener { @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); Button myButton = (Button) findComponentById(ResourceTable.Id_my_button); myButton.setClickedListener(this); } @Override public void onClick(Component component) { if (component.getId() == ResourceTable.Id_my_button) { new ToastDialog(getContext()) .setText("按钮被点击了!") .show(); } }}4. 按钮的样式定制鸿蒙系统支持通过XML或代码动态设置按钮的样式。例如:修改按钮背景和圆角在XML中: <Button ohos:id="$+id:my_button" ohos:width="200vp" ohos:height="50vp" ohos:text="自定义按钮" ohos:background_element="#FF5722" ohos:corner_radius="25vp"/> 运行 HTML在代码中:java Button myButton = (Button) findComponentById(ResourceTable.Id_my_button);ShapeElement background = new ShapeElement();background.setRgbColor(RgbColor.fromArgbInt(0xFF5722));background.setCornerRadius(25);myButton.setBackground(background);5. 按钮的禁用与启用在某些场景下,可能需要禁用按钮以防止用户重复点击。可以通过以下方式实现:Button myButton = (Button) findComponentById(ResourceTable.Id_my_button);myButton.setEnabled(false); // 禁用按钮myButton.setEnabled(true); // 启用按钮6. 按钮的图标与文字组合鸿蒙的按钮支持同时显示图标和文字。可以通过 setIcon 方法设置图标:Button myButton = (Button) findComponentById(ResourceTable.Id_my_button);myButton.setIcon(ResourceTable.Media_icon); // 设置图标myButton.setIconPosition(Button.ICON_POSITION_LEFT); // 设置图标位置总结:鸿蒙系统中的按钮组件功能强大且灵活,支持丰富的属性和事件处理方式。通过合理使用按钮,可以提升用户界面的交互体验。在实际开发中,可以根据需求定制按钮的样式和行为,以满足不同的业务场景。
  • ​华为云HCSD校园沙龙走进北京航空航天大学,携手共筑人才培养新高地
    5月15日,华为云HCSD校园沙龙在北京航空航天大学成功举办。北京航空航天大学软件学院副院长殷永峰、华为云计算高校生态总监罗静、华为云计算人力资源专家孙静、华为云IoT高级工程师陈星利等出席。活动由华为云计算技术有限公司主办,北京航空航天大学软件学院、传源书院、士谔书院承办 , 200+师生现场参加,氛围热烈。▲ 活动合影北京航空航天大学软件学院副院长殷永峰在致辞中表示:北航一直以来致力于培养创新型软件人才,积极开展产学教融合科研创新,与华为在操作系统、编译器和IDE等领域关键技术,开展一系列关键软件难题攻关和人才培养合作活动,成绩斐然,未来将与华为继续深化合作。期待同学们通过本次活动,深入了解信息产业,感受云计算技术的魅力,为未来求职就业夯实基础。▲ 北京航空航天大学软件学院副院长 殷永峰华为云计算高校生态总监罗静在致辞中提到:北航一直以来都是华为的标杆合作院校,从人才培养、科学研究到创新创业,已形成了体系化常态化的校企合作关系。未来更加期待双方在多领域多方面展开深入合作,协力创造更完善的教学环境和培养条件,共同推动产学研用协同创新,不断开创校企协作共赢的新篇章。▲ 华为云计算高校生态总监 罗静针对大学生个人发展及未来就业选岗的困惑与挑战,华为云计算人力资源专家孙静以《“脚踏实地,仰望星空”,一起做追梦人》为主题,深刻剖析了当前人才发展理念、职业发展路径和企业选拔人才的方向趋势,并表示,期待更多北航学子未来加入华为,与华为实现双向成就。▲ 华为云计算人力资源专家 孙静华为云IoT高级工程师陈星利以深入浅出的方式,向参会的师生们详细剖析了物联网的发展脉络与华为云IoT平台的强大实力。随着智能时代的到来,物联网的发展正面临着前所未有的挑战,而鸿蒙系统,作为IoT时代的杰出代表,是一个面向未来、全场景的分布式操作系统,加速IoT时代的真正到来。他深刻分析了华为云IoT+鸿蒙能力、当代大学生如何玩转物联网+鸿蒙等内容,为学生们揭开物联网与鸿蒙系统的神秘面纱。 随后,在实践环节,带领同学们踏上了一场别开生面的的技术之旅——“快速体验恒温空调云端控制”实验,为学生们点亮了云端开发的明灯,引领学生深入探索技术的奥秘。▲  华为云IoT高级工程师 陈星利通过理论讲解+实验练习,学生们深入理解物联网+鸿蒙技术的发展并进行云上开发实践,体验开发乐趣。活动现场,学生们在各个环节踊跃参与,氛围十分活跃。不少学生抓住机会与专家进行互动问答,切磋交流。▲  活动现场一直以来,华为云在数字人才培养的沃土上持续耕耘,加速时间创新,为开发者提供实际技术支持。未来,基于华为云生态体系,华为云将加大投入,为校园开发者提供丰富的开发工具,搭建学习、交流、分享、实践的平台,孵化开发者人才生态圈,向数字产业输送更多优秀人才,为推动中国数字经济的发展贡献力量。