안드로이드 개발 질문/답변
(글 수 45,052)
센서 값 알아오는 간단한 어플을 만드는 중인데요
첨부파일에 붙여놨어요
적어도 텍스트 값이라도 떠야돼는데 다짜고자 에뮬에서 false 만 뜨네요
코드는 이렇습니다
package com.Sensorss;
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.util.Log;
import android.widget.TextView;
public class Sensorss extends Activity implements SensorEventListener {
SensorManager sensorManager = null;
//for accelerometer values
TextView outputX = new TextView(this);
TextView outputY = new TextView(this);
TextView outputZ = new TextView(this);
//for orientation values
TextView outputX2 = new TextView(this);
TextView outputY2 = new TextView(this);
TextView outputZ2 = new TextView(this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
setContentView(R.layout.main);
//just some textviews, for data output
outputX = (TextView) findViewById(R.id.TextView01);
outputY = (TextView) findViewById(R.id.TextView02);
outputZ = (TextView) findViewById(R.id.TextView03);
outputX2 = (TextView) findViewById(R.id.TextView04);
outputY2 = (TextView) findViewById(R.id.TextView05);
outputZ2 = (TextView) findViewById(R.id.TextView06);
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME);
}
@Override
protected void onStop() {
super.onStop();
sensorManager.unregisterListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
sensorManager.unregisterListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION));
}
/*
public void onSensorChanged(SensorEvent event) {
synchronized (this) {
switch (event.sensor.getType()){
case Sensor.TYPE_ACCELEROMETER:
outputX.setText("xfgxfbxfb");
outputY.setText("y:"+Float.toString(event.values[1]));
outputZ.setText("z:"+Float.toString(event.values[2]));
break;
case Sensor.TYPE_ORIENTATION:
outputX2.setText("x:"+Float.toString(event.values[0]));
outputY2.setText("y:"+Float.toString(event.values[1]));
outputZ2.setText("z:"+Float.toString(event.values[2]));
break;
}
}
}
*/
@Override
public void onSensorChanged(SensorEvent event) { //
synchronized (this) {
Sensor sensor = event.sensor;
Log.d("tag", "onSensorChanged: " + event.sensor + ", x: " + event.values[0] + ", y: " + event.values[1] + ", z: " + event.values[2]);
if (sensor.getType() == SensorManager.SENSOR_ORIENTATION)
{
outputX.setText("Orientation X: " + event.values[0]);
outputY.setText("Orientation Y: " + event.values[1]);
outputZ.setText("Orientation Z: " + event.values[2]);
}
if (sensor.getType() == SensorManager.SENSOR_ACCELEROMETER)
{
outputX2.setText("Accel X: " + event.values[0]);
outputY2.setText("Accel Y: " + event.values[1]);
outputZ2.setText("Accel Z: " + event.values[2]);
}
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
}
센서는 어찌돼는 갠찮으니 텍스트 뷰 에 어떤문제가 있을까요?ㅠ.ㅠ
그리고 자이로,G센서같은 센서류는 에뮬에서는 동작안하는걸로....압니다