基于Android 的传感器技术应用开发.docx

上传人:b****7 文档编号:9740481 上传时间:2023-02-06 格式:DOCX 页数:40 大小:389.70KB
下载 相关 举报
基于Android 的传感器技术应用开发.docx_第1页
第1页 / 共40页
基于Android 的传感器技术应用开发.docx_第2页
第2页 / 共40页
基于Android 的传感器技术应用开发.docx_第3页
第3页 / 共40页
基于Android 的传感器技术应用开发.docx_第4页
第4页 / 共40页
基于Android 的传感器技术应用开发.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

基于Android 的传感器技术应用开发.docx

《基于Android 的传感器技术应用开发.docx》由会员分享,可在线阅读,更多相关《基于Android 的传感器技术应用开发.docx(40页珍藏版)》请在冰豆网上搜索。

基于Android 的传感器技术应用开发.docx

基于Android的传感器技术应用开发

摘要

随着科学技术的发展,人们的沟通方式发生了翻天覆地的变化,对手机的需求也不在局限于传统的语音、短信功能,而是要求成为具有越来越完备和强大的应用数据处理能力,如移动办公、网上购物、互联网游戏、地图导航、随身数字影院、在线音乐等等兼备的智能的手持终端。

在现实生活中,智能手机硬件以及软件开发商也正是朝着这个目标进行技术和产品的创新。

因此也就出现了几大阵营的智能手机操作系统,目前使用最为广泛的是Apple公司的IOS,Microsoft的WindowsPhone,以及现在正在迅速崛起的Google公司推出的基于Linux内核的开源智能手机操作系统——Android。

根据Google公司的统计数据,Android设备每日实际激活量约达65万台,该系统正在如火如荼的壮大。

基于Android系统的各种手机硬件及软件研发已然成为一种趋势。

作为近些年智能手机操作系统中的佼佼者之一,Google公司发布的Android系统正在趋于成熟,并凭借其自身强大的开源优势成为厂商在手机硬件和应用研发中的首选。

Android系统平台有功能强大的传感器接口,这些接口为开发各类手机传感器应用(APPS)提供了便利的途径。

本文通过介绍基于Android系统平台的传感器应用游戏的设计与开发过程,阐述当前流行传感器应用程序在Android智能手机操作系统中的实现过程及涉及的技术要点。

利用姿态传感器设计一款游戏应用程序,从而全面的学习并实践传感器在游戏开发过程中的使用。

该程序中主要运用到的技术有传感器应用技术、游戏应用程序界面设计。

关键词:

智能手机; Android; 传感器; 游戏开发

 

ABSTRACT

Withthedevelopmentofscienceandtechnology,thewaypeoplecommunicatehasundergoneenormouschanges.Theyarenolongerjustconfinedtothetraditionalvoiceandtextmessagingfunctionlevel,butrequirethephonehasbecomemoreandmorecompleteandpowerfulapplicationprocessingcapabilities.Suchasmobileoffice,onlineshopping,internetgames,mapnavigation,onlinemusic.Smartphonesandapplicationsoftwaredevelopersaretowardsthisobjectivetechnicalandproductresearchanddevelopment.ThemostwidelyusedistheU.S.Apple'siPhoneoperatingsystemandMicrosoftWindowsPhonemobileoperatingsystem.TheopensourceLinuxkernelAndroidsmartphoneoperatingsystemisrapidlyemerging.

Androidsmartphoneoperatingsystemplatformhasapowerfulsensorinterface,suchasorientationsensor,accelerometersensor,lightsensor,magneticfieldsensor,ambienttemperaturesensor,gravitysensor,gyroscopesensor,pressuresensor,proximitysensor,temperaturesensorandrotationvectorsensoretc.Thesealltypesofmobilesensorprovideaconvenientwayforthedevelopmentofapplications.

ThispaperintroducesasensorapplicationgamedesignbasedontheAndroidsmartphoneoperatingsystem.Learninghowthepopularsmartphoneoperatingsystemsensorapplicationsdevelop.

Keywords:

Smartphones; sensor; games; Android

引言

正是科学技术的发展带来了各种各样便捷的生活方式,同时人们对于生活质量的要求也越来越高,特别是对于移动互联网时代的终端要求伴随技术水平的提高而水涨船高。

传统的软、硬件模式已经被人们所摒弃,新的创新型产品越来越深入到生活的方方面面。

