輕松學Android開發(fā)之Android傳感器Sensor_第1頁
輕松學Android開發(fā)之Android傳感器Sensor_第2頁
輕松學Android開發(fā)之Android傳感器Sensor_第3頁
輕松學Android開發(fā)之Android傳感器Sensor_第4頁
輕松學Android開發(fā)之Android傳感器Sensor_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12章Android傳感器--Sensor在Android系統(tǒng)中,提供了對傳感器的支持。通過使用傳感器,可以開發(fā)出很多新奇有趣的程序。小到水平儀、電子羅盤,大到各種傳感器的游戲。這一應用大大增強了用戶體驗度。這一章節(jié)我們來學習傳感器的開發(fā)及應用。12.1傳感器開發(fā)在開發(fā)傳感器應用之前,首先了解傳感器的開發(fā)過程。以及下載SensorSimulator,供模擬器模擬傳感器應用。12.1.1系統(tǒng)傳感器Android系統(tǒng)提供的傳感器如表12-1所列。

12.1.2傳感器開發(fā)過程在Android平臺下開發(fā)傳感器應用程序,分為以下幾個步驟:(1)調(diào)用Context.getSystemService(SENSOR_SERVICE)方法獲取傳感器管理服務。(2)調(diào)用SensorManager的getDefaultSensor(inttype)方法,獲取指定類型的傳感器。(3)在Activity的onResume()中,調(diào)用SensorManager的registerListener(SensorEventListener

listener,Sensor

sensor,intrate)方法注冊監(jiān)聽。rate支持的參數(shù)如下::延遲0ms,;:延遲20ms,適合游戲的頻率;:延遲60ms,適合普通界面的頻率;:延遲200ms,正常頻率;(4)實現(xiàn)SensorEventListener接口中下列兩個方法,監(jiān)聽并取得傳感器Sensor的狀態(tài)。12.1.3真機測試由于我們以往使用的模擬器不支持傳感器感應功能,所以本章示例都在真機進行測試(筆者使用的是支持Android

4.0的PAD)。下面介紹真機測試步驟。(1)設置PAD為USB調(diào)試模式。選擇“設置”|“開發(fā)人員選項”|“USB調(diào)試”。(2)用USB數(shù)據(jù)線連接PAD和電腦。使用360手機助手,下載驅(qū)動,確保連接成功。(3)在DOS窗口下執(zhí)行c:\adbdevices,查看PAD是否已經(jīng)連接成功。(4)執(zhí)行真機調(diào)試操作。在Eclipse中,右擊要運行的項目文件|RunAs|RunConfigurations…,打開RunConfigurations對話框。在對話框的左側(cè)選中項目名稱。在右側(cè)打開Target面板,選中“Launchonallcompatibledevices/AVD's”,再通過下拉菜單選擇“Activedevices”。然后,單擊“Apply”按鈕應用。最后,單擊“Run”按鈕,程序在真機中運行。12.2常用傳感器在Android系統(tǒng)中提供了10余種傳感器,接下來我們選擇幾種常用的傳感器,一一介紹其開發(fā)及應用。12.2.1加速度傳感器加速度傳感器(Accelerometer)簡稱G-sensor,主要用于感應設備的運動。該傳感器捕獲三個參數(shù),分別表示空間坐標系中X、Y、Z軸方向上的加速度減去重力加速度在相應軸上的分量,其單位均為m/s2?!臼纠?2-1】下面通過一個具體的案例來演示加速度傳感器的開發(fā)。12.2.2磁場傳感器磁力傳感器(MagneticField)簡稱為M-sensor,主要感應設備的磁場變化。該傳感器捕獲X、Y、Z三個軸上的環(huán)境磁場數(shù)據(jù)。該數(shù)值的單位是微特斯拉(micro-Tesla),用uT表示?!臼纠?2-2】下面通過一個具體的案例來演示磁場傳感器的開發(fā)。12.2.3方向傳感器方向傳感器(Orientation)簡稱為O-sensor,主要感應方位的變化?,F(xiàn)在已經(jīng)被SensorManager.getOrientation()所取代,我們可以通過磁力計MagneticField和加速度傳感器Accelerometer來獲得方位信息。該傳感器同樣捕獲三個參數(shù),分別代表手機沿傳感器坐標系的X軸、Y軸和Z軸轉(zhuǎn)過的角度。values[0]:azimuth方向角,但用(磁場+加速度)得到的數(shù)據(jù)范圍是(-180~180)。也就是說,0表示正北,90表示正東,180/-180表示正南,-90表示正西。而直接通過方向感應器數(shù)據(jù)范圍是(0~359)360/0表示正北,90表示正東,180表示正南,270表示正西。values[1]:pitch傾斜角,圍繞X軸的旋轉(zhuǎn)角。由靜止狀態(tài)開始,前后翻轉(zhuǎn),取值范圍為-180度到180度。values[2]:roll旋轉(zhuǎn)角,圍繞Y軸的旋轉(zhuǎn)角。由靜止狀態(tài)開始,左右翻轉(zhuǎn),取值范圍為-90度到90度。【示例12-3】下面通過一個具體的案例來演示方向傳感器的開發(fā)。12玻.2號.4重力襪傳感完器重力蓮傳感游器(Gr沫av碰it度y)簡竄稱GV辜-s廚en閣so鴉r,主點要用裁于輸丑出重愁力數(shù)腸據(jù)。遍在地寄球上朵,重受力數(shù)優(yōu)值為9.川8,單皇位是m/團s^股2。坐誕標系堡統(tǒng)與瓦加速沾度傳植感器衣坐標吐系相舒同。烤當設薪備復播位時住,重贏力傳娘感器尚的輸胸出與捷加速下度傳到感器乖相同盈?!臼纠?2旗-4草】下面晨通過途一個子具體旺的案疊例來租演示協(xié)重力區(qū)傳感削器的維開發(fā)眠。12嚷.2喪.5亮度檢傳感嘉器亮度儉傳感低器(Li坡gh耳t),維主要借用來護檢測廈設備數(shù)周圍光線睡強度愉。光撈強單寺位是容勒克豬斯(lu戰(zhàn)x),哈其物享理意屠義是越照射稈到單寨位面災積上補的光容通量?!臼纠?2墳-5狗】下面媽通過踐一個丈具體右的案佳例來已演示樓亮度火傳感暈器的送開發(fā)悉。12收.3小結(jié)本章添內(nèi)容串主要躁講解粗了An放dr屢oi令d系統(tǒng)峽中,鑼常用汁傳感俊器的舞開發(fā)些及應槍用。棟本章償重點宿在于燙如何碧在真燃機上本測試詢自己謠開發(fā)掃的應種用程吊序,剖我們頑開發(fā)毅的程叉序最喇終都月是運望行在飯真機毒

溫馨提示

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

評論

0/150

提交評論