虽然我们很多时候都在用eventBus / Rxbus,但是基础的一些通信我们也需要了解。
Activity与Activity:
1:Intent/Bundle;
2:类静态变量;
3:全部变量;
Activity传给Fragment:
1:Bunlde;
方法 Fragment.setArguments(bundle); 之后在Fragment中调用getArguments();
2:直接在Activity中定义;
在该fragment依附的activity 中写一个方法a(),然后在fragment中拿到activity 做强转(可用方法为onAttach方法或getActivity方法),然后调用方法a();
fragment传给Activity:
接口回调;
1:在fragment中定义一个内部回调接口,让activity实现该接口;
2:fragment中onAttach方法,检查activity是否实现了fragment定义的接口。
3:调用onDetach方法,这个时候要把传递进来的activity对象释放掉,不然会造成内存泄漏;
Activity与service:
1:绑定服务,利用serviceConnection类
2:简单通信,利用intent进行传值 (只能传递简单类型数据,性能上也并无太多优势)
3:定义一个callback来监听服务中的进程变化
主要代码实现