基于Android的傳感器技術(shù)應(yīng)用開發(fā) 畢業(yè)設(shè)計(jì)_第1頁
基于Android的傳感器技術(shù)應(yīng)用開發(fā) 畢業(yè)設(shè)計(jì)_第2頁
基于Android的傳感器技術(shù)應(yīng)用開發(fā) 畢業(yè)設(shè)計(jì)_第3頁
基于Android的傳感器技術(shù)應(yīng)用開發(fā) 畢業(yè)設(shè)計(jì)_第4頁
基于Android的傳感器技術(shù)應(yīng)用開發(fā) 畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目錄目錄摘摘要要 -iabstract-ii引言引言-11緒論緒論-21.1研究背景與意義-21.2國內(nèi)外智能手機(jī)應(yīng)用程序現(xiàn)狀研究-31.3研究目的及項(xiàng)目背景介紹-31.4論文的研究內(nèi)容和結(jié)構(gòu)安排-31.4.1論文內(nèi)容概述-31.4.2論文內(nèi)容結(jié)構(gòu)安排-41.5小結(jié)-42基于基于 android 的傳感器技術(shù)研究的傳感器技術(shù)研究 -52.1android 簡述 -52.1.1android平臺簡介-52.1.2android開發(fā)框架-52.1.3android應(yīng)用程序組件-62.1.4android軟件開發(fā)的優(yōu)點(diǎn)及缺點(diǎn)-82.1.5basic4android開發(fā)環(huán)境的搭建-92.1.6運(yùn)用ba

2、sic4android軟件的優(yōu)勢-102.2傳感器概念與分類 -112.2.1傳感器的概念-112.2.2傳感器的分類-112. 3傳感器在智能手機(jī)中的應(yīng)用-112. 4android 平臺傳感器的種類-122.4.1加速傳感器(重力傳感器)accelerometer -132.4.2姿態(tài)傳感器orientation -142. 5傳感器的使用方法-152.5.1加速度傳感器的調(diào)用(phoneaccelerometer)-152.5.2方向傳感器的調(diào)用(phoneorientation) -152.6b4a-bridge 軟件的使用-162.7小結(jié) -173游戲程序設(shè)計(jì)架構(gòu)詳解游戲程序設(shè)計(jì)架構(gòu)

3、詳解-183.1程序開發(fā)背景與功能簡介 -183.1.1程序開發(fā)背景簡介-183.1.2游戲功能簡介-183.2游戲開發(fā)平臺及工作準(zhǔn)備 -193.2.1游戲開發(fā)平臺-193.2.2游戲相關(guān)素材-193.3游戲整體詳細(xì)框架 -193.3.1游戲的功能模塊詳解-193.3.2游戲具體包含實(shí)體模塊-213.3.3mvc設(shè)計(jì)模式介紹-223.3.4游戲設(shè)計(jì)規(guī)劃過程-233.3.5游戲各個(gè)模塊設(shè)計(jì)詳解-233.4游戲設(shè)計(jì)中的狀態(tài)機(jī) -253.5小結(jié) -254游戲源程序開發(fā)游戲源程序開發(fā)-264.1傳感器游戲開發(fā)流程 -264.2游戲開發(fā)實(shí)現(xiàn)過程的主要技術(shù)實(shí)現(xiàn) -264.2.1android靜態(tài)圖片的訪問

4、-264.2.2android動態(tài)圖片的訪問-274.2.3圖像色彩顯示-274.2.4碰撞檢測實(shí)現(xiàn)-284.3核心庫文件的詳細(xì)解讀 -294.3.1gameview-294.3.2phone -304.3.3audio-324.4游戲測試 -334.4.1游戲測試環(huán)境-334.4.2游戲測試結(jié)果-334.5本章總結(jié) -335總結(jié)與展望總結(jié)與展望 -345.1論文總結(jié) -345. 2未來展望-34致謝致謝-35參考文獻(xiàn)參考文獻(xiàn) -36摘要摘要隨著科學(xué)技術(shù)的發(fā)展,人們的溝通方式發(fā)生了翻天覆地的變化,對手機(jī)的需求也不在局限于傳統(tǒng)的語音、短信功能,而是要求成為具有越來越完備和強(qiáng)大的應(yīng)用數(shù)據(jù)處理能力,

5、如移動辦公、網(wǎng)上購物、互聯(lián)網(wǎng)游戲、地圖導(dǎo)航、隨身數(shù)字影院、在線音樂等等兼?zhèn)涞闹悄艿氖殖纸K端。在現(xiàn)實(shí)生活中,智能手機(jī)硬件以及軟件開發(fā)商也正是朝著這個(gè)目標(biāo)進(jìn)行技術(shù)和產(chǎn)品的創(chuàng)新。因此也就出現(xiàn)了幾大陣營的智能手機(jī)操作系統(tǒng),目前使用最為廣泛的是 apple 公司的 ios,microsoft 的 windows phone,以及現(xiàn)在正在迅速崛起的 google 公司推出的基于 linux 內(nèi)核的開源智能手機(jī)操作系統(tǒng)android。根據(jù) google 公司的統(tǒng)計(jì)數(shù)據(jù),android 設(shè)備每日實(shí)際激活量約達(dá) 65 萬臺,該系統(tǒng)正在如火如荼的壯大?;?android 系統(tǒng)的各種手機(jī)硬件及軟件研發(fā)已然成為一種

6、趨勢。作為近些年智能手機(jī)操作系統(tǒng)中的佼佼者之一,google 公司發(fā)布的android 系統(tǒng)正在趨于成熟,并憑借其自身強(qiáng)大的開源優(yōu)勢成為廠商在手機(jī)硬件和應(yīng)用研發(fā)中的首選。android 系統(tǒng)平臺有功能強(qiáng)大的傳感器接口,這些接口為開發(fā)各類手機(jī)傳感器應(yīng)用(apps)提供了便利的途徑。本文通過介紹基于 android 系統(tǒng)平臺的傳感器應(yīng)用游戲的設(shè)計(jì)與開發(fā)過程,闡述當(dāng)前流行傳感器應(yīng)用程序在 android 智能手機(jī)操作系統(tǒng)中的實(shí)現(xiàn)過程及涉及的技術(shù)要點(diǎn)。利用姿態(tài)傳感器設(shè)計(jì)一款游戲應(yīng)用程序,從而全面的學(xué)習(xí)并實(shí)踐傳感器在游戲開發(fā)過程中的使用。該程序中主要運(yùn)用到的技術(shù)有傳感器應(yīng)用技術(shù)、游戲應(yīng)用程序界面設(shè)計(jì)。關(guān)

7、鍵詞:智能手機(jī);android;傳感器;游戲開發(fā)iabstractwith the development of science and technology, the way people communicate has undergone enormous changes. they are no longer just confined to the traditional voice and text messaging function level, but require the phone has become more and more complete and powerfu

