Android 事件机制

目录

基于监听的事件处理:

基于回调的事件处理:

消息传递:


Android 提供2种方式的事件处理:

基于回调的事件处理和基于监听的事件处理

基于监听的事件处理:

模型:委派式

事件源(Event Source)

事件(Event)

事件监听器(Event Listener)

步骤:

1.获取事件源,也就是被监听的组件

2.实现事件监听器类,实现XxxListener 接口

3.调用事件源的setXxxListener方法将事件监听器注册给事件源

事件:传递的事件信息比较复杂时,需要将事件对象进行封装

事件监听器:实现特定接口的实例

事件监听器的几种形式:

内部类形式

外部类形式

Activity本身作为事件监听器

Lambda表达式或匿名内部类(*最常用)

直接绑定到标签

基于回调的事件处理:

事件源和事件统一,事件源直接处理对应的事件

基于回调的事件传播:根据boolean类型的返回值进行判断,返回true,事件已完全处理,不会传播,返回false,事件未完全处理,继续传播

优先级:组件绑定的事件监听器——>组件的回调方法——>组件所在的Activity

回调:

1.定义回调函数(实现回调函数实例)

2.登记回调函数(作为条件参数)

3.触发了回调关联的事件(回调函数中的方法)

响应系统设置的事件:

Configuration类:用于描述手机上的配置信息

onConfigurationChanged方法:响应系统设置更改

消息传递:

Android 的UI操作不是线程安全的,为了解决这个问题,android规定:只允许UI线程修改Activity里的UI组件,其他线程想要修改UI组件,需要借助Handler 的消息传递机制来实现

Handler:

Handler的作用:

1.在新启动的线程中发送消息

2.在主线程中获取、处理消息

Handler一起工作的组件:

Message:Handler 接受和处理的消息对象

Looper:每个线程只能有一个Looper,其loop方法负责读取MessageQueue中的消息

MessageQueue:消息队列,采用先进先出的方式来管理Message

Message 机制总结:

1.Message 承载内容
2.MessageQueue 存放 Message
3.Looper 派发 Message
4.Handler 处理 Message

AsyncTask 异步任务

参考:

https://www.jianshu.com/p/f0b23ee5a922

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值