跨进程绑定Service
来源:互联网 发布:淘宝信誉等级在哪里看 编辑:程序博客网 时间:2024/05/22 10:24
之前讲过Service有远程服务,也就是不同程序之间也可以通过Service联系起来。跨进程的绑定Service可以通过aidl接口实现。
下面运用一个例子程序
提供Service里的方法和数据的程序叫做服务端,获取和运用Service里的方法和数据的程序叫客户端。
先创建两个安卓程序,一个作为服务端,一个作为客户端。
先对服务端进行操作,在服务端创建一个class类,然后在我的电脑的eclipse的项目存储目录下,找到该class并把后缀名改为 .aidl 然后回到开发程序中刷新一下,就会发现刚才所创建的java类已经变成了aidl类,接着就可以在该aidl类中写一些方法,如要传输对象,则需要创建一个对象的类,和该对象的一个aidl类,并且都要实现序列化接口。.aidl类和student即实体类要复制粘贴到客户端才能使用。
要使用AIDL,Service需要以aidl文件的方式提供服务接口,AIDL工具将生成一个相应的java接口,并且在生成的服务接口中包含一个功能调用的stub服务桩类。Service的实现类需要去继承这个stub服务桩类
接下来就要创建一个类来继承Service并实现其中的方法,主要的就是返回一个IBinder对象的onBind方法,但是IBinder接口不能直接用,需要写一个继承Binder,由于之前就写了一个aidl对象,所以可以继承这个stub服务类。
Service类记得要注册,而且还要添加action属性
在客户端,开启Service时要通过setAction来启动,因为Service在另一个程序,所以用显性的话会找不到,只能通过隐性来启动
bindService(service, conn, flags),绑定Service有三个参数,第一个是需要启动的服务,第二个是ServiceConnection,第三个是BIND_AUTO_CREATE(固定写法),其中第二个参数,服务器连接,需要写一个类来实现ServiceConnection接口,通过ServiceConnection对象的相关方法可以得到Service对象
代码如下
注意一定要先运行服务端再客户端
本文出自 “11828641” 博客,请务必保留此出处http://11838641.blog.51cto.com/11828641/1839224
- 跨进程绑定Service
- Service跨进程的绑定和交互
- Android Service绑定与跨进程通信
- 使用AIDL实现跨进程Service的绑定
- 从ADIL跨进程绑定通讯再探Service知识
- Service的绑定中,Binder跨进程与非跨进程的区别
- Android的服务(Service)(三)Service客户端的绑定与跨进程
- Android的服务(Service)(三)Service客户端的绑定与跨进程
- Android的服务(Service)(三)Service客户端的绑定与跨进程
- android Service 跨进程通信
- 跨进程调用service(AIDL)
- 【Android】跨进程调用service
- android Service 跨进程通信
- android 跨进程Service调用
- android跨进程启动service
- service跨进程远程通讯
- 跨进程调用Service(AIDL Service)
- 跨进程调用 Service(AIDL Service)
- 【POJ1679】The Unique MST-次小生成树(判断最小生成树唯一性)
- getReadableDatabase与getWritableDatabase的区别
- 使用SharedPreferences存储数据
- android通知栏的消息通知(Notification)
- 四大组件之Service
- 跨进程绑定Service
- android service中stub的作用
- 2.3.4 Belief Distributions
- 使用系统服务对手机进行操作
- GestureDetector手势滑动识别
- 使用GestureOverlayView进行手势识别
- Handler的使用上
- Handler使用下
- Handler原理