Android中傳感器的使(shi)用
時間:2018-09-25 來源:未(wei)知
我們在Android中經常(chang)使用一(yi)些傳感器(qi),下面(mian)是API定(ding)義的幾個傳感器(qi)常(chang)量:

我們(men)在使用傳(chuan)感(gan)器時一般遵循以(yi)(yi)下步驟,我們(men)以(yi)(yi)加速傳(chuan)感(gan)器為例。
首先(xian),獲得相應的傳(chuan)感(gan)器管理器。
sensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);
其(qi)次,為傳感器(qi)注(zhu)冊監聽器(qi),我們這(zhe)里使用(yong)的是加速傳感器(qi)。
Sensor sensor = ensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this,sensor , SensorManager.SENSOR_DELAY_FASTEST);
第一個參(can)數(shu)是(shi)對應的加(jia)速傳感器的屬性;第三個參(can)數(shu)是(shi)模式(shi)的選擇,此處的DELAY_FASTEST
表示獲得傳感器數(shu)據(ju)的(de)速(su)度,這里所寫(xie)的(de)表示盡可能快的(de)接收數(shu)據(ju)。除此之外,我們還(huan)有如下(xia)幾種模式:
SENSOR_DELAY_GAME 如果利用傳感器開發游(you)戲(xi),建議使(shi)(shi)用該值(zhi)。 一般大(da)多(duo)數實時行較高的游(you)戲(xi)使(shi)(shi)用該級別。
SENSOR_DELAY_NORMAL 默認(ren)的(de)獲取傳感器數(shu)據的(de)速度。標(biao)準延遲(chi),對于一(yi)般的(de)益智類游戲或者EASY界(jie)別的(de)游戲可(ke)以使用,但過低的(de)采樣率可(ke)能對一(yi)些賽車類游戲有跳幀的(de)現象(xiang)。
SENSOR_DELAY_UI 若使(shi)用傳感器更新UI, 建(jian)議(yi)使(shi)用該(gai)值。
然后,當我(wo)們(men)為傳感器(qi)使用(yong)(yong)了監聽。我(wo)們(men)需(xu)要(yao)實(shi)現具體的監聽方法,而在Android中(zhong),應用(yong)(yong)程序(xu)使用(yong)(yong)傳感器(qi),主(zhu)要(yao)依賴于android.hardware.SensorEventListener接口(kou):
Public class UpdateService extends Service implements SensorEventListener {
public void onSensorChanged(SensorEvent event) {
}
}
當傳(chuan)感器的值(zhi)發(fa)生(sheng)變化時,執行(xing)onSensorChanged中(zhong)的方法。具體實現的方法就不在(zai)這里贅述了。

