Android事件处理
Android事件处理
学习目标
学习目标:- 掌握基于回调机制的事件处理方法,学会处理相关事件
- 掌握基于监听接口机制的事件处理方法,学会处理相关事件
- 熟悉手势的创建、导出与识别的相关知识,可以实现手势识别的功能。
- 掌握Handler信息机制原理,会使用Handler进行线程间通信。
事件处理概述
Android的事件有两种:
键盘事件:设备上物理按键
触摸事件:程序中控件所做的动作
事件处理机制有两种:
1.基于回调机制的事件处理
2.基于监听接口的事件处理
基于回调机制的事件处理
当用户UI控件发生某个事件(如按下事件、滑动事件、双击事件)时,程序会调用该控件自己的特定方法处理该事件。
Android系统提供的回调方法如下:
方法 | 说明 |
---|---|
boolean onKeyDown(int keyCode,KenyEvent enent) | 当用户在该控件上按下某个键时触发的方法 |
boolean onKeyUp(int keyCode,KenyEvent enent) | 当用户在该控件上松开某个键时触发的方法 |
boolean onTouchEvent(MotionEvent event) | 当用户在该控件上触发触摸事件的方法 |
boolean onFocusChanged(MotionEvent event) | 当用户在该控件上的焦点发生改变时触发的方法 |
基于监听接口机制的事件处理流程
(1)为某个事件源(界面组件)设置一个监听器,用于监听用户操作。
(2)当用户操作时,会触发事件源的监听器。
(3)生成对应的事件对象。
(4)将生成的事件对象作为参数传递给事件监听器。
(5)事件监听器对事件对象进行判断,执行对应的事件处理器。
View类中的内部接口如下
接口名称 | 说明 |
---|---|
View.OnClickListener | 单机事件的事件监听器必须实现的接口 |
View.OnLongClickListener | 长按事件的事件监听器必须实现的接口 |
View.onFocusChangeListener | 焦点改变事件的事件监听器必须实现的接口 |
View.OnKeyListener | 按键事件的事件监听器必须实现的接口 |
View.OnTouchListener | 触摸事件的事件监听器必须实现的接口 |
手势
手势检测
OnGestureListener接口:
用于监听一些单击、滑动、长按等手势
OnDoubleTapListener接口:
用于监听双击和单机手势
OnContextClickListener接口:
用于监听鼠标/触控板右击手势
SimpleOnGestureListener类:
用于实现前面三个接口中的所有回调方法
网络编程
HTTP访问网络
GET和POST方式请求数据:
GET方式是以实体的方法得到由请求URL所指向的资源信息,它向服务器提交的参数跟在请求URL后面。使用GET方式访问网络URL的长度1一般要小于1K
POST方式向服务器发出请求时需要在请求后附加实体。它向服务器提交的参数在请求后的实体中,POST方式对URL的长度是没有限制的。
采用POST方式提交数据时,用户在浏览器中看不到向服务器提交的请求参数,因此POST方式要比GET方式相对安全
HTTP
超文本传输协议,规定了浏览器和服务器之间互相通信的规则。
Handler消息机制
Handler消息机制的四个关键对象
Message:
信息,它由MessageQueue统一列队,由Handler处理
Handler:
处理者,主要负责Message的发送以及处理。
MessageQueue:
消息队列,主要用来存放Handler发送过来的信息,并且按照先入先出的规则执行。
Looper:
消息循环,不断的从MessageQueue中抽取Message并执行。
总结