HarmonyOS 鸿蒙开发DevEco Studio:定义HarmonyOS IDL接口

目录

HarmonyOS IDL简介

创建.idl文件


HarmonyOS IDL简介

HarmonyOS Interface Definition Language(简称HarmonyOS IDL)是HarmonyOS的接口描述语言。HarmonyOS IDL与其他接口语言类似,通过HarmonyOS IDL定义客户端与服务端均认可的编程接口,可以实现在二者间的跨进程通信(IPC,Inter-Process Communication)。跨进程通信意味着可以在一个进程访问另一个进程的数据,或调用另一个进程的方法。

通常把应用接口提供方(供调用)称为服务端,调用方称为客户端。客户端通过绑定服务端的Ability来与之进行交互,类似于绑定服务。关于HarmonyOS IDL接口语言的详细描述请参考HarmonyOS IDL接口使用规范

说明

只能使用Java或C++语言构建.idl文件,因此仅Java、Java+JS、Java+eTS、C/C++工程支持IDL。

创建.idl文件

  1. 在已经创建/打开的HarmonyOS工程中,选择module目录或其子目录,单击鼠标右键,选择New>Idl File

  2. 创建IDL File。可以直接输入IDL接口名称,也可以通过包名格式定义idl接口名称。两种方式的差异仅在于.idl文件的文件目录结构。
    • 按名称创建,创建IDL File时,输入接口名称,直接单击OK

    DevEco Studio在相应“module”的src>main路径下生成idl文件夹,并按照对应模块的包名生成同样的目录结构及IDL文件。

    • 按包名创建,自定义.idl文件存储路径和接口名称。创建“IDL File”时,按照包名创建IDL文件。包名利用“.”作为分隔符,如输入“com.huawei.test.MyIdlInterface”。

    DevEco Studio在相应“module”的src>main路径下生成idl文件夹,并按照输入的包名生成相应目录结构及IDL文件。可以在此路径继续新增IDL文件。

  3. 开发者可以使用Java或C++编程语言构建.idl文件,关于HarmonyOS IDL接口的实现请参考IDL开发指南。
  4. 单击工程右边栏的Gradle,在Tasks > ohos:debug或ohos:release中选择compileDebugIdlcompileReleaseIdl,对模块下的IDL文件进行编译。

  5. 编译完成后,在build > generated > source > idl> {Package Name}目录下,生成对应的接口类、桩类和代理类,如下图所示: