由于精确度等原因,手势识别在android中用的并不多,不过这并不妨碍我们来玩玩这个神奇的玩意。

在android中要使用手势,先得建立手势库,建立手势库非常简单,新建一个android sample project,建一个android示例工程,然后选择创建的android版本,完了之后看到这个界面:

选择gesturebuilder,创建成功之后把它安装到真机上,然后可以在里边添加手势,并给手势命名。

创建完gesture之后,在eclipse的file explore窗口中查看系统文件,在sdcard文件夹中会多出一个gesture文件,先把这个文件导出到桌面。然后新建一个名叫gesture的工程,在res文件夹下新建一个raw文件夹,再把刚才的gesture文件拷贝进来,这样我们这着工程就有了一个手势库了,下面看看怎么用这个手势库。

先看看布局文件:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.gesture.MainActivity" >

android:id="@+id/mygesture"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:gestureStrokeType="multiple"

/>

布局文件中就一个关于gestureOverlayView的控件,android:gestureStrokeType属性有两个值,一个是multiple,另一个是single,multiple表示支持多笔画,single表示支持单笔画。

Java代码:

public class MainActivity extends Activity {

private GestureOverlayView myges;

private GestureLibrary library;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

myges = (GestureOverlayView) this.findViewById(R.id.mygesture);

library = GestureLibraries.fromRawResource(this,

R.raw.gestures);

// 读取库中数据

library.load();

//监听绘制手势事件

myges.addOnGesturePerformedListener(new OnGesturePerformedListener() {

@Override

public void onGesturePerformed(GestureOverlayView overlay,

Gesture gesture) {

//Prediction中存储的是比对的结果

List list = library.recognize(gesture);

//遍历结果,score是比对后的分数,分数越大,越相近

for(Prediction p : list){

Log.i("lenve", p.name+"------------"+p.score);

}

if(list.get(0).score>4){

Toast.makeText(MainActivity.this,list.get(0).name, Toast.LENGTH_LONG).show();

}else{

Toast.makeText(MainActivity.this,"手势无法识别", Toast.LENGTH_LONG).show();

}

}

});

}

}

关键代码已注释。就这么简单,由于识别率等问题,手势识别目前用的并不多。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java手势识别技术_Android基础开发之手势识别相关推荐

  1. java中间件源码_《Java中间件技术及其应用开发》PDF下载

    资源名称:<Java中间件技术及其应用开发>PDF 下载 < 内容简介······ 本书使用丰富的案例介绍了使用Java技术进行中间件编程的方法及技巧,包括JSP.Java serV ...

  2. java swing 技术简介,javaswing开发简介

    本文介绍了利用 Java3D技术并结 合 Sw ing技术实现的 3D组件开发 ,并以石油数值模拟软件中 的应用为例体现了该组件具有的优势 . 图 1 3D 组件设计流程图 明...... Java ...

  3. java 中间件 pdf_Java中间件技术及其应用开发 PDF扫描版[51MB]

    Java中间件技术及其应用开发 内容提要: 本书使用丰富的案例介绍了使用Java技术进行中间件编程的方法及技巧,包括JSP.JavaServlet.JDBC数据库开发.使用JavaMail开发邮件应用 ...

  4. Java 后端技术清单 2023版

    后端开发需要掌握的知识,从入门到精通之路 JAVA后端技术清单 文章目录 JAVA后端技术清单 1. 开发环境 2. 基础知识 4. 编码规范及技术博客 5. 动⼿实践 1. 开发环境 JDK: 版本 ...

  5. Linux 手势识别,基于嵌入式Linux的手势识别技术研究

    摘要: 随着科学技术的发展,手势识别技术也得到了很大的提升,基于视觉的手势识别逐渐成为人机交互技术中的研究热点.它应用于各种控制领域,如智能控制,机械手以及手语识别等.目前,嵌入式技术和相关产品也早已 ...

  6. java的技术定义_java基础知识——Java的定义,特点和技术平台

    (作者声明:对于Java编程语言,很多人只知道怎么用,却对其了解甚少.我也是其中一员.所以菜鸟的我,去查询了教科书以及大神的总结,主要参考了<Java核心技术>这本神作.现在分享给大家!) ...

  7. 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)

    java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...

  8. Android单目手势识别,手势交互点亮智博会 微动手势识别技术瞩目C位

    首届中国国际智能产业博览会(简称智博会)在重庆完美落下帷幕,500 余家科技前沿厂商贡献了「黑科技」的精彩展示,多家整车厂商在现场进行了展示体验,同时吸引与会者目光的,还有各式智能解决方案.值得一提的 ...

  9. JAVA基础开发面试

    好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言. JAVA基础开发常见面试题 1: 如何看到加班 2:项目中使用了, 不会技术,你会咋处理 3:代码规范 4: 出差 短期 这里总结一些工 ...

最新文章

  1. 融合BI+AI,新一代增强型数据分析让制造企业高效解决故障预测分析问题
  2. Spring 已经实现的线程池
  3. HTTP学习笔记:HTTP的消息结构
  4. HALCON示例程序surface_scratch.hdev提取划痕
  5. 《Linux命令行与shell脚本编程大全 第3版》
  6. c语言文件包含试题,C语言文件练习题含答案
  7. 【资源分享】《软件工程-原理、方法与应用(第3版)》(顺便分享查找资料小技巧)
  8. Java设计模式之适配器模式详解
  9. 数据分布度的度量Measures of Spread
  10. 深入解析内存原理:RAM的基本原理
  11. hone hone clock 与小松鼠驾到~还有牛顿摆等一些其他好玩的东西
  12. netlink实现驱动和应用层通信
  13. 阿里云 mysql 高可用_如何在阿里云上构建高可用应用
  14. 芯动联科在科创板IPO过会:拟募资10亿元,金晓冬为实际控制人
  15. 高通平台开发系列讲解(AI篇)SNPE工作流程介绍
  16. iptables匹配iprange
  17. gen阻抗 pcie_PCIe Gen3/Gen4接收端链路均衡测试(上篇:理论篇)
  18. 【Matlab DVRP】蚁群算法求解带距离的车辆路径规划问题【含源码 1040期】
  19. 第六篇 Spring 自动装配
  20. 超好用的八款办公软件,你的电脑都装了吗?

热门文章

  1. python实现微信hook_GitHub - zhouxionger/wechathook: 借助微信hook,拦截修改某些call,填充进我们的Python代码,进行微信公众号文章的爬取...
  2. 苹果为M1 MacBook Air/Pro提供自助维修服务 维修成本更低
  3. html5 url 传参数,[实时数据]仪表板URL直接添加参数条件传参
  4. python设置颜色_使用python改变颜色的色调
  5. SparkSteaming运行流程分析以及CheckPoint操作
  6. 2019阿里秋招一道笔试题(关于火柴拼出最大数字) - Android开发岗
  7. 虚拟机桌面切换命令行
  8. Gaussian Blurring
  9. linux pannel 误删除后的恢复方法
  10. 零基础掌握计算机入门