- 1
- 0
- 约2.67千字
- 约 12页
- 2017-12-04 发布于江苏
- 举报
零点起飞学Android开发之手势识别和无线网络
第13章 手势识别和无线网络 手势识别(Android Gesture)是用来侦测、处理手势相关动作的技术。Gesture大致可以分为两类:一类是触摸屏手势,另一类是输入法手势。无线通信(Wireless Communication)是利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式。Android中最常用到的无线通信就是Wi-Fi和蓝牙(Bluetooth)。下面我们分别来介绍这两种应用。 13.1 触摸屏手势 触摸屏手势比较简单,通常就是按下、抬起、滑动、翻页这几种。Android系统为我们提供了手势识别工具GestureDetector,当我们接收到用户触摸消息时,将这个消息交给GestureDetector去加工,我们通过设置监听器获得GestureDetector处理后的手势。 13.1.1 GestureDetector简介 GestureDetector提供了两个监听器接口,OnGestureListener处理单击类消息,如表13-1所示。OnDoubleTapListener处理双击类消息。 接口名称 接口说明 onDown(MotionEvent e) 单击,触摸屏按下时立刻触发 onSingleTapUp(MotionEvent e) 抬起,手指离开触摸屏时触发(长按、滚动、滑动时,不会触发这个手势) onShowPress(MotionEvent e) 长按,触摸屏按下后既不抬起也不移动,过一段时间后触发 onShowPress(MotionEvent e) 短按,触摸屏按下后片刻后抬起,会触发这个手势,如果迅速抬起则不会 onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) 滚动,触摸屏按下后移动 onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 滑动,触摸屏按下后快速移动并抬起,会先触发滚动手势,跟着触发一个滑动手势 13.1.1 GestureDetector简介 接口名称 接口说明 onDoubleTap(MotionEvent e) 双击,手指在触摸屏上迅速点击第二下时触发 onDoubleTapEvent(MotionEvent e) 双击的按下跟抬起各触发一次 onSingleTapConfirmed(MotionEvent e) 单击确认,即很快的按下并抬起,但并不连续点击第二下 13.1.2 触摸屏手势应用 有时候我们并不需要处理上面所有手势。方便起见,Android提供了另外一个类SimpleOnGestureListener实现了如上接口,我们只需要继承SimpleOnGestureListener,然后重载感兴趣的手势即可。 13.2 输入法手势 输入法手势就是在触摸屏上手绘一个形状,这个形状可以由一个或者多个笔画构成。创建完成之后,系统会自动保存手势动作在mnt/sdcard/gestures里面。把gestures文件复制到工程/res/raw下,就可以在项目里面使用这些手势了。 13.2.1 Gesture相关类简介 开发Gesture应用程序,可能会用到的以下类和接口。 名称 说明 Gesture 代表一个手势对象 GestureLibrary Gesture库 GestureLibraries GestureLibrary的Factory库 GestureOverlayView Gesture输入的透明性重叠层,可以放在其它Widget上面 OnGesturePerformedListener 设置在GestureOverlayView上的关于Gesture的监听 Prediction Gesture的预报,有name和score两个属性。name表示手势名称,score表示相似度,数值越大越相似,一般认为大于1即可 13.2.2 输入法手势应用 学习了以上Gesture相关API,下面我们来开发输入法手势程序。首先打开模拟器中的Gestures Builder程序中,单击“Add gesture”按钮,创建几个手势,并为手势命名。创建成功后,程序弹出Toast消息“Gestures saved in /mnt/sdcard/gestures”,提示手势文件保存在/mnt/sdcard路径下。 13.3 Wi-Fi Wi-Fi全称Wireless Fidelity,是一种短程无线传输技术,能够在数百英尺范围内支持互联网接入的无线电信号。个人电脑、手持设备(如PDA、手机)等终端可以通过这种无线方式互相连接,是当今使用最广的一种无线网络传输技术。
原创力文档

文档评论(0)