BLE-X
BLE-X is a Bluetooth Low Energy (BLE) communication library for Android, designed to provide a structured and reliable way to interact with BLE devices.
Features
Centralized BluetoothGatt management
Optimized MTU and PHY handling
Improved characteristic read/write operations
Enhanced callback management
Coroutines support with Kotlin Flow
Lifecycle-aware connections
Thread-safe operations
Exponential backoff reconnection
Quick Start
Initialize the BLE Manager:
val bleManager = BleManager.getInstance(context)Content copied to clipboard
Scan for Devices:
bleManager.scanDevices().collect { device ->
println("Found: ${device.name}")
}Content copied to clipboard
Connect to a Device:
val connection = bleManager.connect(device)
.bindToLifecycle(this)Content copied to clipboard
Read/Write Characteristics:
val data = connection.readCharacteristic(serviceUuid, charUuid)
connection.writeCharacteristic(serviceUuid, charUuid, byteArrayOf(0x01))Content copied to clipboard
Requirements
Android SDK 26+ (Android 8.0 Oreo)
Kotlin 1.9+