手机现在成为了每一个人出门必备的随身物品,所以人们对其的要求也越来越高。

Google公司的Android操作系统就是一个非常开放与优秀的智能手机操作平台,其强大应用接口可以为程序的开发提供非常便利的条件。

本次的毕业设计——基于Android的传感器技术应用开发就是以Basic4android搭建开发环境,利用Android平台提供的硬件实现传感器游戏的开发,从而对于传感器进行深入的研究与学习。

本文分为5个章节详细的介绍了从开始想法的萌生到开发完成的所有步骤。

第1章是绪论,主要介绍研究背景、意义等基本情况;第2章对应用程序项目涉及的具体相关技术进行介绍;第3章是系统详细分析设计,介绍项目程序的系统设计框架、程序功能以及程序各个模块;第4章是程序的详细开发设计过程研究、源程序代码开发以及测试。

在这一章中将会对游戏程序的详细开发流程、各个模块的具体实现过程、遇到的技术难点等进行详细的分析与介绍,其中包括程序中的姿态传感器模块算法开发、应用程序测试等等;第5章是总结与展望,将会对论文研究的结果进行总结并且对未来该方向的发展趋势加以展望。

 

1绪论

在移动互联网时代,一次次的科学技术的发展,必将带来前所未有的挑战与机遇,新的科学技术成果将为人类的文明史划下浓墨重彩的一笔。

美国Google公司推出的Android系统就扮演着这样的角色,它已经改变了人们的传统的生活方式。

本章将简要介绍该系统的演进史,再对研究的背景及意义简要的介绍,并对于论文的基本内容做了简要的安排。

1.1 研究背景与意义

随着科学技术水平的不断迭代更新,人们的工作、生活方式正在悄然发生变化。

在移动互联网时代,高速的生活节奏、海量的数据信息每天伴随在我们的身边。

尤其在智能手机终端出现以后,这一现象随处可见,地铁、公交、餐厅等等地方,人们越来越多的时间花在了移动手持终端之上,这使得传统的桌面式办公方式、消费模式、游戏娱乐体验发生了颠覆性的改变。

现在的智能手机终端也越来越趋于智能化、人性化,功能越来越完善和强大。

全球的各大厂商正在努力的进行技术研发与应用创新。

在目前智能手机终端领域比较流行的操作系统主要有:

微软(Microsoft)研发的WindowsPhone智能手机操作系统、美国苹果(Apple)公司的iPhone智能手机操作系统、谷歌(Google)公司研发推出的基于Linux内核自由及开放源代码的智能手机操作系统——Android。

由于自由及开放源代码的优势使得Android智能手机操作系统在过去的时间里迅猛的发展起来,倍受全球手机硬件厂商和软件研发人员青睐。

本文将论述的Android游戏开发就该种,基于Linux内核自由及开放源代码的以手持终端为载体的智能操作系统平台下的应用程序开发。

自谷歌(Google)公司2007年11月5日正式向外界展示了这款名为Android的操作系统后,从最初的阿童木(AndroidBeta)、发条机器人(Android1.0)到纸杯蛋糕Cupcake(Android1.5)、甜甜圈Donut(Android1.6)、松饼Eclair(Android2.0/2.1)、冻酸奶Froyo(Android2.2)、姜饼Gingerbread(Android2.3)、蜂巢Honeycomb(Android3.0)、冰激凌三明治IceCreamSandwich(Android4.0)、果冻豆JellyBean(Android4.1和Android4.2)以及在不久的将来要发布的青柠派KeyLimePie(Android5.0),经过各个版本的更迭改善使得绝大部分组件功能都不需要经过授权而可以直接为开发人员所利用。

软件研发者开发的软件可以被上传到谷歌应用商店(GooglePlay)之上供人们下载使用,达到资源共享的目的。

正是这样的原因极大的促进了Android智能手机操作系统以及其产业链的蓬勃发展,手机硬件厂商、软件研发机构和个人大量的投入到这个产业当中。

基于Android的手机硬件产品层出不穷,各个厂商打造属于自己的基于Android的智能手机操作系统,软件开发人员运用开放与自由的平台开发拥有个性化应用的软件程序,一股Android之风正在席卷全球。

1.2 国内外智能手机应用程序现状研究

由于Android系统本身所自带的强大的应用程序接口(API)功能,这就为人们开发各种类型的应用提供便利的技术应用基础。

