怎么通过加速传感器来获取甩手机的力度
能给源码最好

解决方案 »

  1.   

    这个不简单呀,添加HAL层,再在应用层写个APP就可以了
      

  2.   

    不简单,我注定杯具了!我学android还没1个星期
      

  3.   

    牛2定律学过的有木有,F=ma有木有, m固定a越大F就越大有木有
      

  4.   

    实现SensorEventListener 接口 public void onSensorChanged(SensorEvent event) {
    long curTime = System.currentTimeMillis();
    float speed = 0;
    float x = 0;
    float y = 0;
    float z = 0;
    if ((curTime - lastUpdate) > CHECK_THRESHOLD) {
    long diffTime = (curTime - lastUpdate);
    lastUpdate = curTime;
    x = event.values[SensorManager.DATA_X];
    y = event.values[SensorManager.DATA_Y];
    z = event.values[SensorManager.DATA_Z];
    speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 100;
    if (speed > SHAKE_THRESHOLD) {
    //在这里计算出摇晃手机的速度 
    }
    }
    }
    }
      

  5.   

    搞不懂为什么要求出那个力,你知道加速度不就可以了,反正F=ma,f和a成正比的啊
    这样你把用f的地方用a来反映就好了。估计真的如楼上几位所说,书读多了吧。
      

  6.   

    天下代码一般抄,这几行代码看过无数遍了,一直在找求手机位移的代码,你的代码里Data_x是加速度好不好,这也注定你求出的不是手机移动速度。
      

  7.   

    Vt = a*t,可以取出小段的时间间隔,可以更据你的取样率来定,这样就可以得出出瞬时速度!