1秒間に100個の加速度計の読み取り値を取得しようとしていますが、100個の読み取り値の代わりに1回同じ読み取り値を100回返します。OnSensorChanged()ループ内の値を変更しません
私は私は私のアプリでボタンを押したときに私MainActivityは、加速度計は、(X軸)を読み取る場所です
float ax;
という名前のこの変数を持っているこれらの100回の加速度計の測定値を表示しようとしている
継続的に記憶される。
と私BuildTable((アプリケーション自体に出力を表示する)BuildTable()関数
をトリガ私のOnCreate関数()メソッド
button = (Button)findViewById(R.id.startbutton); //inits button
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BuildTable();
}
});
このボタンのコードを持っている)を有していますこの
public void BuildTable()
{
TableRow trow = new TableRow(this);
TextView text = new TextView(this);
int count = 0;
while (count < 100)
{
if(System.currentTimeMillis() - lasttime >= 10)
{
lasttime = System.currentTimeMillis();
text = new TextView(this);
Log.d("MyApp","ax is: "+ax);
text.setText(""+ax);
trow = new TableRow(this);
trow.addView(text);
table.addView(trow,count);
count++;
}
}
}
とOnSensorChanged()関数のようなものは、この
のように見えます@Override
public void onSensorChanged(SensorEvent event) {
ax = event.values[0];
}
axを更新するだけです。
ボタンをクリックすると、axの更新が一時停止しますか?どのように私はこれを修正するのですか?
@Override
public void onSensorChanged(SensorEvent event)
{
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
{
ax = event.values[0];
}
}
ですから、(System.currentTimeMillis() - lasttime> = 10)が起動していることを確認しましたか?読書は賢明ですか?アプリを実行するたびに、まったく同じ値ですか、毎回異なるのですか? –
onSensorChangedをトリガーする加速度センサーでも、他のセンサーではない加速度センサーでも分かりますか? –
タイミングコードが動作し、100回読むことができます。実際の問題は100回同じ読み取りです –