package com.m_hi.android;
import java.util.List;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class CheckAccelerometerActivity extends Activity {
/** Called when the activity is first created. */
SensorAdapter ad;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
List
TextView comment = (TextView) findViewById(R.id.comment);
String val = "サポートセンサー\n";
for (Sensor s : sensors) {
val += s.getName() + "\n";
}
comment.setText(val);
ad = new SensorAdapter(findViewById(R.id.lvaluex),
findViewById(R.id.lvaluey), findViewById(R.id.lvaluez));
}
@Override
protected void onDestroy() {
super.onDestroy();
ad.stopSensor();
}
class SensorAdapter implements SensorEventListener {
private SensorManager manager;
private TextView vx;
private TextView vy;
private TextView vz;
public SensorAdapter(View vx, View vy, View vz) {
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
this.vx = (TextView) vx;
this.vy = (TextView) vy;
this.vz = (TextView) vz;
List
.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0) {
Sensor s = sensors.get(0);
manager.registerListener(this, s, SensorManager.SENSOR_DELAY_UI);
}
}
public void stopSensor() {
manager.unregisterListener(this);
this.vx = null;
this.vy = null;
this.vz = null;
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
vx.setText("" + event.values[0]);
vy.setText("" + event.values[1]);
vz.setText("" + event.values[2]);
}
}
}
}
コメント書くめんどすぎて人生諦めた
加速度なにも与えないのに起動したら常にZ軸に10くらい加速度かかってるんだけどなんでか教えてくだしゃい