我需要在走路时数数步数。所以我正在使用加速度计。在上面的编码中,我得到加速度计传感器的 x、y、z 值。这是我到目前为止所做的。我的问题是 x,y,z 走路时如何计算步数? 我从链接中得到以下代码
http://pedometer.googlecode.com/svn/trunk/src/name/bagi/levente/pedometer/Pedometer.java
我的代码:
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class Accelerometer extends Activity implements AccelerometerListener {
private static Context CONTEXT;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
CONTEXT = this;
}
protected void onResume() {
super.onResume();
if (AccelerometerManager.isSupported()) {
AccelerometerManager.startListening(this);
}
}
protected void onDestroy() {
super.onDestroy();
if (AccelerometerManager.isListening()) {
AccelerometerManager.stopListening();
}
}
public static Context getContext() {
return CONTEXT;
}
/**
* onShake callback
*/
public void onShake(float force) {
Toast.makeText(this, "Phone shaked : " + force, 1000).show();
}
/**
* onAccelerationChanged callback
*/
public void onAccelerationChanged(float x, float y, float z) {
((TextView) findViewById(R.id.x)).setText(String.valueOf(x));
((TextView) findViewById(R.id.y)).setText(String.valueOf(y));
((TextView) findViewById(R.id.z)).setText(String.valueOf(z));
}
}
请帮帮我。
最佳答案
你不会在这里找到一个简单的代码来计算步数(它太复杂了)。但是如果您有兴趣,那里有信息:
有很好的图表和步骤分析here (in pdf) .
您可以在此处找到更正式的出版物:http://portal.acm.org/citation.cfm?id=1554235
如果你想创建一个灵敏的计步器(建议为老年人),我建议你从这篇论文开始: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4575030
关于android - 如何在android中使用加速度计计算步数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6125862/