Activity

作者: 米花噗噗 | 来源:发表于2019-05-26 21:04 被阅读0次

    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值

    相关文章

      网友评论

          本文标题:Activity

          本文链接:https://www.haomeiwen.com/subject/faoftctx.html