8、l application processing capabilities. such as mobile office, online shopping, internet games, map navigation, online music. smart phones and application software developers are towards this objective technical and product research and development. the most widely used is the u.s. apples iphone oper

9、ating system and microsoft windows phone mobile operating system. the open source linux kernel android smartphone operating system is rapidly emerging.android smartphone operating system platform has a powerful sensor interface, such as orientation sensor, accelerometer sensor, light sensor, magneti

10、c field sensor, ambient temperature sensor, gravity sensor, gyroscope sensor, pressure sensor, proximity sensor, temperature sensor and rotation vector sensor etc. these all types of mobile sensor provide a convenient way for the development of applications.this paper introduces a sensor application

11、 game design based on the android smartphone operating system. learning how the popular smartphone operating system sensor applications develop.keywords:smart phones;sensor;games;android基于 android 的傳感器技術(shù)應(yīng)用開發(fā)0引言引言正是科學(xué)技術(shù)的發(fā)展帶來了各種各樣便捷的生活方式,同時(shí)人們對于生活質(zhì)量的要求也越來越高,特別是對于移動互聯(lián)網(wǎng)時(shí)代的終端要求伴隨技術(shù)水平的提高而水漲船高。傳統(tǒng)的軟、硬件模式已經(jīng)被人

12、們所摒棄,新的創(chuàng)新型產(chǎn)品越來越深入到生活的方方面面。手機(jī)現(xiàn)在成為了每一個(gè)人出門必備的隨身物品,所以人們對其的要求也越來越高。google 公司的 android 操作系統(tǒng)就是一個(gè)非常開放與優(yōu)秀的智能手機(jī)操作平臺,其強(qiáng)大應(yīng)用接口可以為程序的開發(fā)提供非常便利的條件。本次的畢業(yè)設(shè)計(jì)基于 android 的傳感器技術(shù)應(yīng)用開發(fā)就是以 basic4android搭建開發(fā)環(huán)境,利用 android 平臺提供的硬件實(shí)現(xiàn)傳感器游戲的開發(fā),從而對于傳感器進(jìn)行深入的研究與學(xué)習(xí)。本文分為 5 個(gè)章節(jié)詳細(xì)的介紹了從開始想法的萌生到開發(fā)完成的所有步驟。第1 章是緒論,主要介紹研究背景、意義等基本情況;第 2 章對應(yīng)用程序

13、項(xiàng)目涉及的具體相關(guān)技術(shù)進(jìn)行介紹;第 3 章是系統(tǒng)詳細(xì)分析設(shè)計(jì),介紹項(xiàng)目程序的系統(tǒng)設(shè)計(jì)框架、程序功能以及程序各個(gè)模塊;第 4 章是程序的詳細(xì)開發(fā)設(shè)計(jì)過程研究、源程序代碼開發(fā)以及測試。在這一章中將會對游戲程序的詳細(xì)開發(fā)流程、各個(gè)模塊的具體實(shí)現(xiàn)過程、遇到的技術(shù)難點(diǎn)等進(jìn)行詳細(xì)的分析與介紹,其中包括程序中的姿態(tài)傳感器模塊算法開發(fā)、應(yīng)用程序測試等等;第 5 章是總結(jié)與展望,將會對論文研究的結(jié)果進(jìn)行總結(jié)并且對未來該方向的發(fā)展趨勢加以展望?;?android 的傳感器技術(shù)應(yīng)用開發(fā)11緒論緒論在移動互聯(lián)網(wǎng)時(shí)代,一次次的科學(xué)技術(shù)的發(fā)展,必將帶來前所未有的挑戰(zhàn)與機(jī)遇,新的科學(xué)技術(shù)成果將為人類的文明史劃下濃墨重彩的

14、一筆。美國 google 公司推出的 android 系統(tǒng)就扮演著這樣的角色,它已經(jīng)改變了人們的傳統(tǒng)的生活方式。本章將簡要介紹該系統(tǒng)的演進(jìn)史,再對研究的背景及意義簡要的介紹,并對于論文的基本內(nèi)容做了簡要的安排。1.1研究背景與意義研究背景與意義隨著科學(xué)技術(shù)水平的不斷迭代更新,人們的工作、生活方式正在悄然發(fā)生變化。在移動互聯(lián)網(wǎng)時(shí)代,高速的生活節(jié)奏、海量的數(shù)據(jù)信息每天伴隨在我們的身邊。尤其在智能手機(jī)終端出現(xiàn)以后,這一現(xiàn)象隨處可見,地鐵、公交、餐廳等等地方,人們越來越多的時(shí)間花在了移動手持終端之上,這使得傳統(tǒng)的桌面式辦公方式、消費(fèi)模式、游戲娛樂體驗(yàn)發(fā)生了顛覆性的改變?,F(xiàn)在的智能手機(jī)終端也越來越趨于智

15、能化、人性化,功能越來越完善和強(qiáng)大。全球的各大廠商正在努力的進(jìn)行技術(shù)研發(fā)與應(yīng)用創(chuàng)新。在目前智能手機(jī)終端領(lǐng)域比較流行的操作系統(tǒng)主要有:微軟(microsoft)研發(fā)的 windows phone 智能手機(jī)操作系統(tǒng)、美國蘋果(apple)公司的 iphone 智能手機(jī)操作系統(tǒng)、谷歌(google)公司研發(fā)推出的基于 linux 內(nèi)核自由及開放源代碼的智能手機(jī)操作系統(tǒng)android。由于自由及開放源代碼的優(yōu)勢使得 android 智能手機(jī)操作系統(tǒng)在過去的時(shí)間里迅猛的發(fā)展起來,倍受全球手機(jī)硬件廠商和軟件研發(fā)人員青睞。本文將論述的 android 游戲開發(fā)就該種,基于 linux 內(nèi)核自由及開放源代碼的

16、以手持終端為載體的智能操作系統(tǒng)平臺下的應(yīng)用程序開發(fā)。自谷歌(google)公司2007 年 11 月 5 日正式向外界展示了這款名為 android 的操作系統(tǒng)后,從最初的阿童木(android beta)、發(fā)條機(jī)器人(android 1.0)到紙杯蛋糕 cupcake (android 1.5)、甜甜圈 donut (android 1.6)、松餅 eclair (android 2.0/2.1)、凍酸奶 froyo (android 2.2)、姜餅 gingerbread (android 2.3)、蜂巢 honeycomb (android 3.0)、冰激凌三明治 ice cream s

17、andwich (android 4.0)、果凍豆 jelly bean (android4.1 和 android 4.2)以及在不久的將來要發(fā)布的青檸派 key lime pie (android5.0),經(jīng)過各個(gè)版本的更迭改善使得絕大部分組件功能都不需要經(jīng)過授權(quán)而可以直接為開發(fā)人員所利用。軟件研發(fā)者開發(fā)的軟件可以被上傳到谷歌應(yīng)用商店(google play)之上供人們下載使用,達(dá)到資源共享的目的。正是這樣的原因極大的促進(jìn)了 android 智能手機(jī)操作系統(tǒng)以及其產(chǎn)業(yè)鏈的蓬勃發(fā)展,手機(jī)硬件廠商、軟件研發(fā)機(jī)構(gòu)和個(gè)人大量的投入到這個(gè)產(chǎn)業(yè)當(dāng)中?;?android 的手機(jī)硬件產(chǎn)品層出不窮,各個(gè)廠

18、商打造屬于自己的基于 android 的智能手機(jī)操作系統(tǒng),軟件開發(fā)人員運(yùn)用開放與自由的平臺開發(fā)擁有個(gè)性化應(yīng)用的軟件程序,一股 android 之風(fēng)正在席卷全球?;?android 的傳感器技術(shù)應(yīng)用開發(fā)21.2國內(nèi)外智能手機(jī)應(yīng)用程序現(xiàn)狀研究國內(nèi)外智能手機(jī)應(yīng)用程序現(xiàn)狀研究由于 android 系統(tǒng)本身所自帶的強(qiáng)大的應(yīng)用程序接口(api)功能,這就為人們開發(fā)各種類型的應(yīng)用提供便利的技術(shù)應(yīng)用基礎(chǔ)。現(xiàn)在,市面上圍繞 android 的智能手機(jī)操作系統(tǒng)己經(jīng)開發(fā)出五花八門的應(yīng)用程序,如移動辦公程序、互聯(lián)網(wǎng)游戲程序等等。在傳統(tǒng) pc 桌面以及 web 應(yīng)用程序開發(fā)日趨成熟的狀況下,基于智能手機(jī)的移動互聯(lián)網(wǎng)應(yīng)

19、用程序開發(fā)是當(dāng)前軟件研發(fā)的又一個(gè)春天,智能手機(jī)操作系統(tǒng)的發(fā)展更為移動互聯(lián)網(wǎng)時(shí)代的快速發(fā)展帶來前所未有契機(jī)。在對手機(jī)的應(yīng)用程序功能需求上,人們的要求也越來越有品位與個(gè)性化。傳統(tǒng)的手機(jī)軟件已經(jīng)不再能夠滿足人們?nèi)找嬖鲩L的互聯(lián)網(wǎng)服務(wù)需求。相應(yīng)產(chǎn)生的是能夠滿足更多需求的綜合性智能手機(jī)應(yīng)用程序,比如說百度地圖(baidu map)能夠在提供地圖服務(wù)的基礎(chǔ)上為人們提供便捷的本地生活服務(wù)提供周邊餐飲美食、休閑娛樂、酒店購物等海量商戶信息,包括商戶電話、地址地圖、客觀點(diǎn)評等免費(fèi)下載優(yōu)惠券,還可享受最新鮮的團(tuán)購折扣信息;智能出行規(guī)劃擁有強(qiáng)大的路線查詢及規(guī)劃能力,支持公交、駕車、步行、 地鐵四種出行方式,提供路線方

20、案和打車費(fèi)用; 隨時(shí)隨地查看實(shí)時(shí)路況,提前規(guī)劃出行計(jì)劃等等。當(dāng)然越來越高的技術(shù)難點(diǎn)就會出現(xiàn)在研發(fā)人員的面前,比如 3d 效果顯示技術(shù),大數(shù)據(jù)的分析技術(shù)等等。本論文正是在這樣的大背景之下,研究利用手機(jī)的傳感器設(shè)計(jì)出來一個(gè)小型游戲軟件,從而對于android 程序的開發(fā)過程做一了解。1.3研究目的及項(xiàng)目背景介紹研究目的及項(xiàng)目背景介紹伴隨著移動互聯(lián)網(wǎng)技術(shù)的更迭和大數(shù)據(jù)時(shí)代的到來,相關(guān)的應(yīng)用程序也在不斷的演進(jìn),各種領(lǐng)域的學(xué)者都在關(guān)注著該領(lǐng)域的每一步發(fā)展。從谷歌公司(google)開始發(fā)布基于 linux 內(nèi)核的自由開放源代碼的 android 智能手機(jī)操作系統(tǒng)以來,各大個(gè)人、高校以及研究機(jī)構(gòu)紛紛投入與

21、其相關(guān)領(lǐng)域進(jìn)行研究。本文中將會介紹基于android 操作系統(tǒng)的傳感器應(yīng)用程序開發(fā)游戲的全過程,通過開發(fā)中不斷出現(xiàn)問題、解決問題的過程,從而對 android 平臺應(yīng)用程序的開發(fā)有一個(gè)全面的了解,為以后的進(jìn)一步拓展學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。更多的是學(xué)會去提出問題,解決問題的方法,繼而從容面對以后工作中遇到的更多的難題。1.4論文的研究內(nèi)容和結(jié)構(gòu)安排論文的研究內(nèi)容和結(jié)構(gòu)安排1.4.1論文內(nèi)容概述論文內(nèi)容概述本論文主要對基于 android 的傳感器技術(shù)應(yīng)用進(jìn)行深入的研究,通過開發(fā)一款比較簡單常見的傳感器小型游戲的整體設(shè)計(jì)與實(shí)現(xiàn)過程,學(xué)習(xí)傳感器技術(shù)在 android智能手機(jī)操作系統(tǒng)中的綜合應(yīng)用。游戲程序

22、主要是利用姿態(tài)傳感器技術(shù)和主要的素基于 android 的傳感器技術(shù)應(yīng)用開發(fā)3材模塊實(shí)現(xiàn),通過調(diào)整手機(jī)姿態(tài)來實(shí)時(shí)控制游戲主角的彈跳軌跡,從而到達(dá)更高平臺,獲取更高的分?jǐn)?shù),游戲具有很高的操作性與可玩性。1.4.2論文內(nèi)容結(jié)構(gòu)安排論文內(nèi)容結(jié)構(gòu)安排本文分為 5 個(gè)章節(jié),第 1 章是緒論,主要介紹論文研究背景、意義等情況;第2 章對應(yīng)用程序項(xiàng)目涉及的具體相關(guān)技術(shù)進(jìn)行介紹;第 3 章是系統(tǒng)詳細(xì)分析設(shè)計(jì),介紹項(xiàng)目程序的系統(tǒng)設(shè)計(jì)框架、程序功能以及程序各個(gè)模塊;第 4 章是程序的詳細(xì)開發(fā)設(shè)計(jì)過程研究、代碼開發(fā)以及測試,在這一章中將會對游戲程序的詳細(xì)開發(fā)流程、各個(gè)模塊的具體實(shí)現(xiàn)過程、遇到的技術(shù)難點(diǎn)等知識點(diǎn)進(jìn)行詳

