网站登录qq,常州网站建设公司教程,公司制作网站需要什么知识,php开源订单管理系统如何在 AIDL 中使用自定义类型#xff0c;具体步骤如下#xff1a;创建自定义类型声明自定义类型定义与自定义类型相关的业务重写业务实体类远程调用验证 AIDL1. 创建自定义类型自定义类型传输的就是一个实体对象#xff0c;这个实体类必须实现 Parcelable 接口#xff0c;… 如何在 AIDL 中使用自定义类型具体步骤如下创建自定义类型声明自定义类型定义与自定义类型相关的业务重写业务实体类远程调用验证 AIDL1. 创建自定义类型自定义类型传输的就是一个实体对象这个实体类必须实现 Parcelable 接口具体如下1// 自定义类型2public class Work implements Parcelable {3 private String title;4 private String content;5 // getter、setter、Parcelable 省略6}2. 声明自定义类型创建一个 .aidl 文件声明刚才定义的类型注意与具体业务 .aidl 文件的不同声明具体如下1// 在.aidl文件中声明自定义类型2package com.manu.aidldemo;3parcelable Work;3. 定义与自定义类型相关的业务在定义具体业务的 .aidl 文件中定义与自定义类型相关的业务具体如下1// Declare any non-default types here with import statements2import com.manu.aidldemo.Work; //注意3interface IPersonAidlInterface {4 //定义与自定义类型相关的业务5 Work getWorkInfo();6 void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,7 double aDouble, String aString);8}注意导入自定义类型否则不识别。4. 重写业务实体类由于新增了具体业务也就是 getWorkInfo() 需要具体业务类里面实现具体的业务具体如下1//新增自定义类型相关的业务2Override3public Work getWorkInfo() throws RemoteException {4 Work work new Work();5 work.setTitle(学习AIDL);6 work.setContent(Android developer);7 return work;8}5. 远程调用绑定 Service 成功之后会得到 IBinder 对象然后通过 asInterface() 获取到 IPersonAidlInterface 对象就可以调用了具体如下 1public void callRemoteClick(View view) { 2 Log.i(TAG,远程调用具体服务...); 3 try { 4 //远程调用 5 Work work iPersonAidlInterface.getWorkInfo(); 6 System.out.println(这是远程调用的服务信息titlework.getTitle(),contentwork.getContent()); 7 } catch (RemoteException e) { 8 e.printStackTrace(); 9 }10}6. 验证 AIDL日志运行截图如下使用流程实际上在上篇文章中已经阐述清楚了这篇貌似有点多余不过算是对过去知识的总结吧最后推荐一下我的视频号每天分享各种知识欢迎大家关注---END---转发至朋友圈是绝对的真爱让我知道你在看