Android感應器---Motion Sensor(一)

來源:互聯網
上載者:User

Android平台提供了幾個能夠監視裝置移動的感應器。其中的兩個是基於硬體的(加速度感應器和陀螺儀),有三個感應器既可以是基於硬體的,也可以是基於軟體的(重力感應器、線性加速度感應器和旋轉向量感應器)。例如,在某些基於軟體感應器的裝置上會從加速度感應器和磁力儀中提取它們的資料,但是在其他的裝置上,它們也可以使用陀螺儀來提取資料。大多數Android裝置都有加速度感應器和陀螺儀。基於軟體的感應器的有效性是可變的,因為它們要依賴一個或多個硬體感應器來提取對應的資料。

動作感應器用於監視裝置的移動,如:傾斜、震動、旋轉或擺動。移動通常是直接的使用者輸入的反映(如,使用者在遊戲中操作汽車或控制一個球),但也能夠是裝置所處的實體環境的反映(如,駕駛汽車時的位置移動)。在第一種情境中,你要相對於裝置的參照系或應用程式的參照系來監視裝置的移動,在第二種情境中,你要相對於全球參照系來監視裝置的移動。

通常,移動感應器本身並不用於監視裝置的位置,但它們能夠跟其他感應器一起來使用,例如跟地磁感應器一起來判斷裝置相對於全球參照系統的的位置(更多資訊,請看定位感應器)。

所有的移動感應器的每個SensorEvent都會返回感應器值的多維陣列。例如,一個加速度感應器的感應器事件會返回三個座標軸方向的加速度力,陀螺儀會返回三個座標軸方向旋轉速率。這些資料是以float數組的形式跟SensorEvent參數一起被返回的。表1概要介紹了Android平台上可用的移動感應器。

表1.Android平台所支援的移動感應器

感應器
 感應器資料
 描述
 測量單位
 
TYPE_ACCELEROMETER
 SensorEvent.values[0]
 X軸方向的加速力(包括重力)
 m/s2
 
SensorEvent.values[1]
 Y軸方向的加速力(包括重力)
 
SensorEvent.values[2]
 Z軸方向的加速力(包括重力)
 
TYPE_GRAVITY
 SensorEvent.values[0]
 X軸方向的重力
 m/s2
 
SensorEvent.values[1]
 Y軸方向的重力
 
SensorEvent.values[2]
 Z軸方向的重力
 
TYPE_GYROSCOPE
 SensorEvent.values[0]
 繞著X軸的旋轉率
 rad/s
 
SensorEvent.values[1]
 繞著Y軸的旋轉率
 
SensorEvent.values[2]
 繞著Z軸的旋轉率
 
TYPE_LINEAR_ACCELERATION
 SensorEvent.values[0]
 X軸方向的加速力(不含重力
 m/s2
 
SensorEvent.values[1]
 Y軸方向的加速力(不含重力
 
SensorEvent.values[2]
 Z軸方向的加速力(不含重力
 
TYPE_ROTATION_VECTOR
 SensorEvent.values[0]
 沿著X軸的旋轉向量(x* sin(θ/2)).
 無單位
 
SensorEvent.values[1]
 沿著Y軸的旋轉向量(y* sin(θ/2)).
 
SensorEvent.values[2]
 沿著Z軸的旋轉向量(z* sin(θ/2)).
 
SensorEvent.values[3]
 旋轉向量的標量部分((cos(θ/2)).1
 


1標量部分是一個可選值。

對於移動檢測和監視,旋轉向量感應器和重力感應器是使用頻率最高的感應器。旋轉向量感應器尤其靈活,可廣泛的應用於移動相關的任務,如,檢測手勢、監視角度變化、監視相對的方向變化等。例如:如果你正在開發一款使用2維或3維羅盤來增強現實感遊戲,或增強相機的穩定性的應用程式,那麼旋轉向量感應器是非常理想的選擇。在大多情境中,使用這些感應器比使用加速度感應器和地磁感應器或方向感應器要好。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.