23、細(xì)的分析與介紹,其中包括程序中的姿態(tài)傳感器模塊開發(fā)算法、應(yīng)用程序測試等等;第 5 章是綜述,將會對論文研究的結(jié)果進(jìn)行總結(jié)并且對未來的發(fā)展趨勢加以展望。1.5小結(jié)小結(jié)本章是論文的緒論部分,主要介紹了論文的研究意義、國內(nèi)外研究現(xiàn)狀,對論文的撰寫架構(gòu)做了簡要的說明。最后對論文中涉及的項(xiàng)目程序的開發(fā)技術(shù)背景知識進(jìn)行了介紹,這些在下一章當(dāng)中進(jìn)行詳細(xì)的介紹與分析。2基于基于 android 的傳感器技術(shù)研究的傳感器技術(shù)研究基于 android 的傳感器技術(shù)應(yīng)用開發(fā)4緒論對于文章的研究背景做了介紹,這一章將針對 android 的平臺和程序設(shè)計(jì)過程中用到的傳感器知識進(jìn)行深入的探討,并將 basic4andr

24、oid 相關(guān)的要點(diǎn)進(jìn)行重點(diǎn)的闡述。2.1android 簡述簡述2.1.1android 平臺簡介平臺簡介android 的本義是“機(jī)器人” ,是 google 公司 2007 年 11 月 5 日正式面世,基于linux 平臺的開放源代碼的操作系統(tǒng),它很好的整合了操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件,可以為移動終端打造開放完整的移動程序軟件。android 是一個(gè)嶄新的手機(jī)操作系統(tǒng)平臺,在以 google 為首的 40 多家開放手機(jī)聯(lián)盟(oha)支持下,使用開放源碼策略,平臺全部以開源的項(xiàng)目來構(gòu)建,是完全開放的智能終端操作系統(tǒng)平臺。android 系統(tǒng)的快速發(fā)展使得移動終端的發(fā)展趨向于多元化

25、,其強(qiáng)大的網(wǎng)絡(luò)功能及整合 google 網(wǎng)絡(luò)服務(wù)優(yōu)勢,使得 android 在移動技術(shù)發(fā)展方面有著光明的前景趨勢。目前 android 已由剛開始的 android 1.0 版本經(jīng)過多個(gè)版本的演進(jìn)與升級,發(fā)展到現(xiàn)在的 android4.1、android4.2 版本,不久的將來會發(fā)布的 android4.5 版本,其平臺應(yīng)用方面更加趨于完備和成熟。2.1.2android 開發(fā)框架開發(fā)框架和其他的智能手機(jī)操作系統(tǒng)一樣,android 操作系統(tǒng)也有自己的一套運(yùn)行機(jī)制和開發(fā)框架,如圖 1.1 所示:應(yīng)用層程序應(yīng)用程序架構(gòu)應(yīng)用庫核心庫da1vik虛擬機(jī)linux 內(nèi)核圖 1-1android 框架由

26、于 android 系統(tǒng)的體系架構(gòu)采用類似于 osi 的開放式系統(tǒng)互聯(lián)參考模型的分層架構(gòu),分層的好處是下層可以為上層提供統(tǒng)一的服務(wù),這樣能夠屏蔽本層及以下層的差異,當(dāng)本層及以下層發(fā)生了變化不會影響到上一層;也就說高層各司其職,各層提供各自獨(dú)有的服務(wù)。a.應(yīng)用程序android 應(yīng)用程序?qū)儆谡麄€(gè)框架的最頂層,也是開發(fā)人員進(jìn)行設(shè)計(jì)開發(fā)應(yīng)用以及基于 android 的傳感器技術(shù)應(yīng)用開發(fā)5終端用戶體驗(yàn)使用直接接口。該層包含大量本身配置的一套應(yīng)用程序子集,如短信收發(fā)、日歷查詢、google map、web 瀏覽器、e-mail 客戶端等等常用工具組件,以及基于 android 平臺的應(yīng)用程序框架,該層是

27、使用 java 語言開發(fā)的。b.應(yīng)用程序框架android 應(yīng)用程序框架主要包括系統(tǒng)中與用戶進(jìn)行交互的一些管理組件,如activity、窗體、電話、包和視圖管理等等,這些框架的使用可簡化和充當(dāng)應(yīng)用程序的組件。在應(yīng)用程序框架這一層,充分體現(xiàn)了各個(gè)組件的重用性能,也就是說任何的應(yīng)用組件不但可以獨(dú)立發(fā)布自己的應(yīng)用,也可以發(fā)布其他具有組合功能的應(yīng)用程序。因此,通過該應(yīng)用程序框架,用戶自定義的程序不但可以執(zhí)行用戶程序之外的預(yù)設(shè)功能,也可以執(zhí)行其他附加的能使得軟件的復(fù)用性更高。c.系統(tǒng)開發(fā)庫android 系統(tǒng)的庫運(yùn)行在 linux 內(nèi)核之上,應(yīng)用程序框架層之下。該層由負(fù)責(zé)android 運(yùn)行時(shí)的核心庫、

28、dalvik 虛擬機(jī)以及其他的一些常用的應(yīng)用庫組成。這些核心庫主要是 c/c+函數(shù)庫,而應(yīng)用庫則是一些常用的應(yīng)用開發(fā)庫,例如用于音頻、視頻播放的媒體庫;用于管理界面顯示效果的外觀管理器;用于 2d 和 3d 圖形顯示的 sgl 和 opengl 的圖形庫;用于本地?cái)?shù)據(jù)庫支持的 sqlite;用于集成 web 瀏覽器和 internet 安全的 ssl 和 webkit 等等。d. linux 核心android 的 linux 核心層位于其框架的最底層,該層雖說是基于 linux 核心,但是發(fā)展到現(xiàn)在已經(jīng)和 linux 有了很大差別。該層用來提供系統(tǒng)的底層服務(wù),包括安全運(yùn)行機(jī)制、內(nèi)存、進(jìn)程、電

29、源項(xiàng)的管理,網(wǎng)絡(luò)堆棧及所有驅(qū)動模塊。另外,內(nèi)核還在硬件和軟件棧的部分提供了一個(gè)抽象層。android 系統(tǒng)框架發(fā)展到現(xiàn)在的狀況,底層 linux 核心層已經(jīng)和標(biāo)準(zhǔn)的 linux 很大的區(qū)別,它的編程接口、系統(tǒng)庫等和標(biāo)準(zhǔn)的 linux 系統(tǒng)已經(jīng)不同,它的文件系統(tǒng)并不是采用虛擬內(nèi)存文件系統(tǒng),而是采用開源的、可移植性較好的 yaffs ( yet another flash file system)文件系統(tǒng)。2.1.3android 應(yīng)用程序組件應(yīng)用程序組件進(jìn)行 android 應(yīng)用程序的開發(fā),我們必不可少的就是要了解其平臺的應(yīng)用程序框架。android 應(yīng)用程序主要是由 activity、broa

