需求
项目需要,将做好的项目作为一个服务提供给另一个公司。我们需要提供一个apk,所以设计到进程间交互,不得不了解一下AIDL了。
了解一下AIDL
之前准备面试的时候,或多或少的了解了一点AIDL,不过现在忘记得差不多了。
所以网上随便找了几篇不错的文章。
一个简单的demo
自己搞了一个简单的demo。
实现了进程间通信,可以传输普通类型和实体类型。
首先是服务端。
1.第一个aidl接口。
// IMyAidlInterface.aidl package com.xf.test1; import com.xf.test1.IAidlCallBack; import com.xf.test1.Entity; // Declare any non-default types here with import statements interface IMyAidlInterface { /** * Demonstrates some basic types that you can use as parameters * and return values in AIDL. */ void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, String aString); String getStr(String str); int getPid(); Entity getEntity(); Entity setEntity(in Entity entity); void registerCallBack(IAidlCallBack callback); void unregisterCallBack(IAidlCallBack callback); }