Page 201 - 3-1
P. 201
아
내는 코드.
BluetoothDevice getDeviceFromBondedList(String name) {
// BluetoothDevice : 페어링 된 기기 목록을 얻어옴.
//BluetoothDevice selectedDevice = null;
// getBondedDevices 함수가 반환하는 페어링 된 기기 목록은 Set 형식이며,
// Set 형식에서는 n 번째 원소를 얻어오는 방법이 없으므로 주어진 이름과 비교해서 찾는
다.
for (BluetoothDevice deivce : mDevices) {
// getName() : 단말기의 Bluetooth Adapter 이름을 반환
if (name.equals(deivce.getName())) {
selectedDevice = deivce;
break;
}
}
return selectedDevice;
}
// connectToSelectedDevice() : 원격 장치와 연결하는 과정을 나타냄.
// 실제 데이터 송수신을 위해서는 소켓으로부터 입출력 스트림을 얻고 입출력 스트림을 이용
하
여 이루어 진다.
void connectToSelectedDevice(String selectedDeviceName) {
// BluetoothDevice 원격 블루투스 기기를 나타냄.
mRemoteDevie = getDeviceFromBondedList(selectedDeviceName);
// java.util.UUID.fromString : 자바에서 중복되지 않는 Unique 키 생성.
UUID uuid = java.util.UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
try {
// 소켓 생성, RFCOMM 채널을 통한 연결.
// createRfcommSocketToServiceRecord(uuid) : 이 함수를 사용하여 원격 블루투스
장치와
// 통신할 수 있는 소켓을 생성함.
// 이 메소드가 성공하면 스마트폰과 페어링 된 디바이스간 통신 채널에 대응하는
// BluetoothSocket 오브젝트를 리턴함.
mSocket = mRemoteDevie.createRfcommSocketToServiceRecord(uuid);
- 201 -