Android實現計步器功能
本文實例為大家分享了Android實現計步器功能的具體代碼,供大家參考,具體內容如下
計步器的原理是通過手機的前后擺動模擬步伐節奏檢測。我們本身在手機的傳感器中就有計步器的傳感器,所以這里我們直接上代碼。
activity_main.xml
<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical' > <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:padding='5dp' android:text='設備檢測到您當前走了0步,總計數為0步' android:textColor='@color/black' android:textSize='17sp' /></LinearLayout>
MainActivity.java
public class MainActivity extends BaseActivity implements SensorEventListener { private TextView tv_step; private SensorManager mSensorMgr;// 聲明一個傳感管理器對象 private int mStep; private int mStepCount; @Override protected MvcBaseModel getModelImp() { return null; } @Override protected int getContentLayoutId() { return R.layout.activity_main; } @Override protected void initWidget() { tv_step = findViewById(R.id.tv_step); // 從系統服務中獲取傳感管理器對象 mSensorMgr = (SensorManager) getSystemService(Context.SENSOR_SERVICE); } @Override protected void onPause() { super.onPause(); // 注銷當前活動的傳感監聽器 mSensorMgr.unregisterListener(this); } @Override protected void onResume() { super.onResume(); //注冊步行檢測 mSensorMgr.registerListener(this, mSensorMgr.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR), SensorManager.SENSOR_DELAY_NORMAL); //注冊步行計數 mSensorMgr.registerListener(this, mSensorMgr.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR), SensorManager.SENSOR_DELAY_NORMAL); } @Override public void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_STEP_DETECTOR){//步行檢測事件 if (event.values[0] == 1.0f){ mStep++; } }else if (event.sensor.getType() == Sensor.TYPE_STEP_COUNTER){//計步器事件 mStepCount = (int) event.values[0]; } String desc = String.format('設備檢測到您當前走了%d步,總計數為%d步',mStep,mStepCount); tv_step.setText(desc); } //當傳感器精度改變時回調該方法,一般無需處理 public void onAccuracyChanged(Sensor sensor, int accuracy) {}}
這樣我們就實現了計步器的功能。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: