aidl的基本使用--在不同app之间通信

一、将第一个app,当做服务端

 

(一)创建Fruit.java文件,

在com.example.settinglib包下

实现Parcelable ,只有序列化的数据,才能在进程间传递

 

public class Fruit implements Parcelable {
    private String mName ;
    private int mNumber;

    public Fruit(Parcel source) {
        mName = source.readString();
        mNumber = source.readInt();
    }

    public String getmName() {
        return mName;
    }

    public void setmName(String mName) {
        this.mName = mName;
    }

    public int getmNumber() {
        return mNumber;
    }

    public void setmNumber(int mNumber) {
        this.mNumber = mNumber;
    }

    public Fruit(String name, int number) {
        this.mName = name;
        this.mNumber = number;
    }

    public static final Creator<Fruit> CREATOR = new Creator<Fruit>() {
        @Override
        public Fruit createFromParcel(Parcel in) {
            return new Fruit(in);
        }

        @Override
        public Fruit[] newArray(int size) {
            return new Fruit[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeString(mName);
        parcel.writeInt(mNumber);
    }


    @Override
    public String toString() {
        return String.format("[mName:%s, mNumber:%s]", mName, mNumber);
    }
}

(二)创建Fruit.aidl文件和IFruitManger.aidl文件

1,在main文件夹下,创建aidl文件。并在aidl文件夹下,创建Fruit.aidl、IFruitManger.aidl、INewFruitAddListener.aidl,   他们的路径和Fruit.java  文件相同

2,aidl文件都尽量放在一个路径下,这样便于拷贝到客户端app使用。

客户端拷贝过去的aidl文件和实现了Parcelable的java文件,其路径要和服务端的一模一样。否则会报错。(无法反序列化)

 

1,Fruit.aidl

表示实现了parcelable序列化

package com.example.settinglib;
parcelable Fruit;

2࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值