私はAndroid用に開発中の加速度計アプリを持っています。「開始」ボタンと「停止」ボタンでアクティビティを開始して停止したいと考えています。コード自体にボタンを実装するのに問題があり、私はいくつかの助けを求めています。ここに私のメインのJavaファイルがあります。ボタンによる処理の開始と停止
package com.*****.accelo;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Button;
import android.view.View.OnClickListener;
public abstract class AcceloActivity extends Activity implements SensorEventListener,
OnClickListener {
TextView textViewX, textViewY, textViewZ, textViewError;
String blank;
Button buttonStop, buttonStart;
StringBuilder builderx = new StringBuilder();
StringBuilder buildery = new StringBuilder();
StringBuilder builderz = new StringBuilder();
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textViewError = (TextView) findViewById(R.id.textViewError);
textViewX = (TextView) findViewById(R.id.textViewX);
textViewY = (TextView) findViewById(R.id.textViewY);
textViewZ = (TextView) findViewById(R.id.textViewZ);
buttonStart = (Button) findViewById(R.id.buttonStart);
buttonStop = (Button) findViewById(R.id.buttonStop);
//Button listener
buttonStart.setOnClickListener(this);
buttonStop.setOnClickListener(this);
SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor accelerometer = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if(!manager.registerListener(this, accelerometer,
SensorManager.SENSOR_DELAY_UI)){
}
textViewX.setText(blank);
textViewY.setText(blank);
textViewZ.setText(blank);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
builderx.setLength(0);
buildery.setLength(0);
builderz.setLength(0);
builderx.append("X: " + event.values[0]);
buildery.append("Y: "+ event.values[1]);
builderz.append("Z: " + event.values[2]);
textViewX.setText(builderx.toString());
textViewY.setText(buildery.toString());
textViewZ.setText(builderz.toString());
textViewError.setText(blank);
}
ありがとうございます!
コードは更新されましたが、ボタンを実際に使用してセンサーリスナーを開始して終了する方法はまだ不明です。 – Slicekick
@ Slicekick - あなたのプロジェクトを始める際にいくつかの考えを提供するために編集されました。 – Carth
@ Slicekick - 私はあなたがセンサーリスナーを開始して停止するとは思わない。センサーからリスナーを登録および登録解除します。センサー自体は引き続きオンになります。あなたのアプリケーションはそれに注意を払うのを止めるだけです。 http://developer.android.com/reference/android/hardware/SensorManager.html – Carth