마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

블루투스 전송관련입니다.

0 추천

 안녕하세요. 버튼을 눌러서 블루투스를이용해서 문자를 전송하는 프로그램을 만들고 있습니다.

그래서 버튼누르는것 까지햇고 가속도센서를 이용해서 흔듬을 감지하면 문자's'를 보낼수있도록 프로그래밍하고있는데

BluetoothChat이라는 액티비티가있고

page1이라는 액티비티 << 가속도센서값 확인 및 's'전송 액티비티를

구현하는데

 

BluetoothChat 액티비티에서

 mSendButton5.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // Send a message using content of the edit text widget
                //TextView view = (TextView) findViewById(R.id.edit_text_out);
                String message = "S";
                sendMessage(message);
            }
        });

를 사용하였고

 

page1액티비티에서

 

public class page1 extends Activity implements SensorEventListener {

   

    private long lastTime;

    private float speed;

    private float lastX;

    private float lastY;

    private float lastZ;

  

    private float x, y, z;

    private static final int SHAKE_THRESHOLD = 800;

  

    private static final int DATA_X = SensorManager.DATA_X;

    private static final int DATA_Y = SensorManager.DATA_Y;

    private static final int DATA_Z = SensorManager.DATA_Z;

  

    private SensorManager sensorManager;

    private Sensor accelerormeterSensor;

  

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

  

        sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

        accelerormeterSensor = sensorManager

                .getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

  

    }

  

    @Override

    public void onStart() {

        super.onStart();

  

        if (accelerormeterSensor != null)

            sensorManager.registerListener(this, accelerormeterSensor,

                    SensorManager.SENSOR_DELAY_GAME);

    }

  

    @Override

    public void onStop() {

        super.onStop();

  

        if (sensorManager != null)

            sensorManager.unregisterListener(this);

    }

  

    @Override

    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }

  

    @Override

    public void onSensorChanged(SensorEvent event) {

        if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {

            long currentTime = System.currentTimeMillis();

            long gabOfTime = (currentTime - lastTime);

  

            if (gabOfTime > 100) {

                lastTime = currentTime;

  

                x = event.values[SensorManager.DATA_X];

                y = event.values[SensorManager.DATA_Y];

                z = event.values[SensorManager.DATA_Z];

  

                speed = Math.abs(x + y + z - lastX - lastY - lastZ) /

                        gabOfTime * 10000;

  

                if (speed > SHAKE_THRESHOLD) {

                    // 이벤트 발생!!

               String message = "S";
                sendMessage(message);

                }

                lastX = event.values[DATA_X];

                lastY = event.values[DATA_Y];

                lastZ = event.values[DATA_Z];

            }

        }

    }  

}

를 넣었는데 sendMessage라는함수가 정의되지않아서 오류가납니다.

액티비티간 서로 변수나 함수를 참조할수있게 할수있는 방법이있나요?

seet4547 (160 포인트) 님이 2014년 3월 4일 질문

1개의 답변

0 추천
블루투스 채트 액티비티에 센드메세지 함수가 정의되어 있다면

BluetoothChat.sendMessage(message); 쓰시면 됩니다.
초보개발자ㅠ (33,870 포인트) 님이 2014년 3월 5일 답변
...