Android 計(jì)步功能-簡(jiǎn)單實(shí)現(xiàn)

使用Android4.4 Kitkat 新增的STEP DETECTOR 以及 STEP COUNTER傳感器机杜。

官方介紹:

TYPE_STEP_COUNTER:計(jì)步器(記錄歷史步數(shù)累加值)

int TYPE_STEP_COUNTER

A constant describing a step counter sensor.

A sensor of this type returns the number of steps taken by the user since the last reboot while activated. The value is returned as a float (with the fractional part set to zero) and is reset to zero only on a system reboot. The timestamp of the event is set to the time when the last step for that event was taken. This sensor is implemented in hardware and is expected to be low power. If you want to continuously track the number of steps over a long period of time, do NOT unregister for this sensor, so that it keeps counting steps in the background even when the AP is in suspend mode and report the aggregate count when the AP is awake. Application needs to stay registered for this sensor because step counter does not count steps if it is not activated. This sensor is ideal for fitness tracking applications. It is defined as an REPORTING_MODE_ON_CHANGEsensor.

See SensorEvent.values for more details.

Constant Value: 19 (0x00000013)

TYPE_STEP_DETECTOR:檢測(cè)器(檢測(cè)每次步伐數(shù)據(jù))

int TYPE_STEP_DETECTOR

A constant describing a step detector sensor.

A sensor of this type triggers an event each time a step is taken by the user. The only allowed value to return is 1.0 and an event is generated for each step. Like with any other event, the timestamp indicates when the event (here the step) occurred, this corresponds to when the foot hit the ground, generating a high variation in acceleration. This sensor is only for detecting every individual step as soon as it is taken, for example to perform dead reckoning. If you only need aggregate number of steps taken over a period of time, register for TYPE_STEP_COUNTER instead. It is defined as a REPORTING_MODE_SPECIAL_TRIGGER sensor.

See SensorEvent.values for more details.

Constant Value: 18 (0x00000012)

使用內(nèi)容:
Sensor:
SensorEvent:
SensorManager:
SensorEventListener:

使用:
1帜讲、使用傳感器之前首先獲取SensorManager通過(guò)系統(tǒng)服務(wù)獲取:
SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

2椒拗、獲取我們需要的傳感器類(lèi)型:
//單次有效計(jì)步
Sensor mStepCount = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
//系統(tǒng)計(jì)步累加值
Sensor mStepDetector = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);

3似将、注冊(cè)監(jiān)聽(tīng)者(監(jiān)聽(tīng)傳感器事件)
mSensorManager.registerListener(this, mStepDetector, SensorManager.SENSOR_DELAY_FASTEST);

mSensorManager.registerListener(this, mStepCount, SensorManager.SENSOR_DELAY_FASTEST);

PS:取消注冊(cè):
mSensorManager.unregisterListener(this, mStepDetector);

mSensorManager.unregisterListener(this, mStepCount);

4、實(shí)現(xiàn)SensorEventListener接口蚀苛,重寫(xiě)方法并獲取數(shù)據(jù):
從監(jiān)聽(tīng)到的傳感器事件中選取合適的類(lèi)型在验,獲得數(shù)據(jù):
@Override

public void onSensorChanged(SensorEvent event) {

if (event.sensor.getType() == *sensorTypeC*) {

        //event.values[0]為計(jì)步歷史累加值

    tvAllCount.setText(event.values[0] + "步");

}

if (event.sensor.getType() == *sensorTypeD*) {

    if (event.values[0] == 1.0) {

        mDetector++;

        //event.values[0]一次有效計(jì)步數(shù)據(jù)

        tvTempCount.setText(mDetector + "步");

    }

}

}

Summary

1、計(jì)步器數(shù)據(jù)會(huì)在手機(jī)重啟后清零堵未,因此此處需要注意根據(jù)需要來(lái)做數(shù)據(jù)保護(hù)腋舌。
2、計(jì)步器啟動(dòng)需要在檢測(cè)器啟動(dòng)的基礎(chǔ)上才能實(shí)現(xiàn)兴溜,因此要先啟動(dòng)檢測(cè)器侦厚。
3、

資料:
Android4.4 新增傳感器
http://blog.objcc.com/android-4-4-kitkat-sensor-batching/

官方文檔:
https://developer.android.com/reference/android/hardware/Sensor.html#STRING_TYPE_STEP_COUNTER

android中的計(jì)步問(wèn)題及計(jì)步傳感器分析
http://www.cfanz.cn/index.php?c=article&a=read&id=250334

一個(gè)簡(jiǎn)單的計(jì)步器使用Demo:
http://blog.csdn.net/aikongmeng/article/details/40457233

另一種方法實(shí)現(xiàn)計(jì)步數(shù)據(jù)
http://blog.csdn.net/finnfu/article/details/45273183

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拙徽,一起剝皮案震驚了整個(gè)濱河市刨沦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膘怕,老刑警劉巖想诅,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異岛心,居然都是意外死亡来破,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)忘古,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)徘禁,“玉大人,你說(shuō)我怎么就攤上這事髓堪∷椭欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵干旁,是天一觀的道長(zhǎng)驶沼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)争群,這世上最難降的妖魔是什么回怜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮换薄,結(jié)果婚禮上玉雾,老公的妹妹穿的比我還像新娘翔试。我一直安慰自己,他們只是感情好抹凳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布遏餐。 她就那樣靜靜地躺著伦腐,像睡著了一般赢底。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柏蘑,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天幸冻,我揣著相機(jī)與錄音,去河邊找鬼咳焚。 笑死洽损,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的革半。 我是一名探鬼主播碑定,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼又官!你這毒婦竟也來(lái)了延刘?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤六敬,失蹤者是張志新(化名)和其女友劉穎碘赖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體外构,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡普泡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了审编。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撼班。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖垒酬,靈堂內(nèi)的尸體忽然破棺而出砰嘁,到底是詐尸還是另有隱情,我是刑警寧澤伤溉,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布般码,位于F島的核電站,受9級(jí)特大地震影響乱顾,放射性物質(zhì)發(fā)生泄漏板祝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一走净、第九天 我趴在偏房一處隱蔽的房頂上張望券时。 院中可真熱鬧孤里,春花似錦、人聲如沸橘洞。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)炸枣。三九已至虏等,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間适肠,已是汗流浹背霍衫。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留侯养,地道東北人敦跌。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像逛揩,于是被迫代替她去往敵國(guó)和親柠傍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容