2012-01-08 3 views
1

휴대 전화의 움직임에 따라 비트 맵이 움직이는 사용자 정의보기를 만들려고합니다. Android의 사용자 정의보기에서 SensorEventListener를 사용할 수 있습니까?

그래서 나는 사용자 정의보기를 생성 sensorEventListener을 구현 : 이클립스 SENSOR_SERVICE가 해결 될 수 없음을 말하고있다

public class MovingStarView extends View implements SensorEventListener { 
    private SensorManager sm; 
    private Sensor mAccelerometer; 

.....Other Initialization stuff..... 

private void initSensor(){ 
    // Get an instance of the SensorManager 
    sm = (SensorManager) getSystemService(SENSOR_SERVICE); <---NOT RESOLVED 
    //Get the Accelerometor 
    mAccelerometer = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
} 

. 내가 이것을 다르게 부르 겠어?

이 작업을 수행 할 수 있습니까? 아니면 사용자 정의보기를 호출하는 활동에서 수신하는 센서를 사용해야합니까?

android.content.Context

을 가져

답변

4

보기에 context 개체가 필요합니다. 그 다음 전화
sm = (SensorManager) context.getSystemService(context.SENSOR_SERVICE)

2

시도 또한 상황에 맞는 네임 스페이스를 통해 액세스 할 수 Context.SENSOR_SERVICE을 시도해보십시오.

네, View에서 SensorEventListener를 사용할 수 있어야합니다. View 객체는 원하는 수의 인터페이스를 구현할 수 있습니다. :) (객체 디자인의 관점에서 보면 이것을 피할 수 있습니다.)