30、dcast receiver、service 和 content provider 四大組件構(gòu)成。在 android 應(yīng)用程序中,不一定要包括所有組件,開發(fā)人員可根據(jù)實(shí)際需求進(jìn)行選擇性的使用。但無論對哪個(gè)組件進(jìn)行使用,都必須在androidmanfest.xml 文件中進(jìn)行注冊以后才能使用?;?android 的傳感器技術(shù)應(yīng)用開發(fā)6a.activity 組件在 android 中最常見、也是最重要的一個(gè)組件是 activity。它主要是負(fù)責(zé)終端屏幕界面之間的跳轉(zhuǎn),為用戶提供一個(gè)可視化界面,也就是說我們用戶所看到的每一個(gè)顯示界面就是一個(gè) activity 組件。在進(jìn)行程序開發(fā)的過程中所涉及到的

31、全部功能就是通過 activity 組件之間的相互銜接、跳轉(zhuǎn),再運(yùn)用其自帶的強(qiáng)大控件功能和圖層渲染等技術(shù)完成,從而最終形成優(yōu)美的顯示界面。任何一個(gè) activity 類的使用都是繼承自基類,并在 androidmanfest.xml 文件中進(jìn)行注冊。activity 中包含有 3 個(gè)重要的生命周期狀態(tài):運(yùn)行狀態(tài)(running state)暫停狀態(tài)(pause state)和停止?fàn)顟B(tài)(stopped state)。對 activity 組件的調(diào)用基本上都是對這三個(gè)生命周期的使用。當(dāng)activity 在不同狀態(tài)進(jìn)行切換時(shí),就是通過重寫相應(yīng)的回調(diào)的方法來執(zhí)行相應(yīng)的動作,圖 2-1 顯示的是 act

32、ivity 生命周期的基本過程。圖 2-1activity 生命周期b.broadcast receiver 組件broadcast receiver 組件主要負(fù)責(zé)接收外部的廣播消息并對消息做出適當(dāng)反應(yīng)。在使用 android 系統(tǒng)的時(shí)候經(jīng)常會遇到許多各種類型的廣播,比如我們在玩游戲同onrestart( ) oncreate( ) onstart( ) onresume() running state onpauese( ) paused state onstop( ) stopped state ondestroy( ) activity 創(chuàng)建獲得焦點(diǎn)失去焦點(diǎn)失去焦點(diǎn)銷毀退出基于 andr

33、oid 的傳感器技術(shù)應(yīng)用開發(fā)7時(shí),手機(jī)顯示有新的來電或者收到新的短信,由于優(yōu)先級的不同,這時(shí)這個(gè)系統(tǒng)就必須對當(dāng)前應(yīng)用程序進(jìn)行中斷并響應(yīng)新來電或短信,這些都需要系統(tǒng)響應(yīng)。應(yīng)用程序需要對某些廣播事件進(jìn)行響應(yīng),則需要注冊對應(yīng)的 broadcast receiver 對象。broadcast receiver 發(fā)布廣播和接收廣播是通過 intent 對象來完成,intent 可用于activity 之間的切換。broadcast receiver 組件的生命周期較為簡單,它只需onreceiver 一個(gè)回調(diào)方法,在應(yīng)用程序接收到廣播的時(shí)候調(diào)用即可。c.service 組件service 組件是與用戶沒

34、有交互界面,運(yùn)行于程序后臺的長生命周期組件,它繼承自 service 類。service 組件運(yùn)行于程序的后臺,因此任何不需要在前臺顯示的計(jì)算或數(shù)據(jù)處理,都可以通過啟動 service 組件來實(shí)現(xiàn)。因此,我們可以認(rèn)為 service是一個(gè)默默在后臺支撐系統(tǒng)的各種程序,而自身卻始終沒有現(xiàn)身的幕后主角。一個(gè)service 啟動之后會一直在后臺運(yùn)行,直到自己的生命周期結(jié)束為止,即便在這期間啟動它的 activity 或是其他組件的生命周期己經(jīng)結(jié)束。與此同時(shí),service 組件有兩種啟動的方式,分別為 startservice 方式和 bindservice 方式。這兩種方式的區(qū)別是bindserv

35、ice 方式會將啟動 service 組件的組件,如 activity,進(jìn)行綁定,當(dāng)啟動service 的組件消失時(shí),它也會跟著一起停止運(yùn)行。而 startservice 方式則不同,它會一直在后臺運(yùn)行到生命周期結(jié)束為止。d.content provider 組件該組件主要的功能是在不同的應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)共享。android 系統(tǒng)應(yīng)用程序擁有各自獨(dú)立的存儲空間,這樣如果一個(gè)程序要訪問其他程序的數(shù)據(jù)或者向外部程序提供數(shù)據(jù),則需要 content provider 組件來完成。在 android 平臺中,應(yīng)用程序數(shù)據(jù)可以被存儲為 sqlite 數(shù)據(jù)庫文件、android 系統(tǒng)文件或者其他合法的

36、文件類型。content provider 為應(yīng)用程序提供了一組標(biāo)準(zhǔn)的訪問方式,用于在程序需要時(shí)能夠訪問這些數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)共享。2.1.4android 軟件開發(fā)的優(yōu)點(diǎn)及缺點(diǎn)軟件開發(fā)的優(yōu)點(diǎn)及缺點(diǎn)a.android 應(yīng)用開發(fā)的優(yōu)勢android 平臺的開放性:開放性對其迅速的風(fēng)靡全球有不可磨滅的功勞。谷歌公司把 android 系統(tǒng)開放給廣大軟、硬件廠商、軟件研發(fā)人員以及普通用戶,為android 平臺積累了眾多的人氣和關(guān)注度。大家可以通過 google 的 google play 平臺下載應(yīng)用軟件并且上傳自己設(shè)計(jì)開發(fā)的程序,這樣的開放方式促進(jìn) android 平臺不斷的發(fā)展和完善,也有利于促進(jìn)

37、軟件行業(yè)的競爭,同時(shí)為大家提供了非常豐富的軟件資源。基于 android 的傳感器技術(shù)應(yīng)用開發(fā)8良好的兼容性:android 平臺的兼容性,使 android 手機(jī)上的各種應(yīng)用開發(fā)百花齊放,各種各樣創(chuàng)新的設(shè)計(jì)以及產(chǎn)品應(yīng)運(yùn)而生,雖然這些基于 android 平臺上開發(fā)的應(yīng)用程序功能特色各異、用途各不相同,在不同手機(jī)廠商的硬件版本中,卻實(shí)現(xiàn)數(shù)據(jù)同步,軟、硬件高度兼容的情況,這些是得力于手機(jī)聯(lián)盟(oha)對 android 平臺的大力支持。高度融合 google 服務(wù):android 系統(tǒng)另一個(gè)特點(diǎn)就是整合了 google 服務(wù)的特色功能,如 google map、e-mail、搜索功能等,這些極大

