Activity Service 数据相互操作

简介: 引用:http://blog.csdn.net/chenjinyu_tang/article/details/6587697 Service获得Activity的数据:1、在startService或者bindService的时候,通过在Intent中加入bundle来给service传递数据;2...

引用:http://blog.csdn.net/chenjinyu_tang/article/details/6587697

Service获得Activity的数据
1、在startService或者bindService的时候,通过在Intent中加入bundle来给service传递数据;
2、bindService的时候,在ServiceConnection的onServiceConnected(ComponentName name, IBinder service)方法中,通过IBinder中的Setter方法来给Service传递数据,也可以直接将Activity的引用传递给Service,这样Service就可以操作Activity中数据和方法了。
3、通过SharedPerferences共享存储数据;
4、通过Sqlite数据库存储和获取数据,可以实现数据共享;
5、其他数据方法,如Files等,具体内容看文档的Dev guide->data storage部分吧。

Activity获得Service的数据

1、同上通过sharedPerferences,sqlite,files等共享数据;
2、bindService的时候,在ServiceConnection的onServiceConnected(ComponentName name, IBinder service)方法中,通过IBinder可以访问Service的方法和变量,具体:
a. 在自定义的IBinder中通过getter方法,返回Service中的变量,在赋给Activity中的的变量或者引用。
b. 在自定义的IBinder中的方法,执行Service中的操作;
c. 在自定义的IBinder中通过方法返回Service的引用,赋给Activity中Service引用,这样Activity就可以对Service进行操作了。

相关文章
|
3月前
|
安全 Android开发 开发者
Service与Activity如何实现通信
Android为Service与Activity之间的通信提供了多种灵活的方式,开发者可以根据应用程序的需求选择合适的通信机制。对于多数简单通信需求,Intent和Binder通常就足够使用。另外,要注意线程安全和数据同步的问题,尤其是在多线程环境下操作UI或Service中的共享资源时。
175 0
|
5月前
|
Android开发
怎样用AIDL Service 传递复杂数据
怎样用AIDL Service 传递复杂数据
33 0
|
Android开发
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信(二)
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信
117 0
|
Android开发
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信(一)
Android手写占位式插件化框架之Activity通信、Service通信和BroadcastReceiver通信
113 0
|
Android开发
深入剖析Android四大组件(二)——Service服务之启动与绑定(二)
深入剖析Android四大组件(二)——Service服务之启动与绑定(二)
290 1
深入剖析Android四大组件(二)——Service服务之启动与绑定(二)
|
Android开发
深入剖析Android四大组件(二)——Service服务之启动与绑定(一)
深入剖析Android四大组件(二)——Service服务之启动与绑定(一)
268 0
深入剖析Android四大组件(二)——Service服务之启动与绑定(一)
|
Android开发
【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )(三)
【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )(三)
332 0
【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )(三)
|
Android开发
【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )(二)
【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )(二)
258 0
|
API Android开发
【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )(一)
【Android 进程保活】应用进程拉活 ( 系统 Service 机制拉活 | Service 组件 onStartCommand 方法分析 | 源码资源 )(一)
202 0