17 setupMeasurementListener();
23 private void initializeSdk() {
37 sdk.
setServer(
"https://custom.navigine.com");
50 if (measurementManager !=
null) {
57 if (locationManager !=
null && measurementManager !=
null) {
58 System.out.println(
"LocationManager and MeasurementManager successfully initialized");
60 }
catch (Exception e) {
61 System.err.println(
"Error initializing SDK: " + e.getMessage());
68 private void setupMeasurementListener() {
69 measurementListener =
new MeasurementListener() {
72 public void onSensorMeasurementDetected(Map<SensorType, SensorMeasurement> sensors) {
73 System.out.println(
"Sensor measurements detected");
80 public void onSignalMeasurementDetected(Map<String, SignalMeasurement> signals) {
81 System.out.println(
"Signal measurements detected");
92 if (measurementManager ==
null) {
93 System.err.println(
"MeasurementManager not initialized");
99 measurementManager.addMeasurementListener(measurementListener);
100 System.out.println(
"Added measurement listener");
104 demonstrateBeaconGenerators();
107 demonstrateEddystoneGenerators();
110 demonstrateWifiGenerators();
113 demonstrateWifiRttGenerators();
116 demonstrateLocationGenerators();
122 }
catch (InterruptedException e) {
123 Thread.currentThread().interrupt();
128 measurementManager.removeMeasurementListener(measurementListener);
129 System.out.println(
"Removed measurement listener");
137 private void demonstrateBeaconGenerators() {
141 "12345678-1234-1234-1234-123456789012",
149 System.out.println(
"Added beacon generator with ID: " + beaconId);
155 System.out.println(
"Removed BLE generator: " + beaconId);
161 System.out.println(
"Removed all BLE generators");
168 private void demonstrateEddystoneGenerators() {
172 "12345678901234567890",
179 System.out.println(
"Added Eddystone generator with ID: " + eddystoneId);
184 System.out.println(
"Removed Eddystone generator: " + eddystoneId);
190 private void demonstrateWifiGenerators() {
199 System.out.println(
"Added Wi-Fi generator with ID: " + wifiId);
205 System.out.println(
"Removed Wi-Fi generator: " + wifiId);
211 System.out.println(
"Removed all Wi-Fi generators");
218 private void demonstrateWifiRttGenerators() {
231 System.out.println(
"Added Wi-Fi RTT generator with ID: " + wifiRttId);
237 System.out.println(
"Removed Wi-Fi RTT generator: " + wifiRttId);
243 System.out.println(
"Removed all Wi-Fi RTT generators");
250 private void demonstrateLocationGenerators() {
253 String locationId = measurementManager.addLocationGenerator(
262 System.out.println(
"Added location generator with ID: " + locationId);
267 measurementManager.removeLocationGenerator(locationId);
268 System.out.println(
"Removed location generator: " + locationId);
273 measurementManager.removeLocationGenerators();
274 System.out.println(
"Removed all location generators");
282 sensors.forEach((sensorType, measurement) -> {
286 System.out.println(
"Sensor type: " + type);
291 Vector3d values = measurement.getValues();
292 System.out.println(
"Sensor values - X: " + values.getX() +
", Y: " + values.getY() +
", Z: " + values.getZ());
297 long time = measurement.getTime();
298 System.out.println(
"Measurement time: " + time +
" ms");
302 demonstrateVector3d(values);
310 signals.forEach((signalId, measurement) -> {
314 System.out.println(
"Signal type: " + type);
319 String
id = measurement.getId();
320 System.out.println(
"Signal ID: " +
id);
325 double rssi = measurement.getRssi();
326 System.out.println(
"Signal RSSI: " + rssi +
" dBm");
331 double distance = measurement.getDistance();
332 System.out.println(
"Signal distance: " + distance +
" meters");
337 long time = measurement.getTime();
338 System.out.println(
"Signal measurement time: " + time +
" ms");
346 private void demonstrateVector3d(
Vector3d vector) {
349 double x = vector.getX();
350 System.out.println(
"Vector X: " + x);
355 double y = vector.getY();
356 System.out.println(
"Vector Y: " + y);
361 double z = vector.getZ();
362 System.out.println(
"Vector Z: " + z);
370 System.out.println(
"=== MeasurementManager Example ===");
377 }
catch (InterruptedException e) {
378 Thread.currentThread().interrupt();
381 System.out.println(
"=== Example completed ===");
387 public static void main(String[] args) {