38、的方便廣大開發(fā)者以及手機(jī)用戶。b.android 應(yīng)用開發(fā)存在的不足android 版本更新過于頻繁。自從 2007 年 android1.0 版本正式面世以來,中間經(jīng)歷了許多的版本的更迭,雖然這樣說明了 android 發(fā)展的勢頭,但同時(shí)版本更新過于密集,也會讓開發(fā)人員和用戶感到不適,系統(tǒng)及軟件的升級維護(hù)有一定的麻煩,無形中增加了一定的使用成本。由于 android 虛擬機(jī) dalvik vm 對硬件配置資源的要求比較高,相應(yīng)的開發(fā)所需硬件配置成本比其他開發(fā)環(huán)境要求有所提高。為了平臺的安全性考慮,google 公司在該平臺使用開發(fā)時(shí)設(shè)置了較多的權(quán)限控制,導(dǎo)致了任務(wù)管理器、虛擬按鍵、屏幕截圖、

39、短信防火墻等類似功能的實(shí)現(xiàn)步驟相當(dāng)繁瑣,比較難為實(shí)現(xiàn)。2.1.5basic4android 開發(fā)環(huán)境的搭建開發(fā)環(huán)境的搭建android 平臺 linux 核心庫提供了 java 語言核心庫的大多數(shù)功能,并通過dalvik 虛擬機(jī)來執(zhí)行 android 應(yīng)用程序。因此,android 平臺下應(yīng)用程序的開發(fā)除了用于 java 語言開發(fā)的 jdk,還須安裝專門為 android 開發(fā)用的 android 標(biāo)準(zhǔn)開發(fā)包android sdk,以及相關(guān)的開發(fā)編程工具 basic4android,具體開發(fā)環(huán)境的搭建和配置流程這里不做詳細(xì)的介紹。只對于環(huán)境搭建過程中的注意事項(xiàng)做一簡單介紹。首先安裝完成 bas

40、ic4android,初次運(yùn)行會提示選擇相應(yīng)的 license 文件并且要求輸入郵箱賬號,從而激活完整版軟件。第二步安裝 java jdk v7,這里要注意的是不管是 32位或者 64 位的操作系統(tǒng),都必須安裝 windows x86 (32-bit),否則在下一步 android sdk 的安裝過程中將無法識別。第三步安裝 android sdk 和開發(fā)平臺(platform),android sdk 的安裝路徑必須不能包含空格鍵,比如 program files,完成安裝之后打開路徑下的 sdk manager.exe 其顯示如圖 2-2 所示 android sdk manager 界面

41、: 基于 android 的傳感器技術(shù)應(yīng)用開發(fā)9圖 2-2android sdk manager 界面勾選并下載相應(yīng)的平臺版本,推薦安裝 api8 及以上版本,由于該游戲硬件加速的開啟,必須選擇 android 4.0 以上的版本,這里我們選擇的是 android 4.1 的開發(fā)平臺。完成安裝后進(jìn)入 basic4android 點(diǎn)擊選擇 tools configure paths 配置相應(yīng)的路徑,如圖 2-3paths configuration 界面:圖 2-3paths configuration 界面到此為止,所需軟件安裝、開發(fā)環(huán)境平臺搭建完成。2.1.6運(yùn)用運(yùn)用 basic4andro

42、id 軟件的優(yōu)勢軟件的優(yōu)勢basic4android 是簡單而強(qiáng)有力的工具;ide 和程序語言 100%專注于 android 開發(fā);編譯為原生 bytecode,不需要運(yùn)行庫生成的 apk 文件與 java / eclipse 生成的基于 android 的傳感器技術(shù)應(yīng)用開發(fā)10文件完全一樣;與 java 寫的應(yīng)用性能相同;使用與 visual basic 類似的事件驅(qū)動開發(fā)語言,支持對象和代碼模塊;不需要寫任何 xml 文件;通過支持定制 java 庫提高擴(kuò)展性;大量的、活躍的、有好的社區(qū)開發(fā)者,超過 20,000 注冊開發(fā)者;android 史上唯一的真正 wysiwyg 可視化編輯器。

43、可視化編輯器能夠支持多屏幕和各種分辨率。支持 android 1.6 到 4.0 版本的所有的電話和平板終端;支持自動完成、內(nèi)置文檔和內(nèi)部索引的現(xiàn)代 ide 和其他高級功能;集成了強(qiáng)大的單步調(diào)試器;具有可定制在線和離線查詢功能的海量文檔;使用可視化設(shè)計(jì)器和抽象設(shè)計(jì)器支持所有的屏幕大小和分辨率;增強(qiáng)的數(shù)據(jù)庫和 web 服務(wù)的支持,一步一步指導(dǎo)如何連接到遠(yuǎn)程的 mysql and microsoft sql server 數(shù)據(jù)庫等等一系列所獨(dú)有的特征。2.2傳感器概念與分類傳感器概念與分類2.2.1傳感器的概念傳感器的概念傳感器是一種物理裝置或生物器官,能夠探測、感受外界的信號、物理?xiàng)l件(如光、熱

44、、濕度)或化學(xué)組成(如煙霧),并將探知的信息傳遞給其他裝置或器官。國家標(biāo)準(zhǔn) gb/t 7665-200 對傳感器的定義是:“能感受規(guī)定的被測量并按照一定的規(guī)律轉(zhuǎn)換成可用信號的器件或裝置,通常由敏感元件和轉(zhuǎn)換元件組成” 。傳感器是一種檢測裝置,能感受被測量的信息,并能將檢測的感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求,它是實(shí)現(xiàn)自動檢測和自動控制的首要環(huán)節(jié)。2.2.2傳感器的分類傳感器的分類傳感器技術(shù)己經(jīng)廣泛應(yīng)用于人們的生活、工作、學(xué)習(xí)方方面面之中,它們的種類豐富,特點(diǎn)各異,因此把它們分類的方法也有很多方式。最直接和最廣泛的

45、分類方式是把它們分為物理傳感器、化學(xué)傳感器和生物傳感器三種類型。另外,按照傳感器的不同用途和性質(zhì)也可以分成種類多的傳感器,如溫度傳感器、光傳感器、壓力傳感器、速度傳感器、磁敏傳感器、濕敏傳感器、震動傳感器、能耗傳感器以及本文中將會重點(diǎn)介紹的姿態(tài)傳感器等等。按這些種類繁多的傳感器技術(shù)為人們的生活、工作、學(xué)習(xí)、科研提供了非常多的便利,被廣泛應(yīng)用于軍事、航天航空、醫(yī)用、汽車、家電等各個(gè)頂端和基礎(chǔ)行業(yè)領(lǐng)域。2. 3傳感器在智能手機(jī)中的應(yīng)用傳感器在智能手機(jī)中的應(yīng)用隨著智能操作系統(tǒng)手機(jī)以及移動互聯(lián)網(wǎng)迅速發(fā)展,手機(jī)的功能己遠(yuǎn)遠(yuǎn)超出其最初的打電話、發(fā)短信的功能。智能手機(jī)在人們的日常生活工作中扮演著越來越重要的

