前言
这几天项目不是特别的忙,想在Android技术方面寻求突破,就在网上搜索AIDL是什么,也看了几篇关于AIDL的博客,现在想把自己对AIDL的理解记录下来。
AIDL(Android Interface Definition Language)即Android接口定义语言,主要作用于跨进程通信;对于在Android里的应用,在应用层,简单点就是一款APP能够使用另一款APP提供的服务(service),通过传递参数,或者调用方法来完成需求。
接下来说一下怎么使用AIDL(AS开发工具):
服务器端
- 数据对象——这个对象包含了我们需要用到的数据信息
在java目录下新建一个InfoBean.java文件,声明两个变量name和age,添加set和get方法,该类要实现Parcelable接口。
public class InfoBean implements Parcelable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "InfoBean{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.name);
dest.writeInt(this.age);
}
public void readFromParcel(Parcel dest){
//该方法自己需要手动添加
name=dest.readString();
age=dest.readInt();
}
public InfoBean() {
}
protected InfoBean(Parcel in) {
this.name = in.readString();
this.age = in.readInt();
}
public static final Creator<InfoBean> CREATOR = new Creator<InfoBean>() {
@Override
public InfoBean createFromParcel(Parcel source) {
return