728x90
안드로이드 Bluetooth Project에서 기본적으로 샘플 코드를 이용하면 ReadCharacteristic
함수를 지원하기 때문에 Bluetooth Device로부터 Data를 읽는 것은 손쉽게 가능합니다.
그런데 이 샘플코드에서는 Bluetooth에 Data를 전송하기 위한 함수가 구현되어 있지 않기
때문에 개발자는 직접적으로 함수를 구현하여 통신 로직을 만들어야 합니다.
그럼 ReadCharacteristic과 반대되는 쓰기속성의 WriteCharacteristic을 구현해보겠습니다.
코드는 생각보다 간단한데 먼저 BluetoothService가 선언되어 생성되어야 하며
그 BluetoothService 클래스 내부에 구현이 되어야 합니다.
소스코드는 다음과 같습니다
public boolean writeCharacteristic(BluetoothGattCharacteristic characteristic, byte[] data){
if(mBluetoothAdapter == null || mBluetoothGatt == null){
Log.d(TAG, ""BluetoothAdapter not initialized);
return false;
}
characteristic.setValue(data);
return mBluetoothGatt.writeCharacteristic(characteristic);
}
이렇게 BluetoothService 클래스 내에 작성을 완료한 뒤에 BluetoothService 객체를 사용
하는 구문에서 writeCharacteristic 함수를 호출만 해주면 됩니다.
만약에 MainClass라는 Activity단에서 Bluetooth로 데이터를 전송한다고 하면
byte data[] = hexStringToByteArray("100101");
mBluetoothService.writeCharacteristic(characteristic, data);
위와 같이 data를 만들어서 writeCharacteristic 함수를 호출합니다.
728x90
반응형
'안드로이드' 카테고리의 다른 글
[Android] 버튼 스타일 변경 (12) | 2022.01.14 |
---|---|
[Android] CalendarView (4) | 2022.01.14 |
[Android] No matching client found for package name 에러 해결 (2) | 2022.01.13 |
[Android] AndroidX 마이그레이션 해결 방법 (10) | 2022.01.12 |
[Android] Gradle plugin requires 에러 해결 (9) | 2022.01.12 |
댓글