现在,市面上围绕Android的智能手机操作系统己经开发出五花八门的应用程序,如移动办公程序、互联网游戏程序等等。

在传统PC桌面以及Web应用程序开发日趋成熟的状况下,基于智能手机的移动互联网应用程序开发是当前软件研发的又一个春天,智能手机操作系统的发展更为移动互联网时代的快速发展带来前所未有契机。

在对手机的应用程序功能需求上,人们的要求也越来越有品位与个性化。

传统的手机软件已经不再能够满足人们日益增长的互联网服务需求。

相应产生的是能够满足更多需求的综合性智能手机应用程序,比如说XX地图(BaiduMap)能够在提供地图服务的基础上为人们提供便捷的本地生活服务提供周边餐饮美食、休闲娱乐、酒店购物等海量商户信息,包括商户电话、地址地图、客观点评等免费下载优惠券,还可享受最新鲜的团购折扣信息;智能出行规划拥有强大的路线查询及规划能力,支持公交、驾车、步行、地铁四种出行方式,提供路线方案和打车费用;随时随地查看实时路况,提前规划出行计划等等。

当然越来越高的技术难点就会出现在研发人员的面前,比如3D效果显示技术,大数据的分析技术等等。

本论文正是在这样的大背景之下,研究利用手机的传感器设计出来一个小型游戏软件,从而对于Android程序的开发过程做一了解。

1.3 研究目的及项目背景介绍

伴随着移动互联网技术的更迭和大数据时代的到来,相关的应用程序也在不断的演进,各种领域的学者都在关注着该领域的每一步发展。

从谷歌公司(Google)开始发布基于Linux内核的自由开放源代码的Android智能手机操作系统以来,各大个人、高校以及研究机构纷纷投入与其相关领域进行研究。

本文中将会介绍基于Android操作系统的传感器应用程序开发游戏的全过程,通过开发中不断出现问题、解决问题的过程,从而对Android平台应用程序的开发有一个全面的了解,为以后的进一步拓展学习打下坚实的基础。

更多的是学会去提出问题,解决问题的方法,继而从容面对以后工作中遇到的更多的难题。

1.4 论文的研究内容和结构安排

1.4.1 论文内容概述

本论文主要对基于Android的传感器技术应用进行深入的研究,通过开发一款比较简单常见的传感器小型游戏的整体设计与实现过程,学习传感器技术在Android智能手机操作系统中的综合应用。

游戏程序主要是利用姿态传感器技术和主要的素材模块实现,通过调整手机姿态来实时控制游戏主角的弹跳轨迹,从而到达更高平台,获取更高的分数,游戏具有很高的操作性与可玩性。

1.4.2 论文内容结构安排

本文分为5个章节,第1章是绪论,主要介绍论文研究背景、意义等情况;第2章对应用程序项目涉及的具体相关技术进行介绍;第3章是系统详细分析设计,介绍项目程序的系统设计框架、程序功能以及程序各个模块;第4章是程序的详细开发设计过程研究、代码开发以及测试,在这一章中将会对游戏程序的详细开发流程、各个模块的具体实现过程、遇到的技术难点等知识点进行详细的分析与介绍,其中包括程序中的姿态传感器模块开发算法、应用程序测试等等;第5章是综述,将会对论文研究的结果进行总结并且对未来的发展趋势加以展望。

1.5 小结

本章是论文的绪论部分,主要介绍了论文的研究意义、国内外研究现状,对论文的撰写架构做了简要的说明。

最后对论文中涉及的项目程序的开发技术背景知识进行了介绍,这些在下一章当中进行详细的介绍与分析。

 

2基于Android的传感器技术研究

绪论对于文章的研究背景做了介绍,这一章将针对Android的平台和程序设计过程中用到的传感器知识进行深入的探讨,并将Basic4android相关的要点进行重点的阐述。

2.1 Android简述

2.1.1 Android平台简介

Android的本义是“机器人”,是Google公司2007年11月5日正式面世,基于Linux平台的开放源代码的操作系统,它很好的整合了操作系统、中间件、用户界面和应用软件,可以为移动终端打造开放完整的移动程序软件。

Android是一个崭新的手机操作系统平台,在以Google为首的40多家开放手机联盟(OHA)支持下,使用开放源码策略,平台全部以开源的项目来构建,是完全开放的智能终端操作系统平台。

Android系统的快速发展使得移动终端的发展趋向于多元化,其强大的网络功能及整合Google网络服务优势,使得Android在移动技术发展方面有着光明的前景趋势。

