2011-06-17 29 views
1

我有这样的代码:如何存储加速计值

public class Chronom extends Activity 
{ 

    Chronometer mChronometer; 
    ProgressBar progre; 

    int total=1; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     //layout 
     setContentView(R.layout.main7watingscreen); 

     //Start Chronometer 
     mChronometer = (Chronometer) findViewById(R.id.chrono1); 
     mChronometer.start(); 

     progre = (ProgressBar) findViewById(R.id.progressBar1); 

     MyCount counter = new MyCount(31000,300); 
     counter.start(); 
    } 


    public class MyCount extends CountDownTimer 
     { 
      public MyCount(long millisInFuture, long countDownInterval) 
      { 
       super(millisInFuture, countDownInterval); 
      } 
      @Override 
      public void onFinish() 
      { 
       Intent myIntent = new Intent(Chronom.this, MainMenu.class); 
       startActivityForResult(myIntent, 0); 
      } 
      @Override 
      public void onTick(long millisUntilFinished) 
      { 
       total++; 
       progre.setProgress(total);   
      } 

     } 

,我想存储加速度值(x,y和z)例如向量内(也可以是其他形式,我想知道你的意见)。

但我想在进度条满了的同时做这件事(它在30秒后停止)。就像在1秒开始储存并在30秒后停止一样。

如果你不明白我的问题,请说出来,我会更好地解释它。

怎么办?请帮忙!

回答

1

通过onSensorChanged()回调(请参阅SensorListener参考),您可以在每次更改传感器值时获取传感器值。 您不能在设定的时间查询传感器数据。

有是围绕一个办法:有听众每次改变(即onSensorChanged()方法内)保存的值,并且使用定时器查询这些保存的值。例如,您可以使用static float[]阵列或SharedPreferences值。

+0

谢谢Aleadam = D – Ricardo