登录
首页 » Unix_Linux » Android_Binder_IPC

Android_Binder_IPC

于 2013-11-13 发布 文件大小:52KB
0 88
下载积分: 1 下载次数: 7

代码说明:

  android binder通信介绍。binder 通信是一种client-server 的通信结构, 1. 从表面上来看,是client 通过获得一个server 的代理接口,对server 进行直接调用; 2. 实际上,代理接口中定义的方法与server 中定义的方法是一一对应的; 3.client 调用某个代理接口中的方法时,代理接口的方法会将client 传递的参数打包成为Parcel 对象; 4. 代理接口将该Parcel 发送给内核中的binder driver. 5.server 会读取binder driver 中的请求数据,如果是发送给自己的,解包Parcel 对象,处理并将结果返(android binder communication。)

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 11.wifi遥控小车实验
    11.wifi遥控小车实验
    2020-12-02下载
    积分:1
  • Listview通过adapter传递对象
    Listview通过adapter传递对象
    2015-08-25下载
    积分:1
  • 实现android相册网格和gallery功能 实例源码下载
    实现android相册网格和gallery功能 实例源码下载
    2015-03-17下载
    积分:1
  • android-pulltorefresh-master
    android上拉下拉刷新 PullToRefresh Android-PullToRefresh-master 注释掉PullToRefreshViewPager 里面的viewPager.setId(R.id.viewpager) 就可以了 androidpull..fresh(pull-down refresh on android PullToRefresh Android-PullToRefresh-master commented PullToRefreshViewPager inside viewPager.setId (R.id.viewpager) on it androidpull..fresh)
    2014-11-02 21:48:05下载
    积分:1
  • android 提醒小闹钟 例子源码
    android 提醒小闹钟 例子源码
    2014-10-17下载
    积分:1
  • AccountSetupIncoming
    Account Setup Incoming for Andriod.
    2013-10-06 00:35:28下载
    积分:1
  • darvds-RibbonMenu
    Android 导航菜单 RibbonMenu Android源码包,是不是看到了这个熟悉的界面?在Android机中,像RibbonMenu这种类似的菜单多之又多,对于想搞Android应用开发的来说,这算是基础的菜单制作技巧了,因此对于安卓开发初学者还是相当有价值参考的。(Android navigation menu RibbonMenu Android source packages, is not seeing this familiar interface? In Android machine, such as a similar menu RibbonMenu more than the addition, stir it for Android application development, which can be considered the foundation of menu making skills, so for Android development is still quite valuable reference for beginners.)
    2014-02-12 09:47:14下载
    积分:1
  • android画图实例源码下载
    android画图
    2015-03-07下载
    积分:1
  • android aidl跨进程调用 完整源码下载(含客户端和服务端源码)
    这两天在学习aidl跨进程调用,研究了一天终于写出了个helloword。。做下记录吧。根据官方提供的指南,开发aidl跨进程调用,主要分以下步骤:1.         创建.aidl文件-该文件(YourInterface.aidl)定义了客户端可用的方法和数据的接口。2.         在makefile文件中加入.aidl文件-(Eclipse中的ADT插件提供管理功能)Android包括名为AIDL的编译器,位于tools/文件夹。3.         实现接口-AIDL编译器从AIDL接口文件中利用Java语言创建接口,该接口有一个继承的命名为Stub的内部抽象类(并且实现了一些IPC调用的附加方法),要做的就是创建一个继承YourInterface.Stub的类并且实现在.aidl文件中声明的方法。4.         向客户端公开接口-如果是编写服务,应该继承Service并且重载Service.onBind(Intent) 以返回实现了接口的对象实例上面的东西真的很官方。。下面结合我的例子做一下学习总结:先开发服务器端1.创建一个aidl文件,可以看提供的源码。创建完成后,eclipse插件自动在gen目录下生成同名字的java文件。里面包含一个Stub抽象类,这个类继承自android.os.Binder,这个类是实现整个远程调用的核心。2.然后创建一个类来继承上面说到的那个Stub抽象类,实现里面的抽象方法。(这些抽象方法是根据aidl文件自动生成的)。3.创建一个自定义Service继承自Service,实现其onBind方法,注意此onBind方法必须返回第二步创建的那个Stub类的子类。然后在xml中声明此service,注意此service的声明必须包含一个action,此action也用于客户端的调用使用。(在下面的客户端开发中会有介绍)。4.创建一个activity,此activity只要实现把service启动了即可。这样服务器端就开发完毕,运行后启动了一个可供远程调用的service。关键还是通过onBind暴露一个Binder给客户端。Binder哪来呢?就是通过aidl文件adt会自动生成一个抽象类Stub继承自Binder,只需要创建一个类实现这个Stub的抽象方法即可。然后开发客户端:1.客户端也需要一个aidl文件,注意客户端的aidl文件的包名必须和服务器端的aidl包名一致,名字也相同。创建完后同样会在gen下生成一个接口。2.创建一个Activity,包含变量ServiceConnection con,实现其onServiceConnected和onServiceDisconnected方法,onServiceConnected方法生成第一步那个接口的实现类的对象。con对象用于在onCreate中绑定service,这个service的action必须为服务器端声明的那个service的配置action。绑定中用到con会执行onServiceConnected方法生成aidl对象iPerson。然后就可以通过iPerson来调用aidl里的任意方法返回服务器的东西。客户端开发完毕。关键点是创建aidl文件自动生成了一个接口,在activity中必须绑定服务程序开启的service,在绑定过程中初始化aidl对象。然后就可用aidl对象调用任意方法了。OK,可以运行看效果了。过程真的很繁琐。。但是好像也只能这样了。最主要的还是服务端onBind暴露,然后客户端bindService得到aidl对象。
    2020-12-01 17:29:26下载
    积分:1
  • android 广播的接收与送 service实现 附完整源码
    android 广播的接收与发送 service实现 附完整源码
    2013-04-20下载
    积分:1
  • 696524资源总数
  • 103827会员总数
  • 23今日下载