[android] 안드로이드 블루투스 연결

안드로이드 앱을 개발하다 보면 블루투스를 이용하여 외부 장치와 통신해야 하는 경우가 있습니다. 블루투스를 사용하여 안드로이드 기기를 다른 장치와 연결하고 데이터를 전송하는 방법을 살펴보겠습니다.

1. 블루투스 장치와 페어링하기

우선 안드로이드 앱에서 블루투스 장치와 페어링을 수행해야 합니다. 아래는 블루투스 디바이스를 검색하고 페어링하는 코드의 예시입니다.

// 블루투스 어댑터 가져오기
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

// 블루투스 활성화 상태 확인
if (bluetoothAdapter == null || !bluetoothAdapter.isEnabled()) {
    // 블루투스 활성화 요청
    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}

// 블루투스 디바이스 검색
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
    for (BluetoothDevice device : pairedDevices) {
        // 페어링된 디바이스 정보 처리
    }
}

2. 블루투스 연결 및 데이터 송수신

페어링이 완료되면 블루투스 장치와 데이터를 송수신할 수 있습니다. 아래는 블루투스 통신을 위한 기본적인 코드입니다.

// BluetoothDevice 객체 생성
BluetoothDevice device = bluetoothAdapter.getRemoteDevice(address);

// BluetoothSocket 열기
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID);

// BluetoothSocket 연결 시도
try {
    socket.connect();
    // 송수신을 위한 데이터 통신 처리
} catch (IOException e) {
    // 연결 에러 처리
}

위의 코드에서 address는 페어링된 블루투스 장치의 주소, MY_UUID는 블루투스 서비스에 대한 UUID 값입니다.

안드로이드에서 블루투스와 연결하여 데이터를 송수신하는 과정은 위 코드를 기반으로 추가적인 처리가 필요할 수 있습니다.


이제 안드로이드 앱에서 블루투스 장치와의 연결 방법을 간단히 살펴보았습니다. 블루투스 통신은 안드로이드 앱의 확장성을 높이고 다양한 IoT 기기와의 연동을 가능하게 합니다.

참고문헌: