一.在Android Studio中介绍过关于eventbus导航的说明.
后面有相应的链接.
二.在Android Studio中介绍过关于eventbus使用说明.
第一就是eventbus是什么东西?用来干什么的?
EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦. 底层实现是handle实现的,依赖到工程的jar包很小.是一个传参框架.
总结:主要是在线程之间常见的Activity.服务,fragment之间进行数据的传递.
第二是eventbus怎么使用?
可以到github上面看看,github上eventbus的链接
第一步:
Add EventBus to your project
在Gradle:中添加,并同步: 也就是在要使用的moudle的build.gradle下面添加
compile 'org.greenrobot:eventbus:3.0.0'
第二步:哪一个类中要接受接受订阅的发送消息,设置注册,后面一定要在注销注册
注册:
在销毁的时候一定要记得解除注册
第三步就是,消息的发送和接受的设置:
这是发送消息:
关于使用EventBus发送和接受的总结:
以上接受的消息方法有几处要求
1 方法必须有@Subscribe标注
2 明确指定当前线程 threadMode = ThreadMode.MAIN 。默认threadMode = ThreadMode.POSTING,即跟post方法的线程一致
3 方法参数类型与post发送的类型一致才能接收
4 方法建议以onEventXX命名,不强制但是比较规范
三.在Android Studio中使用demo
需求:首先demo的来源就是在项目中listview或者是recycleview展示一些商品,下面是评论数量和点赞数量,我们点击这个商品可以进入到详情页面,我们可以发表自己的评论和我们可以点赞,评论数量会在原有的基础上加一,代价的数量也会加一.
展示效果图:
进去的评论页面,会将评论显示在商品的展示页面.
点赞按钮.
最后的效果图:
demo下载地址;