- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android体感开发指导手册3-SDK开发实例
Android Xtion SDK 开发实例
简介
本章主要介绍体感开发流程,以及使用 Android Xtion SDK开发的实例
体感开发流程
开始体感开发之前,我们首先要了解 OpenNI程序的基本流程,因为在实际
使用中,我们在 OpenNI环境下开发的流程大体一致,首先第一步就是建立上下
文对象(Context),也就是为整个应用程序创建一个主要环境,之后就是建立和
设定生产节点(Production Nodes),这些生产节点的作用前面也有讲到,就是设
备的抽象化,被以一定参数设置后,以设定的情况不断的产生所需要的数据。不
过这些节点被创建之后不会立即产生数据,而需要人为的控制“开关”,是否产生
数据,即 OpenNI程序流程中后面一步,开始产生资料。节点产生了资料,开发
者所做的就是更新资料,读取资料,以及处理资料。更新资料过程采用更新机制
在前面 OpenNI介绍章节有详细的讲述。这三个小过程是一个持续性的过程,开
发者可能需要不停的重复更新,获取,处理这样的工作,直到某些特定条件才会
终止,结束这部分过程,而后才会又回到 OpenNI程序的流程中来。等到开发者
完成处理资料的需求之后,流程就应该进入停止产生资料这一步,随后还需要手
动释放掉资源,这样我们 OpenNI应用的整个流程就大体如此,以图的形式表现
出来,即如图 3-1所示。
图 3-1 OpenNI程式流程
在 Android上进行体感开发除了上面的流程之外,首先会遇到设备权限问题,所以取得 USB设备权限
的步骤在所有流程之前。
实例
深度图输出 depth_output
深度图输出的实例是在 android 平台(asus xtion box)插入 xtion pro 读取深度
数据,再投影平面,最后显示在视窗中。实例运行效果如图 3-2所示
图 3-2 Depth_output运行效果
下面来具体分析这个实例的实现方法:
步骤一:Android首先复写 OnCreate函数
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
m_xc = new XtionContext(this, m_callbacks);//---1
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
在 OnCreate函数位置 1处,创建上下文对象m_xc,俩个参数分别为 this和权限 Callback
函数。
步骤二:复写 PermissionCallbacks下的 onDevicePermissionGranted()和
onDevicePermissionDenied()函数。
private PermissionCallbacks m_callbacks = new PermissionCallbacks() {
@Override
public void onDevicePermissionGranted()
{
try
{
m_dd = new DepthData(m_xc); —2
m_dd.setMapOutputMode(320, 240, 30);
} catch (Exception e)
{
e.printStackTrace();
}
try
{
m_xc.start();—3
} catch (StatusException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
setContentView(R.layout.activity_main);
LinearLayout layout = (LinearLayout) findViewById(R.id.DepthLayout);
// Add the adView to it
layout.addView(new XtionView(MainActivity.this));
}
@Override
public void onDevicePermissionDenied() {
}
};
前面了
您可能关注的文档
- 7AUnit 4 comic strips and welcome(公开课).ppt
- 8-2006-Friction and wear behavior of dental feldspathic porcelain.pdf
- 74AUP1G57L6X,74AUP1G57FHX, 规格书,Datasheet 资料.pdf
- 831 Notice to Readers Human Ingestion of Bacillus Anthracis-Contaminated Meat —.pdf
- 829no1-22a-lcs.pdf
- 8-kidneys and regulations of water and inorganic iron.ppt
- 7BUnit1 reading PPT.ppt
- 9 688-692 转749 基础研究 5+20 超高压处理对添加变性淀粉鸡肉糜制品品质的影响.pdf
- 910Cold Induction of Arabidopsis CBF Genes Involves Multiple ICE (Inducer of CBF Expression).pdf
- 9.Oligocene-Miocene Planktonic Foraminifer Biostratigraphy site 1148 Northern South China Sea.pdf
文档评论(0)