《part_d_开发自己的服务从app到平台开发d05_a_android service的proxy-stub设计模式_ok_W》由会员分享,可在线阅读,更多相关《part_d_开发自己的服务从app到平台开发d05_a_android service的proxy-stub设计模式_ok_W(20页珍藏版)》请在人人文库网上搜索。
1、基於軟硬整合觀點D05_aAndroid Service的Proxy-Stub设计模式(a)By 高煥堂內容1. 复习:Android Service2. 通用接口:IBinder3. 实践Proxy-Stub模式4. 举例:以既有的Sensor Service为例基於軟硬整合觀點1、复习:Android Service什么是Android Service? 核心服务可以用C+语言来撰写,就称为Native 核心服务,简称为Native Service, 如MediaPlayerService、SensorService等。 此外,核心服务也可以用Java语言来撰写, 就称为Java 核心服务。
2、,简称为Android Service, 如 AudioService, WindowManagerService等。IBinderAndroid ServiceHAL/驅動硬體Core LibrariesJNI 部分AndroidVMRuntimAndroid AppHAL/驅動硬體Core LibrariesJNI 部分AndroidVMRuntimAndroid AppIBinderAndroid ServiceJNI部分HAL/驅動硬體JNI部分HAL/驅動硬體基於軟硬整合觀點2、 通用接口:IBinderAndroid Service通用接口:IBinder 以Java 撰写的And。
3、roidService 都会提供IBinder接口来让其Client模块进行跨进程的远程调用。 然而,IBinder接口只提供一个transact()函数,使用起来并不好用,通常我们会使用Proxy-Stub设计模式来将IBinder接口包装起来,然后创造一个更好用、更具亲密感的接口。使用AIDL定义服务的接口 AIDL架构的幕后也是采用Proxy-Stub设计模式来封装IBinder接口,以便产生更亲切贴心的新接口。 所以Android提供aidl.exe工具来协助产出Proxy和Stub类别,以化解这个困难。这aidl.exe工具就附在Android SDK的/tools/ 目录区里。 Continued。