目前Android已由刚开始的Android1.0版本经过多个版本的演进与升级,发展到现在的Android4.1、Android4.2版本,不久的将来会发布的Android4.5版本,其平台应用方面更加趋于完备和成熟。

2.1.2 Android开发框架

和其他的智能手机操作系统一样,Android操作系统也有自己的一套运行机制和开发框架,如图1.1所示:

应用层程序

应用程序架构

应用库

核心库

Da1Vik

虚拟机

Linux内核

图1-1 Android框架

由于Android系统的体系架构采用类似于OSI的开放式系统互联参考模型的分层架构,分层的好处是下层可以为上层提供统一的服务,这样能够屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上一层;也就说高层各司其职,各层提供各自独有的服务。

a.应用程序

Android应用程序属于整个框架的最顶层,也是开发人员进行设计开发应用以及终端用户体验使用直接接口。

该层包含大量本身配置的一套应用程序子集,如短信收发、日历查询、GoogleMap、Web浏览器、E-mail客户端等等常用工具组件,以及基于Android平台的应用程序框架,该层是使用Java语言开发的。

b.应用程序框架

Android应用程序框架主要包括系统中与用户进行交互的一些管理组件,如Activity、窗体、电话、包和视图管理等等,这些框架的使用可简化和充当应用程序的组件。

在应用程序框架这一层,充分体现了各个组件的重用性能,也就是说任何的应用组件不但可以独立发布自己的应用,也可以发布其他具有组合功能的应用程序。

因此,通过该应用程序框架,用户自定义的程序不但可以执行用户程序之外的预设功能,也可以执行其他附加的能使得软件的复用性更高。

c.系统开发库

Android系统的库运行在Linux内核之上,应用程序框架层之下。

该层由负责Android运行时的核心库、Dalvik虚拟机以及其他的一些常用的应用库组成。

这些核心库主要是C/C++函数库,而应用库则是一些常用的应用开发库,例如用于音频、视频播放的媒体库;用于管理界面显示效果的外观管理器;用于2D和3D图形显示的SGL和OpenGL的图形库;用于本地数据库支持的SQLite;用于集成Web浏览器和Internet安全的SSL和Webkit等等。

d.Linux核心

Android的Linux核心层位于其框架的最底层,该层虽说是基于Linux核心,但是发展到现在已经和Linux有了很大差别。

该层用来提供系统的底层服务,包括安全运行机制、内存、进程、电源项的管理,网络堆栈及所有驱动模块。

另外,内核还在硬件和软件栈的部分提供了一个抽象层。

Android系统框架发展到现在的状况,底层Linux核心层已经和标准的Linux很大的区别,它的编程接口、系统库等和标准的Linux系统已经不同,它的文件系统并不是采用虚拟内存文件系统,而是采用开源的、可移植性较好的YAFFS(YetAnotherFlashFileSystem)文件系统。

2.1.3 Android应用程序组件

进行Android应用程序的开发,我们必不可少的就是要了解其平台的应用程序框架。

Android应用程序主要是由 Activity、BroadcastReceiver、Service和ContentProvider四大组件构成。

在Android应用程序中,不一定要包括所有组件,开发人员可根据实际需求进行选择性的使用。

但无论对哪个组件进行使用,都必须在AndroidManfest.xml文件中进行注册以后才能使用。

a.Activity组件

在Android中最常见、也是最重要的一个组件是Activity。

它主要是负责终端屏幕界面之间的跳转,为用户提供一个可视化界面,也就是说我们用户所看到的每一个显示界面就是一个Activity组件。

在进行程序开发的过程中所涉及到的全部功能就是通过Activity组件之间的相互衔接、跳转,再运用其自带的强大控件功能和图层渲染等技术完成,从而最终形成优美的显示界面。

任何一个Activity类的使用都是继承自基类,并在AndroidManfest.xml文件中进行注册。

Activity中包含有3个重要的生命周期状态:

运行状态(RunningState)暂停状态(PauseState)和停止状态(StoppedState)。

对Activity组件的调用基本上都是对这三个生命周期的使用。

当Activity在不同状态进行切换时,就是通过重写相应的回调的方法来执行相应的动作,图2-1显示的是Activity生命周期的基本过程。

图2-1 Activity生命周期

b.BroadcastReceiver组件