46、角色,消費(fèi)者在手機(jī)功能上的要求也越來越苛刻,一部智能化、人性化的智能手機(jī)更能為人們所接受和喜愛。目前,智能手機(jī)的功能可謂是多種多樣,基本上滿足基于 android 的傳感器技術(shù)應(yīng)用開發(fā)11了不同人群的各種需求。手機(jī)傳感器應(yīng)用技術(shù)也正是在這樣的背景下得以迅速的發(fā)展。目前應(yīng)用于智能手機(jī)上的傳感器技術(shù)是非常多的:如光傳感器(light sensor)主要用于手機(jī)屏幕亮度的智能調(diào)節(jié)。手機(jī)的光傳感器技術(shù)可根據(jù)周圍環(huán)境光線的情況,智能的調(diào)節(jié)手機(jī)屏幕的亮度,如果手機(jī)用戶處于黑暗的環(huán)境中時(shí),傳感器便會智能降低手機(jī)屏幕的亮度,起到保護(hù)用戶眼睛和節(jié)能的作用。相反,當(dāng)手機(jī)處于較強(qiáng)烈的光線之下時(shí),傳感器則會自動增加手

47、機(jī)屏幕的亮度,以達(dá)到較好的顯示效果。而距離傳感器(proximity sensor)可以在用戶接電話時(shí)智能熄滅屏幕,則可以防止用戶在聽電話時(shí)手機(jī)屏幕接觸到用戶臉部將電話意外掛斷或者消耗過多的電能。重力傳感器(gravity sensor)在智能手機(jī)上的應(yīng)用則更為廣泛常見,比如很有意思的是來電時(shí)翻轉(zhuǎn)手機(jī)靜音。姿態(tài)傳感器(orientation sensor)主要是用于檢測手機(jī)方向的變化,而做出相關(guān)的應(yīng)用,最典型的應(yīng)用就是游戲的使用,比如本論文的傳感器小游戲就是該傳感器的使用例子。應(yīng)用的比較好,而且非常人性化的就是當(dāng)下非常流行的美國蘋果公司(apple)公司的語音軟件 siri,她能夠利用陀螺儀和

48、距離傳感器檢測手機(jī)軌跡狀態(tài),在手機(jī)從靜止平臺狀態(tài)下到拿起放到耳朵旁邊的過程中,觸發(fā)并打開語音助手實(shí)現(xiàn)手機(jī)直接撥打電話等等功能。2. 4android 平臺傳感器的平臺傳感器的種類種類google 的 android 平臺為我們提供大量傳感器硬件接口。從 android l . 5 版本開始,android 系統(tǒng)內(nèi)置了對多達(dá)八種傳感器的支持,它們分別是:加速度傳感器(accelerometer sensor)、陀螺儀(gyroscope sensor)、環(huán)境光照傳感器(light sensor)、磁力傳感器(magnetic field sensor)、方向傳感器(orientation sen

49、sor)、壓力傳感器(pressure sensor)、距離傳感器(proximity sensor)、溫度傳感器(temperature sensor)和本論文重點(diǎn)應(yīng)用的姿態(tài)傳感器(orientation sensor)。正是因?yàn)橛辛诉@些成熟的傳感器技術(shù)的支撐,我們可以在 android 平臺上設(shè)計(jì)開發(fā)出各種人性化、高實(shí)用性的手機(jī)應(yīng)用程序。在表 2-4 寫出來在 android 平臺下各種傳感器的返回值情況。傳感器類型返回值數(shù)量返回值備注orientation3value0:pitchvalue1:rollvalue2:yaw方向傳感器,返回三個(gè)坐標(biāo)軸的角度,以度為單位presure1val

50、ue0:pressure壓力傳感器,單位為 kp 千帕斯卡light1value 0 :illumination計(jì)算周圍環(huán)境光的強(qiáng)度,以基于 android 的傳感器技術(shù)應(yīng)用開發(fā)12lux 為單位gyroscope3value0:pitchvalue1:rollvalue2:yaw計(jì)算三個(gè)坐標(biāo)軸的方向的角度,單位為度。magnetic field3value 0 : lateralvalue1:longitudinalvalue2:vertical計(jì)算坐標(biāo)軸三個(gè)方向磁感應(yīng)情況,以微特拉斯 ut 為單位accelerometer3value 0 : lateralvalue1:longitudi

51、nalvalue2:vertical加速度傳感器,返回值單位為m/s2prpximity1value0:distance距離傳感器,返回值以米為單位temperature1value 0 :temperature溫度傳感器,返回值單位為攝氏度。表 2-4android 平臺下各種傳感器的返回值在這里簡單介紹了 android 平臺所支持的部分傳感器的參數(shù),在下邊的論文中會再詳細(xì)介紹跟應(yīng)用程序相關(guān)的姿態(tài)傳感器的主要特征以及調(diào)用的具體操作實(shí)現(xiàn)。2.4.1加速傳感器加速傳感器(重力傳感器重力傳感器)accelerometer主要感應(yīng)手機(jī)的運(yùn)動狀態(tài),在注冊了傳感器監(jiān)聽器后,加速度傳感器主要捕獲三個(gè)參數(shù)

52、 value0、value1、value2單位是 m/s2value0:空間坐標(biāo)系中 x 軸方向上的加速度減去重力加速度在 x 軸上的分量value1:空間坐標(biāo)系中 y 軸方向上的加速度減去重力加速度在 y 軸上的分量value2:空間坐標(biāo)系中 z 軸方向上的加速度減去重力加速度在 z 軸上的分量以下是加速度取值的一個(gè)典型的例子:當(dāng)手機(jī)平放到桌面上靜止時(shí), 加速度為重力加速度 g,通過 0 減去-g(重力加速基于 android 的傳感器技術(shù)應(yīng)用開發(fā)13度 g 方向?yàn)?z 軸反向,故為負(fù)值)得到 values2為 g。如果把手機(jī)水平向右推,此時(shí)手機(jī) x 方向上的加速度為正,即 value0為正

