『壹』 Android 搖一搖功能簡單實現
目前市場上很多應用都有著搖一搖功能,晃動手機就能夠達到頁面跳轉等效果,本期我們實現一個簡單的搖一搖功能Android demo。
在實現搖一搖功能之前,我們首先對Android 平台的感測器進行簡單說明。
多數的Android手機中都有著內置感測器,用來測量運動,屏幕方向和各種環境條件。這些感測器能夠提供比較高精度的原始數據,對於設備的定位,三維移動及設備周圍環境的變化能夠進行監測。
那麼Android平台支持的感測器有哪些呢?
通常來說,Android平台支持的三大類:
顯然搖一搖動作時需要對動態感測器進行監聽,通過對感測器獲得的加速度參數進行判斷,判斷用戶是否搖動了手機。
從上述的感測器類型上來看,我們需要使用的是動態感測器。
Android平台支持多種動態感測器,常用的幾項如下:
上面便是常見的Android支持的動態感測器了,詳細說明可以參考 Android感測器說明官方文檔 .
本文著重說明的是 TYPE_ACCELEROMETER 來實現搖一搖監聽。
首先我們需要實現一個加速度感測器的實例:
然後我們需要設置一個監聽,通過計算三維方向上的加速度變化率來決定搖一搖動作是否要被觸發:
其中iSensorCallBack是我們設置的一個監聽回調:
這樣搖一搖動作的監聽及回調就基本設置完成了。
但是在使用動態感測器時還需要注意感測器的監聽注冊及取消注冊,API為我們提供了方法:
這樣的話我們就可以在需要使用搖一搖功能是調用 register 方法注冊,而在需要停止搖一搖監聽時調用 unregister 移除注冊。
如上,這樣我們就實現了一個搖一搖簡單demo。
Android感測器說明官方文檔