当前位置: 首页 > article >正文

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

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

HIDL 中的 generates

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

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 参数来实现。例如:

void getSingleValue(in String key, out StatusCode status, out VehicleVariantCodingValue value);

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

示例

HIDL 方法定义
VehicleVariantCodingValue getSingleValue(string key) generates(StatusCode status, VehicleVariantCodingValue value);
对应的 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 参数来实现。

http://www.kler.cn/news/368103.html

相关文章:

  • Spring-Day2
  • VScode插件:前端每日一题
  • 图集短视频去水印云函数开发实践——小红书
  • 设计模式——过滤器模式
  • 实验04while(简单循环)---7-2 整数的立方和
  • 基于SSM的BBS社区论坛系统源码
  • php8.3.0安装及扩展安装
  • Windows中API学习-目录管理
  • MySQL 数据出海之数据同步方案
  • 我与Linux的爱恋:进程程序替换
  • 版本工具报错:Error Unity Version Control
  • ArkTS 如何适配手机和平板,展示不同的 Tabs 页签
  • 「AIGC」AI设计工具 v0.dev
  • Webpack优化项⽬的⼿段
  • 【网络安全初识】——互联网发展史
  • PHP 中的 die () 和 exit () 函数有什么不同
  • 计算机mfc100.dll丢失的五种有效解决方法,快速解决dll文件-常见问题
  • 2024年Java面试:必备的易错面试题及答案整理
  • Linux基础知识 - C(自学使用)
  • Unity 开发学习笔记(0):
  • Kafka 解决消息丢失、乱序与重复消费
  • 面向对象编程中类与类之间的关系(一)
  • 草地杂草数据集野外草地数据集田间野草数据集YOLO格式VOC格式目标检测计算机视觉数据集
  • 鸿蒙网络编程系列32-基于拦截器的性能监控示例
  • unity中GameObject介绍
  • unity 导入的模型设置详谈