2010/09/11 12:04

안드로이드 센서 이용하기 (orientation) 안드로이드

안드로이드 센스를 이용하여

화면에 값을 출력하는 방법.

package com.example.test;

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;

public class Test extends Activity implements SensorEventListener {
  
   
    //여기
    private SensorManager sensorManager;
    private Sensor sensor;
    private TextView a , b, c;
   
    
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
   
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
        
        setContentView(R.layout.main);
        
        a = (TextView)findViewById(R.id.h);
        b = (TextView)findViewById(R.id.p);
        c = (TextView)findViewById(R.id.r);
        
        a.setText("onCreate");
   
    }
   
    @Override
    public void onStart() {
        super.onStart();
   
        if (sensor != null)
            sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME);
    }
   
    @Override
    public void onStop() {
        super.onStop();
   
        if (sensorManager != null)
            sensorManager.unregisterListener(this);
    }
   
    @Override
    protected void onDestroy() {
     super.onDestroy();
    
     if (sensorManager != null)
            sensorManager.unregisterListener(this);
    }
    
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
    }
   
    @Override
    public void onSensorChanged(SensorEvent sensorEvent) {
     if(sensorEvent.sensor.getType()==Sensor.TYPE_ORIENTATION){
     float headingAngle = sensorEvent.values[0];
     float pitchAngle = sensorEvent.values[1];
     float rollAngle = sensorEvent.values[2];
    
     a.setText("x: "+headingAngle);
     b.setText("y: "+ pitchAngle);
     c.setText("z: "+rollAngle);
     }
    }  
}


덧글

  • 안녕하세요 2011/09/30 09:51 # 삭제 답글

    어플 공부를하고있는데
    이 소스를 이용해서 한번 실행해보는데
    오류는없는데 실행이안되네요
    무슨문제가 있는건지?

    아니면 방향센서는 폰기기로 실험해야하는거에요?
댓글 입력 영역


whos.amung.us 통계