Nix Universal SDK
A library to allow integration of Nix devices into third-party Android applications.
The latest version of this documentation is available online and the latest version of the library is hosted on Maven Central.
Overview
This library was written to allow integration of Nix devices into third-party Android applications. It provides tools to discover nearby Nix devices, open a connection, perform measurements, and obtain data. Tools are also provided for basic colour conversions and colour difference calculations.
For changes introduced in this version, please review the release notes.
Note
If you are upgrading to version 4.2.x or newer from an earlier version, you will need to update your application to activate your SDK license. See Activating the SDK License for more details.
Warning
The universalsdk
library replaces the previous nixlibrary
library. These two libraries should not be used together; remove nixlibrary
from your project before adding universalsdk
.
Minimum Requirements
- Android Studio (tested with 2024.2.2)
- Android Studio project with
minSdkVersion
21 or higher - Android device with BLE hardware connectivity
- Active internet connection for device activation (demo / evaluation versions only)
- Supported Nix devices:
- Nix Mini
- Nix Mini 2
- Nix Mini 3
- Nix Pro
- Nix Pro 2
- Nix QC
- Nix Spectro 2
- Nix Spectro L
Getting Started
- An activation code is required to use the Nix Universal SDK. Free evaluation codes are available for non-commercial use. To obtain an activation code, visit to the SDK license page.
- The
universalsdk
library is available via Maven Central and can be added as a dependency to your Android Studio project. See Adding to Your Android Studio Project for instructions. - Once added to your Android Studio project, the
LicenseManager
can be used to enable the SDK functions included in your license. See Activating the SDK License for more details. - Once the license is active, the
DeviceScanner
can be used to discover nearby and attached devices asIDeviceCompat
instances. These objects can be used to open a connection to the the device. See Discovering and Connecting to Nix Devices for more details. - Once connected, measurements and other device operations can be performed using the
IDeviceCompat
instance. Device parameters can also be queried. See Device Operations for more details. - Once a measurement has been completed, results are provided as
IMeasurementData
instances. These objects provide colorimetry data, density, and spectral measurements (if supported by the device). See Handling Measurement Data for more details - Several additional utility functions are provided by the
ColorUtils
class. These include functions for manual colour conversions, delta E calculations, and more. Further details are provided in the API reference (Kotlin and Java) - To demonstrate integration of the Nix Universal SDK, an example app is provided with the SDK download.
Additional Support
This document is not intended as an exhaustive reference. Please refer to the Kotlin and Java API references for further details on the classes and methods provided by the Nix Universal SDK.
If you encounter any issues with SDK implementation, please contact us via e-mail at sdk@nixsensor.com.
Privacy Disclaimer
Limited anonymous usage data is tracked by the Nix Universal SDK using Google Analytics. No personal user data, color data, or any data which uniquely identifies an individual Nix device is collected. Collected data is subject to the Nix Apps privacy policy. Events and usage data tracked by the Nix SDK are solely limited to the following information:
- Device connection events:
- Device type (e.g. - Nix Pro, Nix Mini, etc)
- Device manufacturing batch identifier
- Nix SDK version
- Device color scan events:
- Device type
- Nix SDK version
- Reference tile usage events:
- Device type
- Device diagnostics information
- Nix SDK version