android开发分享Android实现计步器功能

本文实例为大家分享了android实现计步器功能的具体代码,供大家参考,具体内容如下计步器的原理是通过手机的前后摆动模拟步伐节奏检测。我们本身在手机的传感器中就有计步器的传感器,所以这里我们直接上代码

android开发分享Android实现计步器功能实例为大家分享了android实现计步器功能的具体代码,供大家参考,具体内容如下

计步器的原理是通过手机的前后摆动模拟步伐节奏检测。我们本身在手机的传感器中就有计步器的传感器,所以这里我们直接上代码。

activity_main.xml

  <?xml version="1.0" encoding="utf-8"?>  <linearlayout xmlns:android="https://schemas.android.com/apk/res/android"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:orientation="vertical" >      <textview    android:id="@+id/tv_step"    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) {}  }

这样我们就实现了计步器的功能。

以上就是android开发分享Android实现计步器功能的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/889389.html

(0)
上一篇 2021年10月19日
下一篇 2021年10月19日

精彩推荐