参考:高焕堂 B05_d_AIDL与Proxy-Stub设计模式_ok.pdf
一,谁来写Proxy及Stub类
1)由框架开发者来撰写Proxy-Stub类,才能减轻开发者的负担。
2)框架分为:<天子框架>和<曹操框架>。
3)因此,应该由两者(天子或曹操)之一来撰写Proxy-Stub类。
二,怎么写Proxy及Stub类
在框架的开发阶段,新增的接口并没有确定,也无法确定,那如何撰写Proxy-Stub类?
2.1,通过模板类(c++使用的就是这种方法)
1)架构师定义模板
template< class T >
class SomeClass
{
private:
T data;
public:
SomeClass() { }
void set(T da)
{ data = da; }
};
template<interface I>
class BinderProxy
{
// ………
};
2)普通开发者利用模板生成类
SomeClass<Integer> x;
BinderProxy<IPlayer> proxy;
2.2,通过AIDL
详细的方法网上很多,这里不再赘述,只是简单的概括一下
使用环境:android studio
创建方法:
1)创建AIDL目录
2)创建AIDL文件
3)build编译之后会在app/build/generated/source/aidl/debug目录下会生成aidl远程java实现类,这个类已经实现了binder的Stub和Proxy接口
demo代码:
https://github.com/Darren999/ipcDemo/tree/master/ProxyStub_aidl