Activity
1.Activity与Activity之间的通信
(1).Intent/Bundle
①可通过startActivity来开启
②也可通过startActivityForResult来开启活动同时传递结果
(2).类静态变量
(3).全局变量
2.Activity与Fragment之间的通信
(1).Activity将数据传递给Fragment
①Bundle可以通过Bundle的key,value值绑定给另一个Activity
②直接通过Activity中定义方法,然后fragment直接获取到方法
Activity中: 向fragment传递数据
Fragment中: 拿到它的数据
(2) .Fragment将数据传递给Activity
①在fragment中定义一个内部回调接口,在让包含Activity的Fragment实现这个接口,然后这个Fragment就可以调用这个接口的方法
②fragment中的方法onAttach();
当fragment添加Activity的时候会调用onAttach(),可以在这个这个方法中检查是否实现fragment中定义的内部接口
③调用OnDetach()方法,这个时候要把传递过来的activity释放掉,要不然会影响Activity的销毁,导致内存泄漏
3. Activity与Service之间的通信
(1)绑定服务利用ServiceConnection类(成功和失败)
成功的时候会调用onserviceConnection
Activity实现ServiceConnection接口的时候会重写一下方法
①首先创建MyBinder对象,在OnServiceConnection中获取这个对象
②利用写好的setData进行传递数据
(2)通过Intent进行传值
①.再启动一个Activity的时候会构建Intent对象向Service 传值
startService()和stopService()都会传入一个Intent ,通过Intent传入一些参数
startService一个是key,一个是value值
startService()启动服务,stopService()终止服务
Activity中的实现:
Service中的实现:
onStartConmmand接收从Activity传过来的方法
内部会传入key值