BroadcastReceiver组件主要负责接收外部的广播消息并对消息做出适当反应。

在使用Android系统的时候经常会遇到许多各种类型的广播,比如我们在玩游戏同时,手机显示有新的来电或者收到新的短信,由于优先级的不同,这时这个系统就必须对当前应用程序进行中断并响应新来电或短信,这些都需要系统响应。

应用程序需要对某些广播事件进行响应,则需要注册对应的BroadcastReceiver对象。

BroadcastReceiver发布广播和接收广播是通过Intent对象来完成,Intent可用于Activity之间的切换。

BroadcastReceiver组件的生命周期较为简单,它只需onReceiver一个回调方法,在应用程序接收到广播的时候调用即可。

c.Service组件

Service组件是与用户没有交互界面,运行于程序后台的长生命周期组件,它继承自Service类。

Service组件运行于程序的后台,因此任何不需要在前台显示的计算或数据处理,都可以通过启动Service组件来实现。

因此,我们可以认为Service是一个默默在后台支撑系统的各种程序,而自身却始终没有现身的幕后主角。

一个Service启动之后会一直在后台运行,直到自己的生命周期结束为止,即便在这期间启动它的Activity或是其他组件的生命周期己经结束。

与此同时,Service组件有两种启动的方式,分别为startService方式和bindService方式。

这两种方式的区别是bindService方式会将启动Service组件的组件,如Activity,进行绑定,当启动Service的组件消失时,它也会跟着一起停止运行。

而startService方式则不同,它会一直在后台运行到生命周期结束为止。

d.ContentProvider组件

该组件主要的功能是在不同的应用程序之间实现数据共享。

Android系统应用程序拥有各自独立的存储空间,这样如果一个程序要访问其他程序的数据或者向外部程序提供数据,则需要ContentProvider组件来完成。

在Android平台中,应用程序数据可以被存储为SQLite数据库文件、Android系统文件或者其他合法的文件类型。

ContentProvider为应用程序提供了一组标准的访问方式,用于在程序需要时能够访问这些数据,实现数据共享。

2.1.4 Android软件开发的优点及缺点

a.Android应用开发的优势

Android平台的开放性:

开放性对其迅速的风靡全球有不可磨灭的功劳。

谷歌公司把Android系统开放给广大软、硬件厂商、软件研发人员以及普通用户,为Android平台积累了众多的人气和关注度。

大家可以通过Google的GooglePlay平台下载应用软件并且上传自己设计开发的程序,这样的开放方式促进Android平台不断的发展和完善,也有利于促进软件行业的竞争,同时为大家提供了非常丰富的软件资源。

良好的兼容性:

Android平台的兼容性,使Android手机上的各种应用开发百花齐放,各种各样创新的设计以及产品应运而生,虽然这些基于Android平台上开发的应用程序功能特色各异、用途各不相同,在不同手机厂商的硬件版本中,却实现数据同步,软、硬件高度兼容的情况,这些是得力于手机联盟(OHA)对Android平台的大力支持。

高度融合Google服务:

Android系统另一个特点就是整合了Google服务的特色功能,如GoogleMap、E-mail、搜索功能等,这些极大的方便广大开发者以及手机用户。

b.Android应用开发存在的不足

Android版本更新过于频繁。

自从2007年Android1.0版本正式面世以来,中间经历了许多的版本的更迭,虽然这样说明了Android发展的势头,但同时版本更新过于密集,也会让开发人员和用户感到不适,系统及软件的升级维护有一定的麻烦,无形中增加了一定的使用成本。

由于Android虚拟机DalvikVM对硬件配置资源的要求比较高,相应的开发所需硬件配置成本比其他开发环境要求有所提高。

为了平台的安全性考虑,Google公司在该平台使用开发时设置了较多的权限控制,导致了任务管理器、虚拟按键、屏幕截图、短信防火墙等类似功能的实现步骤相当繁琐,比较难为实现。

2.1.5 Basic4android开发环境的搭建

Android平台Linux核心库提供了Java语言核心库的大多数功能,并通过Dalvik虚拟机来执行Android应用程序。

因此,Android平台下应用程序的开发除了用于Java语言开发的JDK,还须安装专门为Android开发用的Android标准开发包AndroidSDK,以及相关的开发编程工具Basic4android,具体开发环境的搭建和配置流程这里不做详细的介绍。

只对于环境搭建过程中的注意事项做一简单介绍。

首先安装完成Ba

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1