검색결과 리스트
글
public class MyView extends View implements SensorEventListener { Paint textP; // 화면에 텍스트 출력하기 위한 객체 int heading, pitch, rolling; // 헤딩, 피치, 롤링 public MyView(Context context) { super(context); // 시스템으로부터 센서 매니저 객체 얻어오기 SensorManager sManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); // 센서 리스너 객체, 센서 타입, 센서 민감도를 sManager에 등록하기 sManager.registerListener(this, sManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME); // this: 센서 리스너객체 // 화면에 텍스트 출력 textP = new Paint(); textP.setTextSize(30); textP.setColor(Color.YELLOW); } @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); // 헤딩, 피치, 롤링 값 출력 canvas.drawColor(Color.CYAN); canvas.drawText("Heading: " + heading, 5, 30, textP); canvas.drawText("Pitch: " + pitch, 10, 60, textP); canvas.drawText("Rolling: " + rolling, 15, 90, textP); } // 쓸 일 없음, 지원 안됨 @Override public void onAccuracyChanged(Sensor sensor, int accuracy) {} // 센서값의 변화를 감지해 호출되는 메서드 @Override public void onSensorChanged(SensorEvent event) { switch(event.sensor.getType()) { case Sensor.TYPE_ORIENTATION: // 방향센서 값 감지했을 때 heading = (int)event.values[0]; // 헤딩 pitch = (int)event.values[1]; // 피치 rolling = (int) event.values[2]; // 롤링 invalidate(); // 화면 갱신하기 break; } } }
'프로그래밍 > ㆍAndroid' 카테고리의 다른 글
[Android].class XMLManager - xml에서 파싱 목적 (0) | 2012.02.10 |
---|---|
[Android].project BluetoothChat ( 블루투스 채팅 ) (16) | 2012.02.10 |
[Android].class SoundManager ( 사운드 관리 ) (0) | 2012.02.10 |
[Android].java Activity Lifecycle ( 액티비티 동작 알고리즘 ) (0) | 2012.02.10 |
RECENT COMMENT