最近在整理一些碎小的知识点,以前一提到AIDL整个人都不好了,因为不会,所以觉得非常高大上,正是所谓的不明觉厉,闲话少说,AIDL是Android中IPC的一种,本篇文章简单介绍使用AIDL来进行进程间的通信流程,分为客户端和服务端两个方面
1,服务端
服务端首先创建一个service监听客户端的连接请求,然后创建一个AIDL文件,在文件中声明暴露给客户端的接口,最后在service中实现AIDL接口即可
2,客户端
客户端首先绑定服务端的Service,绑定成功后将服务端返回的binder对象转成AIDL接口所属的类型,然后可以调用AIDL中的方法
把所有的AIDL相关的文件为了图个省事都放在一个文件夹中了
首先创建相关AIDL文件
Book.java
package com.example.testdemo.aidl;
import android.os.Parcel;
import android.os.Parcelable;
public class Book implements Parcelable {
private int bookId;
private String bookName;
public void setBookId(int bookId) {
this.bookId = bookId;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public Book(int bookId, String bookName) {
this.bookId = bookId;
this.bookName = bookName;
}
public Book(Parcel in) {
bookId = in.readInt();
bo