码迷,mamicode.com
首页 > 其他好文 > 详细

EventBus的使用

时间:2016-01-13 15:51:58      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

观察者与被观察者的模式,类似于RXJava。首先,去GitHub上搜索,然后直接官方文档直接建议可以Gradle引入:在app.Gradle中加入   

//EventBus
    compile ‘de.greenrobot:eventbus:2.4.0‘

在SecondActivity中发送对象到MainActivity

这是MainActivity:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //注册EventBus
        EventBus.getDefault().register(MainActivity.this);


    }
  //跳转到第二个Activity
public void click(View v){ startActivity(new Intent(MainActivity.this,SecondActivity.class)); } @Override protected void onDestroy() { super.onDestroy(); //解除注册EventBus EventBus.getDefault().unregister(MainActivity.this); } //写这个方法用来接受对象,onEventMainThread表示不管信息从哪发过来,接受事件都在主线程 public void onEventMainThread(String s) { Log.d("msg","当前线程--->"+Thread.currentThread().getName()); Log.d("msg", "MainActivity收到消息-->" + s); } }

第二个Activity:

/**点击按钮发送事件
 * Created by xhj on 16-1-13.
 */
public class SecondActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        Button btnSend= (Button) findViewById(R.id.btnSend);
        btnSend.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.d("msg", "SecondActivity当前线程--->"+Thread.currentThread().getName());
                EventBus.getDefault().post("hahahhahaa");//EventBus发送事件(对象)
            }
        });

    }
}

 

这里有一片文章已经总结的很好了 ,http://blog.csdn.net/harvic880925/article/details/40660137

EventBus的使用

标签:

原文地址:http://www.cnblogs.com/android-yus/p/5127364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!