android aild 传递多个参数, in ,out,inout

在 HIDL 和 AIDL 中,方法参数的传递方式有所不同。HIDL 使用 generates 关键字来表示方法的返回值,而 AIDL 使用 inoutinout 关键字来表示参数的传递方向。

HIDL 中的 generates

在 HIDL 中,generates 关键字用于指定方法的返回值。例如:

cpp 复制代码
VehicleVariantCodingValue getSingleValue(string key) generates(StatusCode status, VehicleVariantCodingValue value);

在这个例子中,getSingleValue 方法接受一个 string 类型的参数 key,并返回两个值:StatusCode 类型的 statusVehicleVariantCodingValue 类型的 value

AIDL 中的 inoutinout

在 AIDL 中,参数的传递方向通过 inoutinout 关键字来指定:

  • in:表示参数是输入参数,调用者将数据传递给被调用者。
  • out:表示参数是输出参数,被调用者将数据传递回调用者。
  • inout:表示参数既是输入参数又是输出参数,调用者将数据传递给被调用者,被调用者也可以修改数据并传递回调用者。

在 AIDL 中,方法的返回值通常是 void,而多个返回值通过 out 参数来实现。例如:

aidl 复制代码
void getSingleValue(in String key, out StatusCode status, out VehicleVariantCodingValue value);

在这个例子中,getSingleValue 方法接受一个 String 类型的输入参数 key,并通过 out 参数返回两个值:StatusCode 类型的 statusVehicleVariantCodingValue 类型的 value

示例

HIDL 方法定义
cpp 复制代码
VehicleVariantCodingValue getSingleValue(string key) generates(StatusCode status, VehicleVariantCodingValue value);
对应的 AIDL 方法定义
aidl 复制代码
void getSingleValue(in String key, out StatusCode status, out VehicleVariantCodingValue value);

解释

  1. HIDL 中的 generates

    • generates 关键字用于指定方法的返回值。
    • 在这个例子中,getSingleValue 方法返回两个值:StatusCodeVehicleVariantCodingValue
  2. AIDL 中的 inout

    • in 表示输入参数,调用者将数据传递给被调用者。
    • out 表示输出参数,被调用者将数据传递回调用者。
    • 在这个例子中,getSingleValue 方法接受一个 String 类型的输入参数 key,并通过 out 参数返回两个值:StatusCodeVehicleVariantCodingValue

总结

  • HIDL 使用 generates 关键字来指定方法的返回值。
  • AIDL 使用 inoutinout 关键字来指定参数的传递方向。
  • 在 AIDL 中,方法的返回值通常是 void,而多个返回值通过 out 参数来实现。
相关推荐
u0103055271 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节
u0103055272 天前
Java模块化编程实战指南
人工智能·笔记·1024程序员节
u0103055273 天前
使用BufferedReader读取控制台输入
人工智能·1024程序员节
u0103055273 天前
泛型类与类型安全详解
人工智能·1024程序员节
u0103055275 天前
Java异常处理核心机制
人工智能·1024程序员节
炽天使32812 天前
Knife4j 4.5.0 + Spring Boot 3.4.11 版本兼容问题解决方案
1024程序员节
liguojun202515 天前
智慧文体旅系统选哪家?豆米跳跳十年技术沉淀支持源码交付
java·大数据·人工智能·物联网·1024程序员节
liguojun202525 天前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
开开心心就好2 个月前
解决截图被拦截黑屏问题的免费小工具
安全·智能手机·flink·kafka·pdf·音视频·1024程序员节