Android自助餐之EventBus框架

Android自助餐之EventBus框架

下载完整源代码

配置build.grandle

compile 'de.greenrobot:eventbus:2.4.0'

实例化EventBus

eventBus=EventBus.builder().build();

注册事件监听

eventBus.register(this);
this为事件接收者(消费事件、处理事件…随便怎么说吧)

定义被传递的事件类

注意要定义一个,这个类可以随便定义,也可以用现有的类

class Event{
    public String result="default";
}

发送事件

eventBus.post(event);
可以再任意线程任意位置发送事件,但要保证eventBus在注册和发送时为同一个对象。

处理时间

在注册时的this的类中写如下方法
- public void onEventMainThread(Event event){}
接到事件后在主线程消费事件
- public void onEvent(Event event){}
接到事件后在事件post的线程中消费事件(注意不能进行耗时操作,否则影响事件传递)
- public void onEventBackgroundThread(Event event){}
在后台线程中消费事件。如果事件的post线程为后台线程,则使用post线程,否则在新的子线程中消费事件
- public void onEventAsync(Event event){}
在新的子线程中消费事件

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

IOS高级笔试题 - 2016-05-27 14:05:21

2.Socket在传输过程中用的是什么类型的数据:结构体还是文本?如果是文本,那么怎么进行编码和解码? 参考答案: iOS Socket编程-Objective-C原生API版 iOS Socket编程-Objective-C基于CocoaAsyncSocket版 iOS Socket编程-Swift原生API版 iOS Socket编程-Swift基于AsyncSocket版 3、图片压缩处理问题 参考答案: 关于图片的压缩处理,在ios中常用的方法是先处理像素再处理尺寸。 4、在做图片优化处理的时候,
实现滑动的基本思想是:当触摸View时,系统记下当前触摸点坐标;当手指移动时,系统记下移动后的触摸点坐标,从而获取到相对于前一次坐标点的偏移量,并通过偏移量来修改View的坐标,这样不断重复,从而实现滑动过程. 2.1 Layout方法 在View进行绘制时,会调用onLayout()方法来设置显示的位置 通过修改View的left,top,right,bottom四个属性来控制View的坐标,在每次回调onTouchEvent的时候,获取一下触摸点的坐标: // 视图坐标方式 @Override pub

Linux驱动之输入子系统框架 - 2016-05-27 14:05:20

    好记性不如烂笔头,整理一下笔记~ Linux驱动之输入子系统框架 输入子系统将该类驱动划分为3部分     1、核心层 input.c     2、设备层 Gpio_keys.c ...     3、事件处理层 Evdev.c     事件处理层为纯软件的东西,设备层涉及底层硬件,它们通过核心层建立联系,对外提供open write等接口。 1、我们首先来看,核心层 input.c如何向外界提供接口     在 input_init 中注册了字符设备驱动     register_chrdev(I
主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法。 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outputs/aar/libraryname.aar 两者区别: *.jar: 只包含了class文件与清单文件 ,不包含资源文件,如图片等所有r
本文参考: http://www.cnblogs.com/kenshincui/p/3972100.html#autoid-3-0-0 总结的: 效果: 转场动画 就是从一个场景以动画的形式过渡到另一个场景。转场动画的使用一般分为以下几个步骤:    1.创建转场动画 CATransition    2.设置转场类型transtion.type、子类型transtion.subtype(可选)及其他属性    3.设置转场后的新视图并添加动画到图层    下表列出了常用的转场类型(注意私有API是苹果官方
一、 要实现高德地图定位呢,首先需要做好以下几步准备: 1. 在高德开放平台注册帐号 注册地址: http://lbs.amap.com 2. 在 开发 中下载Android平台下的 地图SDK和定位SDK文件 进入 相关下载 下载自己想要的功能或文件,图只是截取了 地图SDK 的页面, 定位SDK 也是一样,按自己想要的文件下载。下载完成后解压得到: - 3D地图包解压后得到:3D地图显示包“AMap_3DMap_VX.X.X_时间.jar”和库文件夹(包含armeabi、arm64-v8a等库文件)。
背景介绍: Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。Fiddler是用C#写出来的,它包含一个简单却功能强大的基于JScript.NET事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能够使用
版权声明:本文为博主原创文章,未经博主允许不得转载。 目录 (?) [-] WifiDisplay之P2P的建立 WifiDisplay之RTSP server的创建 这一章中我们来看Wifi Display连接过程的建立,包含P2P的部分和RTSP的部分,首先来大致看一下Wifi Display规范相关的东西。 HIDC: Human Interface Device Class  (遵循HID标准的设备类) UIBC: User Input Back Channel  (UIBC分为两种,一种是Gen

完整Android项目搭建全过程 - 2016-05-27 14:05:46

这篇博客也算是本人从事开发以来的一个总结,以前写博客是为了装逼,现在是为了成长,一个项目如果刚开始的框架没有搭建好,接下来的维护工作将变得异常困难,我们公司的按项目就是因为一开始的框架没有搭建好,只迭代了两个版本便维护不下去了,只能是请高人重新设计的框架,一切重新来过。不同类型的项目对框架的要求自然不同,但是有一点是相同的,那就是,首先对基础语法进行封装,相应工具类、方法样式的封装,前期的封装可以避免后期项目无休止的重构代码,也就不会出现因频繁的改动需求导致代码大量冗余。废话不多说,进入正题,要开始一个移

在Swift怎样创建CocoaPod - 2016-05-27 14:05:40

在Swift怎样创建CocoaPod 原文链接: How to Create a CocoaPod in Swift 原文作者: Joshua Greene 译文出自:开发者前线 www.devtf.cn 译者: MrLoong 校对者: MrLoong 状态:完成 在制作这个美味的冰淇凌中的教程中学会如何使用自己的CocoaPod 你可能熟悉一些众所周知的东西,开源的 open-source CocoaPods ,例如 Alamofire 或 MBProgressHUD ,但有的时候你并不能找到一个符合