昨天利用vibrator將手機改造成振動器,女票大人很滿意,今天再接再厲,研究一下android感測器如何開發……
主要涉及到三個類,sensor, sensormanager, sensoreventlistener。看名字就知道大概意思了,sensor感測器,sensormanager感測器管理者, sensoreventlistener感測器事件監聽。
sensormanager開發者文件給的類簡介,是這麼介紹的:
sensormanager lets you access the device』s sensors. get an instance但是也有乙個感測器是例外:trigger sensor。不深究,看名字猜一下,應該是不能禁用觸控感測器。of this class bycalling context.getsystemservice()with the argument sensor_service.
always make sure to disable sensors you don』t need, especially when
your activity is paused. failing to do so can drain the battery in
just a few hours. note that the system will not disable sensors
automatically when the screen turns off.
說了一點注意事項,就是當不需要的時候,一定要確保禁用感測器了,否則電量會快速耗盡。
開發者文件的例子很好,拷貝過來講解。
由該例子可知開發感測器應用的大致步驟:public
class
sensoractivity
extends
activity, implements
sensoreventlistener
protected
void
onresume()
protected
void
onpause()
//這是介面類sensoreventlistener必須實現的方法
public
void
onaccuracychanged(sensor sensor, int accuracy)
public
void
onsensorchanged(sensorevent event)
}
1. 呼叫context的getsystemservice(sensor_service)方法來獲取sensormanager物件。
2. 呼叫sensormanager的getdefaultsensor( )方法來獲取指定型別的感測器。
3.在activity的onresume()方法中呼叫sensormanager的registerlistener()方法,為指定的感測器註冊***,程式通過實現***即可獲取感測器傳回來的資料。
registerlistener()方法有三個引數,分別如下:
istener a sensoreventlistener object.最後實現乙個例子,該例子可在《瘋狂的android講義》p622中找到。sensor the sensor to registerto.
samplingperiodus 獲取資料的頻率
public
class
mainactivity
extends
activity
implements
sensoreventlistener
@override
protected
void
onresume()
@override
protected
void
onstop()
@override
public
void
onsensorchanged(sensorevent sensorevent)
@override
public
void
onaccuracychanged(sensor sensor, int i)
}
安卓感測器開發之指南針
很簡單,主要是一些常用感測器的監聽,指南針還是挺好用的。布局 程式 package zhinanzheng.com import android.hardware.sensor import android.hardware.sensorevent import android.hardware.s...
安卓開發中光線感測器的運用步驟
public class mainactivity extends implements sensoreventlistener sensor light manager.getdefaultsensor sensor.type light 獲取光線感測器的管理 onresume 中註冊感測器,先讓...
2 感測器 動作感測器
動作感測器概述 android平台支援一些用於監視裝置動作的感測器 這樣的感測器共有5個 其中兩個 加速感測器和陀螺儀感測器 是純的硬體感測器。另外三個 重力感測器 線性加速感測器和旋轉向量感測器 可能是硬體感測器,也可能是軟體感測器。例如,在一些android裝置中,這些基於軟體的感測器會從加速和...