binder通信中传递对象--利用AIDL实现传递自定义的类型

本文介绍了在Android中利用AIDL进行 Binder 通信时如何传递自定义类型。通过实现Parcelable接口并创建对应的aidl文件,可以实现自定义类在服务间的传递。详细步骤包括创建实现Parcelable的类、定义aidl文件以及应用自定义类型。此外,还讨论了在AIDL中传递其他AIDL定义的接口方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Service:利用Binder通信中,传递自定义类型

AIDL中支持的数据类型

AIDL中支持的数据类型有:

支持类型 需要import 备注
Java基本类型 不需要import
String,
CharSequence,
List,
Map
不需要import List,Map内的元素必须是AIDL支持
的类型;
List接收方必须是ArrayList;
Map接收方必须是HashMap
其他AIDL定义的AIDL接口 需要import 传递的是引用
实现Parcelable的类 需要import 值传递

注意:在AIDL中定义函数参数时,如果参数时其他AIDL接口或者实现Parcelable的类时,需要参数前添加in、out、inout

in、out、inout被称为directional tag,代表参数的传递方向

AIDL中如何传递自定义类型

实现自定义类型,需要如下两步:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值