记录,第一天开博

第一天开博客,希望自己能在这里学到很多,更希望得到大家的帮助。



首先记录一个非常好用的类库【EventBus】

地址:https://github.com/greenrobot/EventBus

Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.

安卓优化的事件总线,简化了代码,在activity,fragment,threads,services等之间更好的通信。

使用四部曲(个人觉得,不管是在activity、fragment还是其他,在使用注册和移除注册的时候,配合其所在类的生命周期最好。)

四个步骤(以fragment为例):
1、初始化时注册EventBus.getDefault().register(this);

	@Override
	public void onStart() {
	    super.onStart();
	    EventBus.getDefault().register(this);
	}


2、用完之后注销EventBus.getDefault().unregister(this);

	@Override
	public void onStop() {
	    super.onStop();
	    EventBus.getDefault().unregister(this);
	}


3、不管是在任何地方,只要EventBus.getDefault().post(param)推送,

例如在IntentServcie中:

	@Override
	protected void onHandleIntent(Intent intent) {
	    final int operate = intent.getIntExtra(OPERATE, -1);
	    switch (operate) {
		case GETYHLB:

		    List<HDCategory> list_HD = handleGetYHLB(intent);
		    EventBus.getDefault().post(new GetYHLB(list_HD));
		break;
	}
	其中:GetYHLB实体类中,定义public修饰符的成员变量即可:
	public class GetYHLB {
	    public List<HDCategory> list_hd;
	    public GetYHLB(List<HDCategory> list_hd) {
	        this.list_hd = list_hd;
	    }
	}

4、在对应注册EventBus的类中通过onEventMainThread(param),onEventPostThread(param),onEventBackgroundThread(param),onEventAsync(param)就能接收并处理。(个人习惯使用onEventMainThread(param)

	public void onEventMainThread(Object event) {
	    if (event instanceof GetYHLB) {
	        List<HDCategory> list = ((GetYHLB) event).list_hd;
	    }
	}

第一次写博客,如有不适,还请指正。谢谢~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值