| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
An Android library that solves a lot of Android's Bluetooth Low Energy problems.
The library may be found on Maven Central repository. Add it to your project by adding the following dependency:
implementation 'no.nordicsemi.android:ble:2.6.1'The last version not migrated to AndroidX is 2.0.5.
BLE library with Kotlin extension is available in:
implementation 'no.nordicsemi.android:ble-ktx:2.6.1'To import the BLE library with set of parsers for common Bluetooth SIG characteristics, use:
implementation 'no.nordicsemi.android:ble-common:2.6.1'For more information, read this.
An extension for easier integration with LiveData is available after adding:
implementation 'no.nordicsemi.android:ble-livedata:2.6.1'This extension adds ObservableBleManager with state and bondingState properties, which notify about connection and bond state using androidx.lifecycle.LiveData.
Importing as a moduleClone this project and add it to your project:
if (file('../Android-BLE-Library').exists()) {
includeBuild('../Android-BLE-Library')
}The library uses Java 1.8 features. If you're using Android Studio below 4.2, make sure your build.gradle includes the following configuration:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
// For Kotlin projects additionally:
kotlinOptions {
jvmTarget = "1.8"
}BleManager class provides the following features:
Note: The library does not provide support for scanning for Bluetooth LE devices. Instead, we recommend using Android Scanner Compat Library which brings almost all recent features, introduced in Lollipop and later, to the older platforms.
See Releases for details. Below is short summary:
Version 2.6When using coroutines, use .suspend() method in Request, instead of enqueue() or await().
To register to notifications and indications (or incoming write requests for server) use
setNotificationCallback(characteristic)
.merge(JsonMerger()) // Example of how to use JsonMerger, optional
.asFlow()Version 2.2 breaks some API known from version 2.1.1. Check out migration guide.
See Usage for more details.
The Trivia game is an example demonstrating client and server.
Please refer to the examples/ble-gatt-client folder for a project that illustrates the GATT server provided as a foreground service. There's a simple UI with a text field to update with the value of a characteristic that can be read and subscribed to. This characteristic also demands encryption as an illustration of best-practice.
You can run this client on one device and a complimenting server on another (see the next section).
Note: This project is not maintained actively. It is provided as an example only and may not be migrated to latest version.
Starting from version 2.2 you may now define and use the GATT server in the BLE Library.
Please refer to the examples/ble-gatt-server folder for a project that illustrates the GATT server provided as a foreground service. There's a simple UI with a text field to update the value of a characteristic that can be read and subscribed to. This characteristic also demands encryption as an illustration of best-practice.
Note: This project is not maintained actively. It is provided as an example only and may not be migrated to latest version.
Find the simple example here Android nRF Blinky.
For an example how to use it from a ViewModel or a Service, check nRF Toolbox.
The BLE library v 1.x is no longer supported. Please migrate to 2.x for bug fixing releases. Find it on version/1x branch.
A migration guide is available here.
| Back | FazBrowse Home | New Git URL |