안녕하세요. 버튼을 눌러서 블루투스를이용해서 문자를 전송하는 프로그램을 만들고 있습니다.
그래서 버튼누르는것 까지햇고 가속도센서를 이용해서 흔듬을 감지하면 문자'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라는함수가 정의되지않아서 오류가납니다.
액티비티간 서로 변수나 함수를 참조할수있게 할수있는 방법이있나요?