안드로이드 개발 질문/답변
(글 수 45,052)
증강현실을 이용한 인공위성 탐색기를 만들고 있습니다
코딩에 거의 생초보 이고 외국에서 인턴 생활 중이라 여기에 여쭈어 봅니다 ..;;
카메라 preview 돌리는 거랑 gps 연결했구요
이제 나침반이 북쪽을 계속 가르키게 하는 작업(compass heading) 을 하고 있는데요
카메라 previw 위에 나침반이 가르키는 정수 값을 뽑아 내야 합니다 .
아래 소스에서 heading 변수 값만 넘겨 받아 카메라 preview 위에 뽑아 내면 되는 건가요 ?
보통 나침반 소스 보면 수학적으로 계산을 많이 하는 거 같던데요 ...
조언 부탁 드립니다 ..
package com.anrian;
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;
public class CompassHeading extends Activity implements SensorEventListener {
/** Called when the activity is first created. */
//CompassView2 compassView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//compassView = new CompassView2(this);
//setContentView(compassView);
//시스템으로부터 센서 메니저 객체 얻어오기
SensorManager sensorM = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
//센서값이 바뀔때마다 수정되야 하므로 리스너를 등록한다.
//센서 리스너 객체(센서이벤트리스너 임플리먼츠), 센서타입, 센서 민감도를 매니져에 등록한다.
sensorM.registerListener(this,//Activity가 직접 리스너를 구현
sensorM.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_GAME);
}
//센서의 정확도가 바뀌었을때(호출될일 없음, 향후 업데이트를 위해서)
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
//등록한 방향 센서 값이 바뀌었을 때 호출되는 콜백 메소드
public void onSensorChanged(SensorEvent event) {
//event 객체에 센서값에 대한 정보가 들어있다.
switch(event.sensor.getType()){
case Sensor.TYPE_ORIENTATION : //방향센서 값이 바뀌었을때
int heading = (int)event.values[0];
//헤딩값을 View에 반영한다.
//compassView.updateUI(heading);
break;
}
}
}
공지 사항 다 읽었습니다 ..