package a.aim;
import android.app.Activity;
import android.os.Bundle;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.widget.*;
public class aim extends Activity {
/** Called when the activity is first created. */
SensorManager sm;
SensorEventListener acc;
Sensor accSensor;
TextView x, y, z;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sm = (SensorManager)getSystemService(SENSOR_SERVICE); // SensorManager 인스턴스를 가져옴
accSensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); // 가속도 센서
acc = new accListener(); // 가속도 센서 리스너 인스턴스
x = (TextView)findViewById(R.id.x);
y = (TextView)findViewById(R.id.y);
z = (TextView)findViewById(R.id.z);
}
@Override
public void onResume() {
super.onResume();
sm.registerListener(acc, accSensor, SensorManager.SENSOR_DELAY_GAME); // 가속도 센서 리스너 오브젝트를 등록
}
@Override
public void onPause() {
super.onPause();
sm.unregisterListener(acc); // unregister orientation listener
}
private class accListener implements SensorEventListener {
public void onSensorChanged(SensorEvent event) { // 가속도 센서 값이 바뀔때마다 호출됨
x.setText(Float.toString(event.values[0]));
y.setText(Float.toString(event.values[1]));
z.setText(Float.toString(event.values[2]));
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Aim 센서값테스트"
android:gravity = "center" android:textSize = "15sp"
/>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="X : "
/>
<TextView android:id = "@+id/x"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Y : "
/>
<TextView android:id = "@+id/y"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Z : "
/>
<TextView android:id = "@+id/z"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
'IT > Android' 카테고리의 다른 글
DroidDraw(안드로이드 UI 개발툴) (2) | 2011.01.28 |
---|---|
센서 데이터 처리과정 (1) | 2011.01.24 |
안드로이드개발 wifi통신 예제소스 (1) | 2011.01.15 |
안드로이드 라이브러리 (0) | 2011.01.13 |
안드로이드 가속도센서 좌표계및 값 정리 (0) | 2011.01.13 |