EventMailer使用方法
2016-03-14 17:46
429 查看
第一步:引入包
compile 'com.carlos.eventmailer:eventlibrary:1.0.4'
第二步:初使化
//boolean型参数,如果为true,那就会暂时存储无主的EventMail //譬如你要某个界面发送EventMail,这个界面还没有打开,需要存储一下,等那个界面打开的时候,再去拿 //如果为false,那就不存储,如果这个EventMail的地址不存在或者没有注册,会被丢弃 EventMailer.init(true);
第三步:Activity或者Fragment实现IEventReceiver接口
实现这个接口会,会有这样的一个方法,所有的事件,都会发送到这个方法里@Override public void MailBox(EventMail mail) { }
第四步:注册和反注册
在onCreate和onDestroy方法中,注册和反注册。@Override public void onCreate(@Nullable Bundle savedInstanceState) { EventMailer.getInstance().register(this); super.onCreate(savedInstanceState); } @Override public void onDestroy() { EventMailer.getInstance().unregisterReceiver(this); super.onDestroy(); }
第五步:拉取EventMail
这一步,只有你在初使化的时候,传的boolean为true的时候,才有效!!方法一:
List<EventMail> eventMails = EventMailer.getInstance().getMyEventMail(SecondActivity.class.getName());
直接返回所有发给这个界面的EventMail。如果没有,则返回null
方法二:
EventMailer.getInstance().pushMyEventMail(SecondActivity.class.getName());
调用这个方法后,所有的EventMail发送到MailBox。也就是说,如果发送给这个界面有五个EventMail,那就会回调五次下面这个方法:
@Override public void MailBox(EventMail mail) { }
记住:所有EventMail发送以后,EventMailer那里都不会再存储,再去获取的时候,将会为空。
相关文章推荐
- ERROR: Upgrade faifailed bin/mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost'
- 用TextPaint来绘制文字
- [BZOJ 4320]ShangHai2006 Homework
- 游戏人工智能开发之6种决策方法
- lightoj 1021 - Painful Bases 状压DP
- System and device programming——R&W with semaphore
- An error was encountered while running(Domain=LaunchSerivcesError, Code=0)
- 发现大量的TIME_WAIT解决办法
- la 4394 string painter 区间dp
- 查看AIX文件系统分布所在的物理磁盘
- Flask-mail 邮件带中文名称的附件
- [AIR] Screen 的应用
- 简述raid0、raid1、raid5的区别
- IMA: maintain i_readcount in the VFS layer
- MRC时代@property关键字retain的作用
- need improve 219. Contains Duplicate II
- 217. Contains Duplicate
- 172. Factorial Trailing Zeroes
- 70. Climbing Stairs
- Leetcode 11. Container With Most Water