传递消息--第三方开源--EventBus的简单使用
来源:互联网 发布:淘宝网银行卡支付 编辑:程序博客网 时间:2024/05/24 03:20
EventBus下载地址:https://github.com/greenrobot/EventBus
MyEvent:
package com.zzw.testeventbus;public class MyEvent { public int id; public String content; public MyEvent() { super(); } @Override public String toString() { return "MyEvent [id=" + id + ", content=" + content + "]"; } }MyEvent
MainActivity:
package com.zzw.testeventbus;import android.app.Activity;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;import de.greenrobot.event.EventBus;public class MainActivity extends Activity { TextView tv; public static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); EventBus.getDefault().register(this); findViewById(R.id.bt).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, EventService.class); startService(intent); } }); } // Main线程,这个与Android UI线程密切相关,可以在里面设置UI值,不要阻塞它! public void onEventMainThread(MyEvent event) { Log.d(TAG + "--" + "onEventMainThread", event.toString()); tv.setText(event.content); int id = event.id % 3; if (id == 0) { tv.setTextColor(Color.RED); } else if (id == 1) { tv.setTextColor(Color.GREEN); } else if (id == 2) { tv.setTextColor(Color.BLUE); } } // 后台线程中接收处理 public void onEventBackgroundThread(MyEvent event) { Log.e(TAG + "--" + "onEventBackgroundThread", event.toString()); } // 异步线程中接收处理 public void onEventAsync(MyEvent event) { Log.i(TAG + "--" + "onEventAsync", event.toString()); } @Override protected void onDestroy() { EventBus.getDefault().unregister(this); }}
EventService:
package com.zzw.testeventbus;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.os.SystemClock;import de.greenrobot.event.EventBus;public class EventService extends Service { @Override public void onCreate() { super.onCreate(); } private void task() { new Thread(new Runnable() { @Override public void run() { for (int i = 1; i <= 100; i++) { MyEvent event = new MyEvent(); event.id = i; event.content = "傻逼" + i; EventBus.getDefault().post(event); SystemClock.sleep(1000); } } }).start(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { task(); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { super.onDestroy(); } @Override public IBinder onBind(Intent intent) { return null; }}
0 0
- 传递消息--第三方开源--EventBus的简单使用
- EventBus的简单使用,消息传递
- EventBus 的使用,发布,订阅消息的传递。第三方开源库
- Android:EventBus的使用 从此消息传递变得简单
- 【android】消息传递利器EventBus的使用
- 26.使用EventBus传递消息
- eventbus线程间轻量级传递消息的使用
- 安卓使用EventBus实现消息传递
- Android消息传递之EventBus 3.0使用
- Android消息通信之无所不能的第三方开源项目EventBus
- 数据传递与接收---Eventbus的简单使用
- EventBus的使用,数据传递
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- 在新的ui约束下对旧系统的支持
- Android 常用效果(各种进度条,酷炫loading动画,火箭升空,撒花以及趋势图)
- MongoDB学习(一):MongoDB 环境的搭建
- 主机HostKey值改变导致SSH连接报出警告
- Android provider sample (2015.12.7)
- 传递消息--第三方开源--EventBus的简单使用
- 自定义RecycleView实现TV应用上的item焦点获取以及设置当前选中的item居中
- C++11 的 5 个实用特性
- Java类的实例化的初始化过程
- Spring实现AOP的4种方式
- Oracle10G/11G官方下载地址集合 直接迅雷下载
- Animation动画的解析
- 同步或者重构Activiti Identity用户数据的多种方案
- 让两台服务器的MySQL(5.7)数据同步_主主同步(互为主从关系)