Android aidl学习笔记-客户端

本文参考:http://blog.csdn.net/fwt336/article/details/52587133

客户端编码步骤

aidl描述:

AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数。

操作步骤

1.新建一个android项目

2.将服务端aidl目录完整复制到main目录下

3.Build - Make Project,执行完成后完成界面部分搭建,本文中只说明绑定服务。

4.声明ServiceConnectionIRemoteService对象(IRemoteService由Make Project之后在build目录中生成

5.点击绑定服务按钮,执行bingService,传入的intent我进行如下初始化

 Intent intent = new Intent();
 intent.setPackage(MainActivity.this.getPackageName());
 intent.setComponent(newComponentName("com.wzh.aidlservicedemo","com.wzh.aidlservicedemo.RemoteService"));

如果bindService执行成功,会回调onServiceConnected,通过IRemoteService.Stub.asInterface方法,我们可以将IBinder对象转成IRemoteService,至此我们已经拿到了服务端的IRemoteService对象,拥有此对象后即可调用IRemoteService中的方法,具体使用不再赘述。

源代码已上传Github,欢迎star:

https://github.com/uiatnys/AIDLClientDemo

最后

项目结构如下所示

src.png
build.png
mainactivity.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,142评论 25 709
  • Android跨进程通信IPC整体内容如下 1、Android跨进程通信IPC之1——Linux基础2、Andro...
    隔壁老李头阅读 13,678评论 13 43
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 本篇包含进程间通信——AIDL所涉及到的知识的自我总结(内容详细) 通过前段时间对AIDL的学习以及最近一些资料的...
    arvinljw阅读 8,360评论 0 17
  • 第n+1次感到心累,迷茫,不知未来路在何方。 32岁生日已过,如果一生是一天,就算长寿也过了1/3,8小时多了。而...
    湘小君阅读 3,480评论 0 0