EventBus_Demo
来源:互联网 发布:软件工程项目案例 编辑:程序博客网 时间:2024/06/05 00:28
EventBus github地址:https://github.com/greenrobot/EventBus
详细介绍EventBus使用的地址(转载地址):http://www.jianshu.com/p/da9e193e8b03
Eventbus作用是取代传统的传递数据方式, Intent,BroadcastReceiver,Handler等。
优点:当业务逻辑复杂时,也能让代码保持逻辑清晰。
package com.example.administrator.myapplication;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import org.greenrobot.eventbus.EventBus;import org.greenrobot.eventbus.Subscribe;import org.greenrobot.eventbus.ThreadMode;public class MainActivity extends AppCompatActivity { private final String TAG = "MainActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 注册 EventBus.getDefault().register(this); // 发布 EventBus.getDefault().post(new MessageEvent("1")); } // 自定义方法名称, 必须要用public修饰, 否则运行时会挂 @Subscribe(threadMode = ThreadMode.POSTING) public void subscribe(MessageEvent event) { Log.d(TAG, event.getId() + " : " + Thread.currentThread()); } @Subscribe(threadMode = ThreadMode.MAIN) public void xxx(MessageEvent event) { Log.d(TAG, event.getId() + " : " + Thread.currentThread()); } @Subscribe(threadMode = ThreadMode.BACKGROUND) public void ddd(MessageEvent event) { Log.d(TAG, event.getId() + " : " + Thread.currentThread()); } @Subscribe(threadMode = ThreadMode.ASYNC) public void asyc(MessageEvent event) { Log.d(TAG, event.getId() + " : " + Thread.currentThread()); } @Override protected void onDestroy() { super.onDestroy(); // 解除 EventBus.getDefault().unregister(this); } // 内部类, 方便观察而创建 class MessageEvent{ private String id; public MessageEvent(String id) { this.id = id; } public String getId() { return id; } public void setId(String id) { this.id = id; } }}
0 0
- EventBus_Demo
- Protobuf详解
- C++ 静态成员函数 静态成员变量 常成员函数之前的使用
- 第八周 OJ练习-4
- leetcode 290. Word Pattern
- MySQL SQL语句常用的30个优化技巧
- EventBus_Demo
- 如何用 Telemetry 测试移动 APP H5性能?
- C++生成Bmp图片底层代码
- 1024程序员节,深圳全城寻找程序员
- js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)
- Xshell无法链接Ubuntu 12
- C#设计模式学习笔记-建造者模式
- iOS程序崩溃日志收集
- Q11--反转链表