53、。如果把手機(jī)以 a m/s2的加速度豎直向上舉時(shí),values2的返回值為(a+g)m/s2,通過加速度 a 減去負(fù)的重力加速度-g 得到。2.4.2姿態(tài)傳感器姿態(tài)傳感器 orientation姿態(tài)傳感器主要是感應(yīng)手機(jī)方向的變化,也是本論文所討論小游戲項(xiàng)目中的主要核心功能部分。其每次讀取的都是靜態(tài)的狀態(tài)值,在注冊傳感器監(jiān)聽器之后方向傳感器同樣是捕獲三個(gè)參數(shù) values0, values1,values2,分別代表手機(jī)沿yaw 軸、pitch 軸以及 ro11 軸轉(zhuǎn)過的角度。姿態(tài)傳感器是使用最多的傳感器之一,該傳感器主要感應(yīng)手機(jī)方位的變化,捕獲的同樣是三個(gè)數(shù),分別代表手機(jī)沿 yaw 軸、pit

54、ch 軸和 roll 軸轉(zhuǎn)過的角度。yaw 軸、pitch 軸和 roll 軸與平時(shí)我們理解的空間坐標(biāo)系有所不同,在特定的狀態(tài)下其有別于傳統(tǒng)的三維空間坐標(biāo)系。下面分別對這三個(gè)軸所表示的含義進(jìn)行詳細(xì)介紹:yaw 軸,該軸是三個(gè)軸中最簡單的一個(gè),其表示的方向是不變的,一直是重力加速度 g 的反方向,即一直是豎直向上的,與手機(jī)的姿態(tài)無關(guān)。pitch 軸,該軸的方向并不是固定不變的,而是會隨著手機(jī)沿 yaw 軸旋轉(zhuǎn)而改變,唯一不變的關(guān)系是該軸永遠(yuǎn)與 yaw 軸成 90 度角。實(shí)際上 yaw 軸與 pitch 軸相當(dāng)于銜接一起的一個(gè) 90 度固定的支架,無論手機(jī)怎么旋轉(zhuǎn),其與 yaw 軸的角度都為 90

55、 度。roll 軸,該軸的方向是沿著手機(jī)屏幕向上的軸,無論手機(jī)是何種姿態(tài),roll 軸都是沿著手機(jī)的屏幕向上指示的,其方向是與手機(jī)綁定的。該三維狀態(tài)的圖示效果如圖 2-4 所示:基于 android 的傳感器技術(shù)應(yīng)用開發(fā)14r ro ol ll ly ya aw wp pi it tc ch ho o圖 2-4姿態(tài)傳感器 orientation2. 5傳感器的使用方法傳感器的使用方法相對于傳統(tǒng)的 android 軟件開發(fā)工具,basic4android 提供了與 visual basic 類似的事件驅(qū)動開發(fā)語言,支持對象和代碼模塊。下邊簡單介紹幾個(gè)常用的傳感器使用方法。2.5.1加速度傳感器的

56、調(diào)用加速度傳感器的調(diào)用(phoneaccelerometer)調(diào)用內(nèi)部的加速度傳感器具有一定的語法要求,并且這個(gè)變量必須被定義成為一個(gè)全局的變量。事件聲明:accelerometerchanged (x as float, y as float, z as float)開始監(jiān)聽:startlistening (eventname as string)停止監(jiān)聽:stoplistening具體的成員描述方法:startlistening (eventname as string)開始監(jiān)聽加速度傳感器的變化事件。stoplistening停止監(jiān)聽加速度傳感器的變化事件。2.5.2方向傳感器的調(diào)用方向

57、傳感器的調(diào)用(phoneorientation)類似于上一個(gè)加速度傳感器的調(diào)用類似,調(diào)用內(nèi)部的方向感傳感器也是具有一基于 android 的傳感器技術(shù)應(yīng)用開發(fā)15定的語法要求,并且這個(gè)變量必須被定義成為一個(gè)全局的變量,才能在程序之中正常調(diào)用。事件聲明:orientationchanged (azimuth as float, pitch as float, roll as float)開始監(jiān)聽:startlistening (eventname as string)停止監(jiān)聽:stoplistening具體的成員描述方法:startlistening (eventname as string)開

58、始監(jiān)聽方向傳感器的變化事件stoplistening停止監(jiān)聽方向傳感器的變化事件以上的是兩個(gè)比較常用的傳感器的函數(shù)調(diào)用以及成員聲明的方法,在其他的傳感器調(diào)用過程中也會用到相同的語法來定義與調(diào)用,在這里就不再贅述。2.6b4a-bridge 軟件的使用軟件的使用在利用 basic4android 編程軟件進(jìn)行傳感器的游戲開發(fā)編程調(diào)試時(shí),由于要獲取傳感器實(shí)時(shí)的數(shù)據(jù)值,所以如果創(chuàng)建傳統(tǒng)的 android virtual device 無法滿足實(shí)時(shí)調(diào)試應(yīng)用程序的需求,在這里就要通過安裝 b4a-bridge 輔助軟件,通過訪問無線局域網(wǎng)或者通過藍(lán)牙連接運(yùn)行 android 智能操作系統(tǒng)的手機(jī)進(jìn)行實(shí)時(shí)的

59、調(diào)試。這樣連接之后只要實(shí)時(shí)的該變手機(jī)的姿態(tài)值,通過相應(yīng)的傳輸介質(zhì)就能將該參數(shù)傳遞過去。b4a-bridge 軟件界面如下圖 2-5 所示:基于 android 的傳感器技術(shù)應(yīng)用開發(fā)16圖 2-5b4a-bridge 軟件界面該軟件有無線局域網(wǎng)(wifi)、藍(lán)牙(bluetooth)兩種途徑可以將 android 操作系統(tǒng)的手機(jī)與 basic4android 開發(fā)環(huán)境連接,從而實(shí)現(xiàn)傳感器參數(shù)的實(shí)時(shí)傳遞來實(shí)現(xiàn)程序的調(diào)試。在軟件界面點(diǎn)擊相應(yīng)的連接方式按鈕后,手機(jī)會開啟無線或者藍(lán)牙功能發(fā)送相應(yīng)的數(shù)據(jù)以備 basic4android 開發(fā)環(huán)境連接。然后,在 basic4android 開發(fā)軟件的工具欄選

60、擇 tolls b4a bridge connect-bluetooth/connect-wireless 如下圖 2.6 所示點(diǎn)擊選擇相應(yīng)的連接方式,輸入手機(jī) b4a-bridge 軟件界面相應(yīng)參數(shù)即可成功連接。圖 2.6b4a bridge 連接方式選擇在成功連接以后,在編譯環(huán)境中編寫程序源代碼完成后,按 f5 運(yùn)行該程序,即可在手機(jī)上顯示安裝將要調(diào)試的軟件程序,只需點(diǎn)擊安裝按鈕即可。在需要調(diào)試傳感器的某個(gè)特性時(shí),我們只要實(shí)時(shí)的操作手機(jī)就可以達(dá)到傳感器參數(shù)的實(shí)時(shí)傳遞。2.7小結(jié)小結(jié)本章主要介紹了 android 平臺的系統(tǒng)框架結(jié)構(gòu)、程序應(yīng)用框架的基礎(chǔ)知識和傳感器技術(shù)的相關(guān)知識以及其在智能手

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論