
HarmonyOS
文章平均质量分 93
OpenHarmony_小贾
这个作者很懒,什么都没留下…
展开
-
HarmonyOS Next开发学习手册——LLDB高性能调试器
LLDB(Low Level Debugger)是新一代高性能调试器。详细说明参考 LLDB官方文档。当前HarmonyOS中的LLDB工具是在 llvm15.0.4 基础上适配演进出来的工具,是HUAWEI DevEco Studio工具中默认的调试器,支持调试C和C++应用。原创 2024-07-30 22:38:09 · 608 阅读 · 0 评论 -
OpenHarmony多媒体-ijkplayer
ijkplayer是OpenHarmony环境下可用的一款基于FFmpeg的视频播放器。原创 2024-07-30 21:35:27 · 667 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——【包管理】NativeBundle开发
开发者可以通过本指导了解在HarmonyOS应用中,如何使用Native Bundle接口获取应用自身相关信息。原创 2024-07-30 21:08:25 · 390 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——设备管理
HID DDK(HID Driver Develop Kit)是为开发者提供的HID设备驱动程序开发套件,支持开发者基于用户态,在应用层开发HID设备驱动。提供了一系列主机侧访问设备的接口,包括创建设备、向设备发送事件、销毁设备。原创 2024-07-30 20:26:40 · 601 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——内存管理purgeable内存开发指南
HarmonyOS提供Purgeable Memory内存管理机制,开发者可以使用相关接口创建PurgeableMemory对象,从而管理purgeable内存。开发者可以通过本指导了解在HarmonyOS应用中,如何使用Native层相关接口操作purgeable内存。功能包括purgeable内存的申请、释放等。通过该机制提供的NAPI接口申请管理PurgeableMemory对象,并将数据内容写入该对象。使用完毕后释放。原创 2024-07-30 17:35:47 · 647 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——【线程调度】QoS 开发指南
自多道程序及多任务操作系统问世以来,CPU、内存等有限的系统资源成为系统中所有任务的竞争对象。合理安排各个任务对系统的响应速度以及资源消耗都有非常重大的意义。相比操作系统,开发者更加清楚应用中各个任务的重要程度;根据重要程度对应用的任务进行分类,能帮助系统更好地进行任务的调度。通过本指导,开发者可以了解在HarmonyOS系统中,如何利用QoS特性及相关的接口调节任务在系统中的运行时间分配。本文用于指导开发者基于QoS特性实现应用任务优先调度属性自定义。原创 2024-07-30 16:52:53 · 545 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——【资源管理】Rawfile开发
开发者可以通过本指导了解在HarmonyOS应用中,如何使用Native Rawfile接口操作Rawfile目录和文件。功能包括文件列表遍历、文件打开、搜索、读取和关闭Rawfile。64后缀相关接口属于新增接口,新接口支持打开更大的rawfile文件(超过2G以上建议使用),具体请参考: Rawfile接口介绍。原创 2024-07-30 16:17:53 · 744 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——JSVM-API接口创建多个引擎执行JS代码并销毁
开发者通过createJsCore方法来创建一个新的JS基础运行时环境,并通过该方法获得一个CoreID,通过evalUateJS方法使用CoreID对应的运行环境来运行JS代码,在JS代码中创建promise并异步调取TS侧设定的callback函数,最后使用releaseJsCore方法来释放CoreID对应的运行环境。原创 2024-07-30 15:27:35 · 439 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——JSVM-API调试&定位
JSVM,既标准JS引擎,是严格遵守Ecmascript规范的JavaScript代码执行引擎。详情参考: JSVM。基于JSVM的JS代码调试调优能力包括:Debugger、CPU Profiler、Heap Snapshot、Heap Statistics。本文将介绍调试、CPU Profiler、Heap Snapshot的使用方法。原创 2024-07-30 14:59:55 · 642 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——JSVM-API(一)
HarmonyOS JSVM-API是基于标准JS引擎提供的一套稳定的ABI,为开发者提供了较为完整的JS引擎能力,包括创建和销毁引擎,执行JS代码,JS/C++交互等关键能力。通过JSVM-API,开发者可以在应用运行期间直接执行一段动态加载的JS代码。也可以选择将一些对性能、底层系统调用有较高要求的核心功能用C/C++实现并将C++方法注册到JS侧,在JS代码中直接调用,提高应用的执行效率。本文中如无特别说明,后续均使用JSVM-API指代HarmonyOS JSVM-API能力。原创 2024-07-30 14:50:32 · 773 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API常见问题
ArkTS/JS侧import xxx from libxxx.so后,使用xxx报错显示undefined/not callable或明确的Error message如模块名为entry,则so的名字为libentry.so,napi_module中nm_modname字段应为entry,大小写与模块名保持一致。应用启动时过滤模块加载相关日志,重点搜索"dlopen"关键字,确认是否有相关报错信息;常见加载失败原因有权限不足、so文件不存在以及so已拉入黑名单等,可根据以下关键错误日志确认问题。原创 2024-07-29 22:35:02 · 757 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API扩展能力接口
扩展能力接口 进一步扩展了Node-API的功能,提供了一些额外的接口,用于在Node-API模块中与ArkTS进行更灵活的交互和定制,这些接口可以用于创建自定义ArkTS对象等场景。Node-API接口开发流程参考使用Node-API实现跨语言交互开发流程,本文仅对接口对应C++及ArkTS相关代码进行展示。原创 2024-07-29 21:47:51 · 578 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API接口进行错误处理开发
使用Node-API接口进行错误处理开发,使得在Node-API模块中能够更好地管理和响应错误情况。通过合理使用这些函数,可以提高模块的稳定性和可靠性。以下Node-API接口主要用于与ArkTS交互时处理错误和异常情况。接口描述在C/C++中需要创建一个错误对象时,可以使用这些函数。创建的错误对象可以使用napi_throw抛出到ArkTSnapi_throw。原创 2024-07-29 20:36:16 · 590 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API接口从异步线程向ArkTS线程投递指定优先级和入队方式的的任务
异步线程向ArkTS线程投递的任务需要根据任务指定的优先级和入队方式进行处理。原创 2024-07-29 17:52:24 · 544 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API接口进行模块加载
Node-API中的napi_load_module_with_info接口的功能是进行模块的加载,当模块加载出来之后,可以使用函数napi_get_property获取模块导出的变量,也可以使用napi_get_named_property获取模块导出的函数,该函数可以在 新创建的ArkTs基础运行时环境 中使用。原创 2024-07-29 17:32:30 · 509 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-扩展的Node-API接口在异步线程中运行和停止事件循环
开发者在自己创建的ArkTS运行环境中调用异步的ArkTS接口时,可以通过使用Node-API中的扩展接口napi_run_event_loop和napi_stop_event_loop来运行和停止ArkTS实例中的事件循环。原创 2024-07-29 16:27:07 · 419 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API接口在主线程中进行模块加载
加载系统模块,例如@ohos.hilog加载ets目录下文件中的模块。原创 2024-07-29 15:50:36 · 389 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API接口创建ArkTs运行时环境
开发者通过pthread_create创建新线程后,可以通过napi_create_ark_runtime来创建一个新的ArkTs基础运行时环境,并通过该运行时环境加载ArkTs模块,目前仅支持在ArkTs模块中使用console接口打印日志,使用timer定时器功能。当使用结束后,开发者需要通过napi_destroy_ark_runtime来销毁所创建的ArkTs基础运行时环境。原创 2024-07-29 15:17:16 · 486 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——在非ArkTS线程中回调ArkTS接口
ArkTS是单线程语言,通过NAPI接口对ArkTS对象的所有操作都须保证在同一个ArkTS线程上进行。本示例将介绍通过napi_get_uv_event_loop和uv_queue_work实现在非ArkTS线程中通过NAPI接口回调ArkTS函数。原创 2024-07-29 14:26:15 · 528 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Native与ArkTS对象绑定
通过napi_wrap将ArkTS对象与Native的C++对象绑定,后续操作时再通过napi_unwrap将ArkTS对象绑定的C++对象取出,并对其进行操作。原创 2024-07-29 14:04:34 · 475 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API接口进行线程安全开发指南
napi_create_threadsafe_function是Node-API接口之一,用于创建一个线程安全的JavaScript函数。主要用于在多个线程之间共享和调用,而不会出现竞争条件或死锁。异步计算:如果需要进行耗时的计算或IO操作,可以创建一个线程安全的函数,将计算或IO操作放在另一个线程中执行,避免阻塞主线程,提高程序的响应速度。数据共享:如果多个线程需要访问同一份数据,可以创建一个线程安全的函数,确保数据的读写操作不会发生竞争条件或死锁等问题。多线程编程。原创 2024-07-28 22:26:46 · 597 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API接口进行异步任务开发案例
napi_create_async_work是Node-API接口之一,用于创建一个异步工作对象。可以在需要执行耗时操作的场景中使用,以避免阻塞主线程,确保应用程序的性能和响应性能。文件操作:读取大型文件或执行复杂的文件操作时,可以使用异步工作对象来避免阻塞主线程。网络请求:当需要进行网络请求并等待响应时,使用异步工作对象可以确保主线程不被阻塞,从而提高应用程序的响应性能。数据库操作:当需要执行复杂的数据库查询或写入操作时,使用异步工作对象可以确保主线程不被阻塞,从而提高应用程序的并发性能。原创 2024-07-28 21:57:28 · 449 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API实现跨语言交互开发流程指南(二)
使用Node-API实现跨语言交互,首先需要按照Node-API的机制实现模块的注册和加载等相关动作。:实现C++方法的调用。代码比较简单,import一个对应的so库后,即可调用C++方法。:.cpp文件,实现模块的注册。需要提供注册lib库的名称,并在注册回调方法中定义接口的映射关系,即Native方法及对应的JS/ArkTS接口名称等。此处以在ArkTS/JS侧实现add()接口、在Native侧实现Add()接口,从而实现跨语言交互为例,呈现使用Node-API进行跨语言交互的流程。原创 2024-07-28 21:32:36 · 457 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Node-API实现跨语言交互指南(一)
接口功能说明创建一个异步资源上下文环境(暂不支持与async_hook相关能力)。在异步资源上下文环境中回调JS函数(暂不支持与async_hook相关能力)。销毁先前创建的异步资源上下文环境(暂不支持与async_hook相关能力)。创建一个回调作用域(暂不支持与async_hook相关能力)。关闭先前创建的回调作用域(暂不支持与async_hook相关能力)。原创 2024-07-28 20:52:31 · 682 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——C/C++标准库机制
fdsan针对的操作对象是文件描述符,主要用于检测不同使用者对相同文件描述符的错误操作,包括多次关闭(double-close)和关闭后使用(use-after-close)。这些文件描述符可以是操作系统中的文件、目录、网络套接字和其他I/O设备等,在程序中,打开文件或套接字会生成一个文件描述符,如果此文件描述符在使用后出现反复关闭、或者关闭后使用等场景,就会造成内存泄露、文件句柄泄露等安全隐患问题。原创 2024-07-28 20:06:40 · 1913 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——构建NDK工程
ohos.toolchain.cmake是HarmonyOS NDK提供给CMake的toolchain脚本,里面预定义了编译HarmonyOS应用需要设置的编译参数,如交叉编译设备的目标、C++运行时库的链接方式等;这些参数在调用CMake命令时,可以从命令行传入,来改变默认编译链接行为。此文件中的常用参数见下表。参数类型说明OHOS_STLlibc++的链接方式。默认为c++_shared。c++_shared表示采用动态链接libc++_shared.so;原创 2024-07-26 22:14:37 · 697 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——NDK开发(一)
build目录:放置预定义的toolchain脚本文件ohos.toolchain.cmakeCMake编译时需要读取该文件中的默认值,比如编译器架构、C++库链接方式等,因此在编译时会通过CMAKE_TOOLCHAIN_FILE指出该文件的路径,便于CMake在编译时定位到该文件。build-tools文件夹:放置NDK提供的编译工具# 键入下一行命令查看CMake的版本# 结果llvm文件夹:放置NDK提供的编译器。原创 2024-07-26 21:43:51 · 707 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——跨设备拖拽&剪贴板
跨端拖拽提供跨设备的键鼠共享能力,支持在平板或2in1类型的任意两台设备之间拖拽文件、文本。例如,当用户拥有两台平板设备时,可以共享一套键鼠,通过跨设备拖拽,一步将设备A的素材拖拽到设备B快速创作,实现跨设备的协同工作体验。当前系统应用中,文件管理器、浏览器支持拖出;备忘录支持拖入。将A设备文件管理器中的图片拖拽至B设备的备忘录应用。将A设备备忘录中的文本拖拽至B设备的备忘录应用,并在B设备中使用A设备连接的键盘输入,协同操作。开发者可以根据实际需求,实现组件的拖入或拖出,即可接入跨设备拖拽。原创 2024-07-26 21:19:43 · 999 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——自由流转
随着全场景多设备的生活方式不断深入,用户拥有的设备越来越多,不同设备都能在适合的场景下提供良好的体验,例如手表可以提供及时的信息查看能力,电视可以带来沉浸的观影体验。但是,每个设备也有使用场景的局限,例如在电视上输入文本相对移动设备来说是非常糟糕的体验。当多个设备通过分布式操作系统能够相互感知、进而整合成一个超级终端时,设备与设备之间就可以取长补短、相互帮助,为用户提供更加自然流畅的分布式体验。在HarmonyOS中,将跨多设备的分布式操作统称为流转;原创 2024-07-26 20:43:46 · 1226 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——IPC Kit(进程间通信服务)
IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,包括Proxy和Stub运行在不同设备的情况。IPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,而IPC CAPI是提供的C接口。IPC CAPI接口不直接提供跨进程通信能力,两个进程之间的IPC通道建立,依赖于元能力。进程间IPC通道建立,详情参考 元能力CAPI接口开发指导 ,本文重点阐述IPC CAPI部分使用说明。原创 2024-07-26 17:46:52 · 793 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——服务卡片开发指南(FA模型)
服务卡片(以下简称“卡片”)是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达、减少体验层级的目的。卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面、发送消息等基础的交互功能。卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。卡片管理服务:用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。卡片提供方:提供卡片显示内容元服务,控制卡片的显示内容、控件布局以及控件点击事件。原创 2024-07-26 16:24:32 · 919 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——开发基于JS UI的卡片
以下内容介绍基于类Web范式的JS UI卡片开发指南。原创 2024-07-26 15:25:16 · 537 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——卡片数据交互
ArkTS卡片框架提供了 updateForm 接口和requestForm接口主动触发卡片的页面刷新,通过 LocalStorageProp 确认需要刷新的卡片数据。接口是否系统能力约束updateForm否1. 提供方调用。2. 提供方仅允许刷新自己的卡片,其他提供方的卡片无法刷新。是1. 使用方调用。2. 仅允许刷新添加到当前使用方的卡片,添加到其他使用方的卡片无法刷新。下面介绍卡片页面刷新的典型场景。卡片定时刷新和定点刷新刷新本地图片和网络图片根据卡片状态刷新不同内容。原创 2024-07-26 14:32:31 · 764 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——卡片事件
在卡片中使用 postCardAction 接口的router能力,能够快速拉起卡片提供方应用的指定UIAbility,因此UIAbility较多的应用往往会通过卡片提供不同的跳转按钮,实现一键直达的效果。例如相机卡片,卡片上提供拍照、录像等按钮,点击不同按钮将拉起相机应用的不同UIAbility,从而提高用户的体验。对动态卡片,ArkTS卡片中提供了 postCardAction 接口用于卡片内部和提供方应用间的交互,当前支持router、message和call三种类型的事件,仅在卡片中可以调用。原创 2024-07-26 14:17:45 · 787 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——开发卡片页面(三)
ArkTS卡片开放了自定义绘制的能力,在卡片上可以通过 Canvas 组件创建一块画布,然后通过 CanvasRenderingContext2D 对象在画布上进行自定义图形的绘制,如下示例代码实现了在画布的中心绘制了一个笑脸。@Entry@Component// 初始化CanvasRenderingContext2D和RenderingContextSettingsbuild() {Column() {Row() {// 在onReady回调中获取画布的实际宽和高。原创 2024-07-25 22:25:10 · 526 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——ArkTS卡片开发(二)
FormExtensionAbility进程不能常驻后台,即在卡片生命周期回调函数中无法处理长时间的任务,在生命周期调度完成后会继续存在5秒,如5秒内没有新的生命周期回调触发则进程自动退出。ArkTS卡片创建完成后,工程中会新增如下卡片相关文件:卡片生命周期管理文件(EntryFormAbility.ets)、卡片页面文件(WidgetCard.ets)和卡片配置文件(form_config.json)。创建服务卡片后,也可以在卡片的 form_config.json配置文件 中,通过。原创 2024-07-25 21:32:32 · 1333 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——基于ArkTS UI的卡片(一)
ArkTS卡片实现原理卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置,当前仅系统应用可以作为卡片使用方。卡片提供方:提供卡片显示内容的应用,控制卡片的显示内容、控件布局以及控件点击事件。卡片管理服务:用于管理系统中所添加卡片的常驻代理服务,提供 formProvider 的接口能力,同时提供卡片对象的管理与使用以及卡片周期性刷新等能力。卡片渲染服务:用于管理卡片渲染实例,渲染实例与卡片使用方上的卡片组件一一绑定。原创 2024-07-25 17:54:09 · 1216 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——Form Kit(卡片开发服务)
Form Kit(卡片开发服务)提供一种界面展示形式,可以将应用的重要信息或操作前置到服务卡片(以下简称“卡片”),以达到服务直达、减少跳转层级的体验效果。卡片常用于嵌入到其他应用(当前被嵌入方即卡片使用方只支持系统应用,例如桌面)中作为其界面显示的一部分,并支持拉起页面、发送消息等基础的交互能力。原创 2024-07-25 16:43:59 · 1522 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——分布式文件系统
两台设备组网,用户可以利用一台设备上的编辑软件编辑另外一台设备上的文档。平板保存的音乐,车载系统直接可见并可播放。户外拍摄的照片,回家打开平板直接访问原设备拍摄的照片。hmdfs在分布式软总线动态组网的基础上,为网络上各个设备结点提供一个全局一致的访问视图,支持开发者通过基础文件系统接口进行读写访问,具有高性能、低延时等优点。原创 2024-07-25 15:32:46 · 576 阅读 · 0 评论 -
HarmonyOS Next开发学习手册——获取并使用公共目录
目录环境能力接口(ohos.file.environment)提供获取公共目录路径的能力,支持三方应用在公共文件用户目录下进行文件访问操作。除了通过 ArkTS 访问公共目录的方式,也可通过 C/C++ 接口进行目录访问,具体可以参考 Environment。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?《鸿蒙 (Harmony OS)开发学习手册》(共计892页)第一阶段:鸿蒙初中级开发必备技能。第三阶段:应用开发中高级就业技术。基于ArkTS 开发。原创 2024-07-25 14:58:26 · 2012 阅读 · 2 评论