[大餐]开发摘记1--我的Fragment通信的框架 | 卖牙膏的芖口钉

盒子

盒子

声明:博文未经授权一律不允转载

如果把通信比作钓鱼,如果每次都有鱼上钩,那么我想可以分为以下四种:

  • 1.鱼钩上不钩饵料,然后抛出去,钩到鱼了,这时候鱼线断了,连线带钩和鱼都没了。
  • 2.鱼钩上钩上饵料,然后抛出去,钩到鱼了,这时候鱼线断了,连线带钩和鱼带饵料都没了。
  • 3.鱼钩上不钩饵料,然后抛出去,钩到鱼了,这时候鱼线没断,连线带钩和鱼带饵料都拉回来了。
  • 4.鱼钩上钩上饵料,然后抛出去,钩到鱼了,这时候鱼线没断,连线带钩和鱼带饵料都拉回来了。

其实这四种就可以对应着四种不同的通信:

  • 1.A向发了一个空的通知让B响应了,A不需要知道B是否响应(鱼线断了)。
  • 2.A向发了一个携带参数的通知让B响应了,A不需要知道B是否响应(鱼线断了)。
  • 3.A向发了一个空的通知让B响应了,A需要知道B是否响应,最终A得到了B响应结果(鱼线完好,成功回收)。
  • 4.A向发了一个携带参数的通知让B响应了,A需要知道B是否响应,最终A得到了B响应结果(鱼线完好,成功回收)。

再说的简单一点,那就是:

  • 1.调用“void func()”方法,无参无返回值。
  • 2.调用“void func(P p)”方法,有参无返回值。
  • 3.调用“R func()”方法,无参有返回值。
  • 4.调用“R func(P p)”方法,有参有返回值。

因为通信无非就是这四种方法,那么就可以抽象出来的这四类方法的类,如果使用四个容器装着,在合适的时候往里添加,并且在合适的时候取出来调用,那么势必可以变成一个解耦通信框架。

后面会陆续记录开发这个小框架的心路历程。


项目地址:

https://github.com/halohoop/Fishing

已经可以正常使用了。

关闭

[大餐]开发摘记1--我的Fragment通信的框架的更多相关文章

  1. 【百度地图开发之二】基于Fragment的地图框架的使用

    写在前面的话: [百度地图开发之二]基于Fragment的地图框架的使用(博客地址:http://blog.csdn.net/developer_jiangqq),转载请注明. Author:hmji ...

  2. Android开发之漫漫长途 XII——Fragment详解

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  3. Android UI开发第二十八篇——Fragment中使用左右滑动菜单

    Fragment实现了Android UI的分片管理,尤其在平板开发中,好处多多.这一篇将借助Android UI开发第二十六篇——Fragment间的通信. Android UI开发第二十七篇——实 ...

  4. iOS开发之使用XMPPFramework实现即时通信(三)

    你看今天是(三)对吧,前面肯定有(一)和(二),在发表完iOS开发之使用XMPPFramework实现即时通信(一)和iOS开发之使用XMPPFramework实现即时通信(二)后有好多的小伙伴加我Q ...

  5. iOS开发之使用XMPPFramework实现即时通信(二)

    上篇的博客iOS开发之使用XMPPFramework实现即时通信(一)只是本篇的引子,本篇博客就给之前的微信加上即时通讯的功能,主要是对XMPPFramework的使用.本篇博客中用到了Spark做测 ...

  6. iOS开发多线程篇—线程间的通信

    iOS开发多线程篇—线程间的通信 一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任 ...

  7. Android开发之漫漫长途 XIII——Fragment最佳实践

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  8. 我的长大app开发教程第一弹:Fragment布局

    在接下来的一段时间里我会发布一个相对连续的Android教程,这个教程会讲述我是如何从零开始开发“我的长大”这个Android应用. 在开始之前,我先来介绍一下“我的长大”:这是一个校园社交app,准 ...

  9. iOS开发之使用XMPPFramework实现即时通信

    iOS开发之使用XMPPFramework实现即时通信   关于XMPP的理论介绍在本篇博客中就不做赘述了,如何在我们之前的微信中加入XMPP协议来实现通信呢?下面将会介绍一下XMPP的基本的知识,让 ...

随机推荐

  1. Python实现自动处理表格,让你拥有更多的自由时间!

    相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作.最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格 ...

  2. 支付宝H5支付demo

    支付宝H5支付 首先我们必须注册一个支付宝应用(本案例就直接用支付宝的沙箱环境,这个沙箱也就是支付宝提供给开发者的一个测试环境) 登录地址:https://open.alipay.com/platfo ...

  3. 题解-------CF235B Let's Play Osu!

    传送门 题目大意 求出总得分的期望值. 思路 还没有学习数学期望的小朋友赶紧去学一下数学期望,这里只提供公式: $E\left ( x \right )=\sum_{k=1}^{\infty }x_{ ...

  4. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第九天】(商品详情页面实现)

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  5. mplayer 的安装步骤

        编译mplayer: make distclean ./configure --disable-png --disable-gif   //加后面的是因为编译时出错了,也可以直接  ./con ...

  6. Java线程池面试

    New Thread的弊端 每次new Thread会新建对象,性能差 线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或OOM 缺少更多功能,如更多执行.定期执行.线 ...

  7. 十八、linux系统分区

    一.磁盘存储结构图:这里注意下,分区标有64字节,则每个分区有16字节,MBR引导分区有446字节,共有510字节,一个扇区有512字节,还有俩个字节是分区结束标识.比如隐藏文件等标识,都是这2个字节 ...

  8. PAT甲级——1065 A+B and C (64bit)

    1065 A+B and C (64bit) Given three integers A, B and C in [−2​63​​,2​63​​], you are supposed to tell ...

  9. Zabbix 监控sqlserver

    转:Zabbix 监控sqlserver 一:Zabbix监控sqlserver 方法一: 1.思路整理 1.在zabbix server上安装Freetds.unixODBC.unixODBC-de ...

  10. WIN10 蓝牙连接音箱之后,音量调节无效,音量从1-100,声音一样大,都是最大声,可以静音(解决方案)

    1.win+r,输入regedit,打开注册表2.进入路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Bluetooth\Audio\AV ...