1:建立一个Activity工程;
2:在工程显示中选择“Android” -> 右键“new” -> Folder -> AIDL Folder;
3:在上述 AIDL Folder中新建 -> AIDL -> AIDL File;
4:Build -> Make Project;
5:生成IMyAidlInterface接口的 内部静态抽象类Stub;一个内部Java类从AIDL Fild生成的;
public static abstract classStubextendsandroid.os.Binderimplementscom.example.administrator.myapplication.IMyAidlInterface
从这个实现可以看出,Stub既实现了IMyAidlInterface接口,也继承了Binder,所以其实可以OnBind返回;
在AndroidStudio2.0中,虽然生成了这个文件,但是工程的列表中不显示,可以通过 “双击 Shift”搜索这个类;
6:Stub是一个abstract 类型,所以我们可以新建service,然后在service中创建一个类然后继承实现接口,这样就可以通过这个和service信息通信了;
示例:
import com.example.administrator.myapplication.IMyAidlInterface.Stub; public class MyService extends Service { public MyService() { } public class myaidlclass extends Stub { @Override public void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, String aString) throws RemoteException { } }
}
service的创建和这个方法一样;