- 博客(89)
- 收藏
- 关注
原创 【鸿蒙开发】第五十五章 Remote Communication Kit(远场通信服务)
提供了网络数据请求功能,相较于Network Kit中HTTP请求能力,更具易用性,且拥有更多的功能。在开发过程中,如果有些场景使用Network Kit中HTTP请求能力达不到预期或无法实现,那么就可以尝试使用Remote Communication Kit中的数据请求功能来实现。Remote Communication Kit还提供了URPC高性能rpc通信库,拥有构筑远程函数调用能力,具有抗弱网传输、多径传输(5G和Wifi)等特征。应用可以通过URPC完成简单方便的远程过程调用。
2025-03-31 16:36:40
952
原创 【鸿蒙开发】第五十四章 密码自动填充服务
密码保险箱作为HarmonyOS系统安全功能,为用户提供了便捷的免密登录体验。用户在应用或浏览器进行注册/登录操作时,可一键完成自动生成强密码、自动保存、自动填充,无需记住或手动输入繁琐的密码,由系统实现统一的安全管理密码能力。用户查看密码或使用密码进行自动填充,都需要经过身份认证,通过输入锁屏密码或验证指纹/人脸,确保只有用户本人才能访问密码。如下图所示,密码保险箱基于关键资产存储能力,保存并保护用户的账号密码。
2025-03-28 15:16:36
685
原创 【鸿蒙开发】第五十三章 NDK开发
build目录:放置预定义的toolchain脚本文件ohos.toolchain.cmakeCMake编译时需要读取该文件中的默认值,比如编译器架构、C++库链接方式等,因此在编译时会通过CMAKE_TOOLCHAIN_FILE指出该文件的路径,便于CMake在编译时定位到该文件。build-tools文件夹:放置NDK提供的编译工具# 键入下一行命令查看CMake的版本# 结果llvm文件夹:放置NDK提供的编译器HarmonyOS NDK默认使用CMake。
2025-03-27 14:19:00
745
原创 【鸿蒙开发】第五十二章 PDF Kit(PDF服务)
PDF Kit(PDF服务)包含pdfService和PdfView组件。pdfService提供了加载和保存PDF文档、在PDF页面中添加文本内容、图片、批注、页眉页脚、水印、背景图片、书签、判断PDF文档是否加密及删除文档加密等相关的功能,对PDF文档的操作有更多的应用场景。PdfView组件提供了文档预览功能,如:PDF文档预览、高亮显示、搜索关键字,批注等场景。PDF文档页面转换为图片,或将页面的指定区域转换为图片时使用。
2025-03-26 11:02:08
1092
原创 【鸿蒙开发】第五十一章 Camera Kit(相机服务)
通过调用Camera Kit(相机服务)提供的接口可以开发相机应用,应用通过访问和操作相机硬件,实现基础操作,如预览、拍照和录像;还可以通过接口组合完成更多操作,如控制闪光灯和曝光时间、对焦或调焦等。
2025-03-25 13:45:05
1311
原创 【鸿蒙开发】第五十章 AVCodec Kit简介
AVCodec Kit(Audio & Video Codec Kit,音视频编解码,封装解析)是媒体系统中的音视频的编解码、媒体文件的解析、封装、媒体数据输入等原子能力。基于性能考虑,AVCodec Kit仅提供C接口。本部分示例代码按照C++17标准编写,仅作参考。开发者可以参考此部分,定义自己的buffer对象。1. 添加头文件。2. 编码器回调buffer的信息。// 回调buffer。// Surface模式下,输入回调的随帧参数,需要注册随帧通路后使用。
2025-03-25 10:44:26
1015
原创 【鸿蒙开发】第四十九章 Audio Kit简介
Audio Kit(音频服务)旨在提供场景化的音频播放和录制接口,助力迅速构建音频高清采集及沉浸式播放能力。音频流,是指音频系统中一个具备音频格式和音频使用场景信息的独立音频数据处理单元。可以表示播放,也可以表示录制,并且具备独立音量调节和音频设备路由切换能力。音频流基础信息通过表示,包含采样、声道、位宽、编码信息,是创建音频播放或录制流的必要参数,描述了音频数据的基本属性。在配置时开发者需要保证基础信息与传输的音频数据相匹配,音频系统才能正确处理数据。系统预设了默认的音频焦点策略。
2025-03-24 16:51:17
925
原创 【鸿蒙开发】第四十八章 Core File Kit(文件基础服务)
应用文件:文件所有者为应用,包括应用安装文件、应用资源文件、应用缓存文件等。用户文件:文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等。系统文件:与应用和用户无关的其它文件,包括公共库、设备文件、系统资源文件等。这类文件不需要开发者进行文件管理,本文不展开介绍。按文件系统管理的文件存储位置(数据源位置)的不同,有如下文件系统分类模型:本地文件系统:提供本地设备或外置存储设备(如U盘、移动硬盘)的文件访问能力。本地文件系统是最基本的文件系统,本文不展开介绍。分布式文件系统。
2025-03-21 16:03:11
776
原创 【鸿蒙开发】第四十七章 Background Tasks Kit(后台任务开发服务)
设备返回主界面、锁屏、应用切换等操作会使应用退至后台。应用退至后台后,如果继续活动,可能会造成设备耗电快、用户界面卡顿等现象。为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起和进程终止。挂起后,应用进程无法使用软件资源(如公共事件、定时器等)和硬件资源(CPU、网络、GPS、蓝牙等)。如何合理使用请参考合理使用后台硬件资源。应用退至后台一小段时间(由系统定义),应用进程会被挂起。应用退至后台,在后台被访问一小段时间(由系统定义)后,应用进程会被挂起。
2025-03-21 11:35:37
906
原创 【鸿蒙开发】第四十六章 ArkWeb(方舟Web)
ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容。应用集成Web页面:应用可以在页面中使用Web组件,嵌入Web页面内容,以降低开发成本,提升开发、运营效率。浏览器网页浏览场景:浏览器类应用可以使用Web组件,打开三方网页,使用无痕模式浏览Web页面,设置广告拦截等。小程序:小程序类宿主应用可以使用Web组件,渲染小程序的页面。使用Web组件加载本地或者在线网页。
2025-03-19 15:42:46
945
原创 【鸿蒙开发】第四十五章 HiAI Foundation Kit(HiAI Foundation 服务)
使用HiAI Foundation Kit将人工智能能力集成到鸿蒙应用中。HiAI Foundation Kit是面向麒麟硬件平台为各种人工智能模型和算法提供统一的接入和运行环境。应用程序使用HiAI Foundation Kit的API和用户数据,在设备端实现智能推理、模型训练以及模型优化等操作,充分发挥设备的本地智能处理能力。模型是将人工智能算法应用于大量训练数据后得到的结果。使用模型依据新的输入数据进行智能推理和预测。模型能够完成许多用常规代码实现起来难度较大或效率较低的复杂任务。
2025-03-13 11:36:11
1010
原创 【鸿蒙开发】第四十三章 动画汇总
UI(用户界面)中包含开发者与设备进行交互时所看到的各种组件(如时间、壁纸等)。属性作为接口,用于控制组件的行为使界面的过渡自然流畅。增强用户从界面获得的反馈感和互动感。在内容加载等场景中,增加用户的耐心,缓解等待带来的不适感。引导用户了解和操作设备。属性动画:最基础的动画类型,按照动画参数逐帧驱动属性的变化,产生一帧帧的动画效果。除其中的自定义属性动画外,动画过程的驱动由系统完成,应用侧不感知动画过程。转场动画:为组件在出现和消失时添加过渡动画。
2025-03-04 11:35:29
978
原创 【鸿蒙开发】第四十二章 Live View Kit(实况窗服务)
(实况窗服务)支持应用将订单或者服务的实时状态信息变化在设备的关键界面展示,并对展示信息的生命周期、用户界面UI效果等进行管理。实况窗是一种帮助用户聚焦正在进行的任务,方便快速查看和即时处理的通知形态,具有时段性、时效性、变化性的特点。在展示形态上,实况窗支持在锁屏、通知中心、状态栏等位置展示,主要有两种展示形式:胶囊态和卡片态。通知中心状态栏锁屏本地实况窗的更新依赖于应用进程的存活,为了让实况窗在生命周期内正常完成更新和结束,我们更推荐使用Push Kit实时更新实况窗状态。
2025-02-26 17:27:56
1253
原创 【鸿蒙开发】第四十一章 Push Kit(推送服务)
Push Kit(推送服务)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。所有HarmonyOS应用可通过集成Push Kit,实现向应用实时推送消息,使消息易见,构筑良好的用户关系,提升用户的感知度和活跃度。Push Kit支持多种场景化消息类型,其中部分场景化消息类型需要您申请特殊权益才能正常发送。具体见下表:场景化消息权益名称功能描述开放申请场景通知消息自分类权益允许开发者自行对通知消息进行分类,以改善终端用户推送体验。
2025-02-26 17:08:04
1137
原创 【鸿蒙开发】第三十九章 LazyForEach:数据懒加载
当我们点击LazyForEach的子组件时,首先调用data的modifyAllData方法改变了数据源中的所有数据,然后调用数据源的reloadData方法,在该方法内会调用notifyDataReload方法。当不同数据项生成的键值相同时,框架的行为是不可预测的。例如,在以下代码中,LazyForEach渲染的数据项键值均相同,在滑动过程中,LazyForEach会对划入划出当前页面的子组件进行预加载,而新建的子组件和销毁的原子组件具有相同的键值,框架可能存在取用缓存错误的情况,导致子组件渲染有问题。
2025-02-25 10:58:08
913
原创 【鸿蒙开发】ArkTs语言汇总 -- API14最新版本
SDK对同一个Kit下的接口模块进行了封装,开发者在示例代码中可通过导入Kit的方式来使用Kit所包含的接口能力。数组可由数组复合字面量(即用方括号括起来的零个或多个表达式的列表,其中每个表达式为数组中的一个元素)来赋值。默认情况下,ArkTS中的所有类型都是不可为空的,因此类型的值不能为空。在以下示例中,如果一个Person的实例有不为空的spouse属性,且spouse有不为空的nick属性,则输出spouse.nick。如果它为真值(转换后为true的值),则执行循环主体的语句。
2025-02-25 10:40:29
769
原创 【鸿蒙开发】第四十五章 Location Kit(位置服务)
位置子系统使用多种定位技术提供服务,如GNSS定位、基站定位、WLAN/蓝牙定位(基站定位、WLAN/蓝牙定位后续统称“网络定位技术”);通过这些定位技术,无论用户设备在室内或是户外,都可以准确地确定设备位置。除了提供基础的定位服务之外,还提供了地理围栏、地理编码、逆地理编码、国家码等功能和接口。坐标系统以1984年世界大地坐标系统为参考,使用经度、纬度数据描述地球上的一个位置。GNSS定位。
2025-02-24 09:24:46
924
原创 【鸿蒙开发】第四十章 Form Kit(卡片开发服务)
Form Kit(卡片开发框架)提供了一种在桌面、锁屏等系统入口嵌入显示应用信息的开发框架和API,可以将应用内用户关注的重要信息或常用操作抽取到服务卡片(以下简称“卡片”)上,通过将卡片添加到桌面上,以达到信息展示、服务直达的便捷体验效果。ArkTS卡片开放了自定义绘制的能力,在卡片上可以通过Canvas组件创建一块画布,然后通过对象在画布上进行自定义图形的绘制,如下示例代码实现了在画布的中心绘制了一个笑脸。
2025-02-21 23:26:06
1147
原创 【鸿蒙开发】第四十四章 Map Kit(地图服务)
目录1 Map Kit简介1.1 场景介绍2 开发准备 开通地图服务3 创建地图3.1 显示地图3.1.1 接口说明3.1.2 开发步骤1、地图显示2、设置地图属性3、开启3D建筑图层4、地图前后台切换5、深色模式3.2 切换地图类型3.2.1 场景介绍3.2.2 接口说明3.2.3 开发步骤 3.3 显示我的位置3.3.1 接口说明3.3.2 开发步骤1、开启“我的位置”按钮 2、监听“我的位置”按钮点击事件3、隐藏“我的位置”按钮4、自定义位置图标样式3.4 显示自定义地图3.4.1 接口说明3.4.2
2025-02-21 23:25:44
781
原创 【鸿蒙开发】第四十三章 Notification Kit(用户通知服务)
Notification Kit(用户通知服务)为开发者提供本地通知发布通道,开发者可借助Notification Kit将应用产生的通知直接在客户端本地推送给用户,本地通知根据通知类型及发布场景会产生对应的铃声、震动、横幅、锁屏、息屏、通知栏提醒和显示。
2025-02-21 23:25:35
1144
原创 【鸿蒙开发】第三十八章 ArkTS代码调试
Attach Debugger和Debug的区别在于,Attach Debugger to Process可以先运行应用/元服务,然后再启动调试,或者直接启动设备上已安装的应用/元服务进行调试;行断点是最常见的类型,用于在指定的代码行暂停应用的执行,在暂停时,您可以检查变量,对表达式求值,然后逐行执行,以确定运行时错误的原因。在设置的断点红点处,单击鼠标右键,在Condition中可以设置条件断点,此类断点仅会在满足特定条件时才会暂停应用。设置断点后,调试能够在正确的断点处中断,并高亮显示该行。
2025-02-20 00:09:21
862
原创 【鸿蒙开发】第三十七章 元服务开发指南
元服务是一种新的服务提供方式开发简单、免安装、易于获取和使用相较于小程序,系统原生,丝滑流畅轻量应用程序形态,具备秒开直达,纯净清爽;服务相伴,恰合时宜;即用即走,账号相随;一体两面,嵌入运行;原生智能,全域搜索;高效开发,生而可信等特征。
2025-02-17 16:10:49
1150
原创 【鸿蒙开发】第二十八章 应用状态的讲解、状态持久化、网络管理、应用数据持久化、文件上传下载
AppStorage是在应用启动的时候会被创建的单例。它的目的是为了提供应用状态数据的中心存储,这些状态数据在应用级别都是可访问的。AppStorage将在应用运行过程保留其属性。属性通过唯一的键字符串值访问。AppStorage可以和UI组件同步,且可以在应用业务逻辑中被访问。AppStorage支持应用的主线程内多个UIAbility实例间的状态共享。AppStorage中的属性可以被双向同步,数据可以是存在于本地或远程设备上,并具有不同的功能,比如数据持久化(详见。
2025-02-14 23:09:05
850
原创 【鸿蒙开发】第三十六章 状态管理 - V1V2混用和迁移指导
状态管理V1与V2的混用规则可以概括为:V1的自定义组件中不可以使用V2的装饰器,否则编译报错。组件间不存在变量传递时,V1的自定义组件中可以使用V2的自定义组件,包括import第三方@ComponentV2装饰的自定义组件。V1中未被装饰器装饰的变量(后称普通变量):V2只能使用@Param接收。V1中被装饰器装饰的变量(后称状态变量):V2存在只能通过@Param装饰器接收,且仅限于boolean、number、enum、string、undefined、null这些简单类型数据。
2025-02-14 23:08:11
812
原创 【鸿蒙开发】第三十六章 状态管理 - (V2)
ObservedV2装饰器与@Trace装饰器需要配合使用,单独使用@ObservedV2装饰器或@Trace装饰器没有任何作用。被@Trace装饰器装饰的属性property变化时,仅会通知property关联的组件进行刷新。在嵌套类中,嵌套类中的属性property被@Trace装饰且嵌套类被@ObservedV2装饰时,才具有触发UI刷新的能力。
2025-02-14 23:07:53
1162
原创 【鸿蒙开发】第三十六章 状态管理 -(V1)
State装饰的变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时必须指定其类型和本地初始化。初始化也可选择使用命名参数机制从父组件完成初始化。@State装饰的变量拥有以下特点:@State装饰的变量与子组件中的@Prop装饰变量之间建立单向数据同步,与@Link、@ObjectLink装饰变量之间建立双向数据同步。@State装饰的变量生命周期与其所属自定义组件的生命周期相同。
2025-02-14 23:07:32
984
原创 【鸿蒙开发】第三十四章 DevEco Studio - 故障分析汇总
当应用运行发生错误使应用进程终止时,应用将会抛出错误日志以通知应用崩溃的原因,开发者可通过查看错误日志分析应用崩溃的原因及引起崩溃的代码位置。若需定位应用中的C++代码导致的内存问题如数组越界、内存泄露、释放已释放的地址等问题,需要在运行调试配置界面勾选Address Sanitizer(地址排序错误)以打开ASan功能再推包运行,具体请查看ASan检测。App FreezeCPP CrashJS CrashASanTSan说明。
2025-02-14 23:07:17
1109
原创 【鸿蒙开发】第三十章 应用稳定性-检测、分析、优化、运维汇总
应用稳定性是影响用户体验的重要因素之一,常见的稳定性问题包括:崩溃、应用Freeze、内存泄漏、内存越界等。HarmonyOS系统提供了完善的稳定性治理框架,围绕着稳定性治理活动,系统提供了丰富的工具,工具涵盖范围包括开发、调试、应用上线以及线上运维等完整生命阶段。具体用于稳定性治理活动的工具有日志、应用事件、调用链跟踪、故障管理、观测信息剖析等。
2025-02-14 23:07:00
829
原创 【鸿蒙开发】第三十二章 DevEco Studio - 日志HiLog分析汇总
除默认过滤项外,Hilog还提供配置自定义过滤项的途径以供开发者按照实际需求过滤日志,并保存此过滤配置以供重复使用。点击时将弹出自定义过滤配置窗口。先前介绍的过滤选项此处均可配置,同时增加了Package name和Set to all projects配置项。Set to all projects:此配置当前工程及其他所有工程均可用。Package name:按应用包名过滤日志。当配置完后将自动切换至此过滤配置。
2025-02-14 23:06:31
1222
原创 【鸿蒙开发】第三十三章 DevEco Studio - ArkUI Inspector设备分析汇总
查看设备上应用的UI显示效果。导出及导入应用UI界面快照,脱离设备查看UI显示效果。在组件树上选择组件,UI界面自动框选对应组件,属性列表显示当前组件的属性信息。在UI界面点击选择组件,组件树对应组件变化为选中状态,属性列表显示当前组件的属性信息。UI组件源码跳转,选中UI组件后点击源码跳转按钮即可跳转至源码位置。在UI界面上选择Show Component Border,可查看当前页面上所有组件显示区域。在组件树上选择自定义组件,属性列表显示当前组件配置的状态变量信息以及影响组件。
2025-02-14 23:06:21
900
原创 【鸿蒙开发】第三十一章 应用架构汇总
应用开发者需要根据自身技术架构选择适合的工程模块化模型,工程模块化模型也不是一成不变的,需要根据业务和技术架构的演进而演进。根据诉求在HAP、HAR和HSP三种类型中进行选择使用。对于具备独立运行和安装的模块只能选择HAP包,并将其作为Feature类型的HAP存在于App中;对于不具备独立特性部分,用户使用频率较少的模块,将其做成HSP按需加载模块存在于App中。对于需要共享的模块,只能采用HAR包,将其通过OHPM仓共享给其他工程使用。
2025-02-14 23:06:09
710
原创 【鸿蒙开发】第三十五章 一次开发多端部署
定义:一套代码工程,一次开发上架,多端按需部署。栅格是多设备场景下通用的辅助定位工具,通过将空间分割为有规律的栅格。栅格可以显著降低适配不同屏幕尺寸的设计及开发成本,使得整体设计和开发流程更有秩序和节奏感,同时也保证多设备上应用显示的协调性和一致性,提升用户体验。栅格的样式由三个属性决定。Margin是相对应用窗口、父容器的左右边缘的距离,决定了内容可展示的整体宽度。Gutter是相邻的两个Column之间的距离,决定内容间的紧密程度。
2025-02-14 23:05:47
1037
原创 【鸿蒙开发】第二十九章 Stage模型-应用上下文Context、进程、线程
进程是系统进行资源分配的基本单位,是操作系统结构的基础。系统的进程模型如下图所示。通常情况下,应用中(同一Bundle名称)的所有UIAbility均是运行在同一个独立进程(主进程)中,如下图中绿色部分的“Main Process”。
2025-02-12 23:19:45
1086
原创 【鸿蒙开发】第二十九章 Stage模型-信息传递载体Want
Want是一种对象,用于在应用组件之间传递信息。其中,一种常见的使用场景是作为方法的参数。例如,当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want作为一个载体,将数据传递给UIAbilityB。图1Want用法示意。
2025-02-12 23:18:53
656
原创 【鸿蒙开发】第二十九章 Stage模型-UIAbility组件
UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。UIAbility的设计理念原生支持应用组件级的跨端迁移和多端协同。支持多设备和多窗口形态。UIAbility划分原则与建议:UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility。每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。
2025-02-12 23:15:08
804
原创 【鸿蒙开发】第二十九章 Stage模型-应用间跳转
使用进行跳转时,系统会根据接口传入的uri信息(HTTPS链接)将用户引导至目标应用中的特定内容,无论应用是否已安装,用户都可以访问到链接对应的内容,跳转体验相比Deep Linking方式更加顺畅。例如:当开发者使用App Linking接入“扫码直达”服务后,用户可通过控制中心扫一扫等系统级扫码入口,扫描应用的二维码、条形码并跳转到开发者应用对应服务页,实现一步直达的体验。若要实现App Linking跳转体验,需被拉起方和拉起方的不同角色相互配合,共同完成。各个角色的分工如下。被拉起方。
2025-02-12 22:44:56
949
原创 【鸿蒙开发】第二十七章 应用程序包结构目录
每个应用项目的代码目录下必须包含应用配置文件,这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件、以及一个或多个module.json5配置文件。app.json5配置文件主要包含以下内容:应用的全局配置信息,包含应用的Bundle名称、开发厂商、版本号等基本信息。特定设备类型的配置信息。
2025-02-11 11:03:29
701
原创 【鸿蒙开发】第二十五章 自由流转
随着全场景多设备的生活方式不断深入,用户拥有的设备越来越多,不同设备都能在适合的场景下提供良好的体验,例如手表可以提供及时的信息查看能力,电视可以带来沉浸的观影体验。但是,每个设备也有使用场景的局限,例如在电视上输入文本相对移动设备来说是非常糟糕的体验。当多个设备通过分布式操作系统能够相互感知、进而整合成一个超级终端时,设备与设备之间就可以取长补短、相互帮助,为用户提供更加自然流畅的分布式体验。在HarmonyOS中,将跨多设备的分布式操作统称为流转;
2025-02-10 16:24:03
805
原创 【鸿蒙开发】第二十四章 AI -Intents Kit(意图框架服务)
(意图框架服务)是HarmonyOS级的意图标准体系 ,意图连接了应用/元服务内的业务功能。意图框架能帮开发者将应用/元服务内的业务功能,智能分发到各系统入口,这个过程即智慧分发。其中系统入口包括:小艺对话、小艺搜索、小艺建议。习惯推荐是HarmonyOS学习用户的行为习惯后做出的主动预测推荐。开发者将用户在应用/元服务内的使用行为向HarmonyOS共享,使得HarmonyOS可以基于共享的数据学习用户的行为习惯。
2025-02-10 16:22:32
1123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人