当客户端和服务器通信时,需要定义双方都认可的接口,以保障双方可以成功通信,HarmonyOS IDL(HarmonyOS Interface Definition Language)则是一种定义此类接口的工具。HarmonyOS IDL先把需要传递的对象分解成操作系统能够理解的基本类型,并根据开发者的需要封装跨边界的对象。在HarmonyOS中,HarmonyOS IDL接口包含面向应用程序的北向接口和面向硬件设备的南向接口。
图1 HarmonyOS IDL接口描述语言
HarmonyOS IDL接口描述语言主要用于:
图2 IPC/RPC通信模型
使用HarmonyOS IDL接口描述语言声明接口具有以下优点:
采用HarmonyOS IDL描述的接口代码示例如下:
package ohos.app; import ohos.app.IAbilityConnection;import ohos.os.IBroker; sequenceable ohos.content.AbilityInfo;sequenceable ohos.content.Intent; interface ohos.app.IAbilityManager { int StartAbility([in] Intent intent); void SetAbilitySliceCallback([in] IBroke broker, [in] IAbilityConnection callback); [oneway] void ExitAbility([in] AbilityInfo abilityInfo);}
说明
NestedScrollViewjava.lang.Object |---ohos.agp.components.Component |---|---ohos.agp.components.ComponentContainer |---|-...
PositionLayoutjava.lang.Object |---ohos.agp.components.Component |---|---ohos.agp.components.ComponentContainer |---|---...
ScrollHelperjava.lang.Object |---ohos.agp.components.ScrollHelperpublic class ScrollHelperextends Object提供获取滚动或滑...
Switchjava.lang.Object |---ohos.agp.components.Component |---|---ohos.agp.components.Text |---|---|---ohos.agp.component...