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 参数来实现。
相关推荐
开开心心就好4 天前
清理重复文件释放C盘空间的工具
安全·智能手机·pdf·gitlab·音视频·intellij idea·1024程序员节
数据皮皮侠AI8 天前
中国土地利用驱动因子数据集(9种驱动因子/裁剪到省市/Tif)
大数据·人工智能·笔记·能源·1024程序员节
数据皮皮侠AI12 天前
上市公司耐心资本数据(2010-2025)
大数据·人工智能·笔记·能源·1024程序员节
开开心心就好14 天前
解决图片无页码添加功能的实用工具
javascript·python·安全·智能手机·pdf·音视频·1024程序员节
学传打活14 天前
【边打字.边学昆仑正义文化】_25_宇宙动植物的由来(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
开开心心就好19 天前
用户推荐的文件解锁与强制操作工具
安全·智能手机·pdf·scala·音视频·symfony·1024程序员节
liguojun202524 天前
软硬一体智慧场馆系统推荐——助力场馆数字化高效升级
java·大数据·人工智能·物联网·1024程序员节
开开心心就好1 个月前
吾爱大佬原创的文件时间修改工具
安全·智能手机·pdf·电脑·智能音箱·智能手表·1024程序员节
开开心心就好1 个月前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
数据皮皮侠AI1 个月前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节