# Hermes **Repository Path**: chinasoft_ohos/Hermes ## Basic Information - **Project Name**: Hermes - **Description**: 一套新颖巧妙易用的openHarmony进程间通信IPC框架 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-04-16 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hermes #### 项目介绍 - 项目名称:Hermes - 所属系列:OpenHarmony的第三方组件适配移植 - 功能:一套新颖巧妙易用的OpenHarmony进程间通信IPC框架 - 项目移植状态:主功能完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio 2.2 Beta1 - 基线版本:Release v0.7.0 #### 效果演示 ![image text](gif/demo.gif) #### 安装教程 1.在项目根目录下的build.gradle文件中, ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ``` dependencies { implementation('com.gitee.chinasoft_ohos:Hermes:1.0.0') ...... } ``` 在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 由于该库会依赖IDL生成的类,所以新打开该项目,需要点击Build=>Build Hap(s)/APP(s)=>Build Hap(s),然后才可以正常使用IDLStub相关的类。 Demo中调用library组件,然后从Testing,Demo,Open the third process三个方面展示组件。 xiaofei.library.hermestest.service包中定义了支持的数据类型的服务,通过服务中的回调传递数据。 以下以传递int类型为例子,其它类型使用方式一样: 1、增加继承IdlServiceAbility的服务IntServiceAbility,然后在onStart中增加如下代码,并且在handleInt中做自定义开发: ```java IntIDLStub remote = new IntIDLStub("IntServiceAbility") { @Override public String handleInt(int d1, int d2) { return String.valueOf(d1 + d2); } }; createRemote(remote); ``` 2、在config.json中增加服务配置 ```xml { "name": "xiaofei.library.hermestest.service.IntServiceAbility", "icon": "$media:icon", "description": "$string:HelloWorld", "type": "service", "process": ":f1" } ``` 3、调用以下代码进行跨进程请求,然后在回调用自定义处理返回的结果。 ```java Hermes.handleInt(IntServiceAbility.class.getName(), mTestAbilitySlice, getRandom(), getRandom(), (StubCallback) value -> { Utils.showDialog(getContext(), "handleInt: " + value); }); ``` 支持的类型包括:boolean,byte,double,float,int,long,short,String,基础Sequenceable的自定义类型。 #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 #### 版本迭代 - 1.0.0