Activity,Fragment,Service之间通信

虽然我们很多时候都在用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来监听服务中的进程变化

    主要代码实现


你可能感兴趣的:(Activity,Fragment,Service之间通信)