Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 안드로이드
- Intent
- 네트워크
- error
- 엑티비티
- Java
- 네트워크보안
- 토익
- 쓰레드
- 바닐라루시
- Eclipse
- 자바
- rainbow
- opengl
- 브로드케스트 리시버
- opencv
- 영어
- 레인보우
- Looper
- 배다해
- Android
- 이클립스
- TOEIC
- 인텐트
- Linux
- xml
- 서비스
- HTML
- 뮤직비디오
- 걸스데이
Archives
- Today
- Total
W.A 저장소
AccelerorMeter Sensor 사용 소스 본문
1. Activity 생성(onCreate)시 SensorService를 얻어온다.
SensorMamager sensorManager =
(SensorManager) getSystemService(SENSOR_SERVICE);
Sensor accelerormeterSensor
= sensorManager
.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
2. Sensor가 잘 생성되었다면은 SensorManager에 등록을 한다.
if
(accelerormeterSensor !=
null
)
sensorManager.registerListener(
this
, accelerormeterSensor ,
SensorManager.SENSOR_DELAY_GAME);
3. 등록까지 완료 되었다면은 이제 가속도센서(AccelerorMeterSensor)를 사용할 수 있다.
public
void
onSensorChanged(SensorEvent
event) {
if
(event.sensor.getType() ==
Sensor.TYPE_ACCELEROMETER) {
// 원하는 기능을 사용 가능함.
}
소스 코드
package com.karyu.testkaryu;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
public class TestKaRyuActivity extends Activity implements SensorEventListener {
/** Called when the activity is first created. */
private SensorManager sensorManager;
private TextView aTextx = null;
private TextView aTexty = null;
private TextView aTextz = null;
private TextView result = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
aTextx = (TextView)findViewById(R.id.TextView01);
aTexty = (TextView)findViewById(R.id.TextView02);
aTextz = (TextView)findViewById(R.id.TextView03);
result = (TextView)findViewById(R.id.TextView04);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
List<Sensor> sensors = sensorManager
.getSensorList(Sensor.TYPE_ACCELEROMETER);
result.setText("No");
if (sensors.size() > 0) {
result.setText("Yes");
sensorManager.registerListener(this, sensors.get(0),
SensorManager.SENSOR_DELAY_GAME);
} else {
result.setText("Failed");
}
}
@Override
protected void onDestroy() {
super.onDestroy();
sensorManager.unregisterListener(this);
}
@Override
public void onAccuracyChanged(final Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(final SensorEvent event) {
Sensor sensor = event.sensor;
switch (sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
//Log.d(LOG_TAG, "ACCELEROMETER : " + event.values[0] + ","
//+ event.values[1] + "," + event.values[2]);
aTextx.setText("X =" + event.values[0]);
aTexty.setText("Y =" + event.values[1]);
aTextz.setText("Z =" + event.values[2]);
break;
default:
break;
}
}
}
'Programing' 카테고리의 다른 글
Programming Reference (0) | 2010.07.16 |
---|---|
Screen Capture Class(화면 캡쳐 클래스) Robot (0) | 2010.07.16 |
Android Sensor Simulator 사용법 (0) | 2010.07.15 |
Java 접근자 (0) | 2010.07.12 |
객체지향의 3대 요소 (0) | 2010.07.12 |