17 setupMeasurementListener();
23 private void initializeSdk() {
37 sdk.
setServer(
"https://custom.navigine.com");
50 if (locationManager !=
null && measurementManager !=
null) {
51 System.out.println(
"LocationManager and MeasurementManager successfully initialized");
53 }
catch (Exception e) {
54 System.err.println(
"Error initializing SDK: " + e.getMessage());
61 private void setupMeasurementListener() {
62 measurementListener =
new MeasurementListener() {
65 public void onSensorMeasurementDetected(Map<SensorType, SensorMeasurement> sensors) {
66 System.out.println(
"Sensor measurements detected");
73 public void onSignalMeasurementDetected(Map<String, SignalMeasurement> signals) {
74 System.out.println(
"Signal measurements detected");
85 if (measurementManager ==
null) {
86 System.err.println(
"MeasurementManager not initialized");
92 measurementManager.addMeasurementListener(measurementListener);
93 System.out.println(
"Added measurement listener");
97 demonstrateBeaconGenerators();
100 demonstrateEddystoneGenerators();
103 demonstrateWifiGenerators();
106 demonstrateWifiRttGenerators();
109 demonstrateLocationGenerators();
115 }
catch (InterruptedException e) {
116 Thread.currentThread().interrupt();
121 measurementManager.removeMeasurementListener(measurementListener);
122 System.out.println(
"Removed measurement listener");
130 private void demonstrateBeaconGenerators() {
134 "12345678-1234-1234-1234-123456789012",
142 System.out.println(
"Added beacon generator with ID: " + beaconId);
148 System.out.println(
"Removed BLE generator: " + beaconId);
154 System.out.println(
"Removed all BLE generators");
161 private void demonstrateEddystoneGenerators() {
165 "12345678901234567890",
172 System.out.println(
"Added Eddystone generator with ID: " + eddystoneId);
177 System.out.println(
"Removed Eddystone generator: " + eddystoneId);
183 private void demonstrateWifiGenerators() {
192 System.out.println(
"Added Wi-Fi generator with ID: " + wifiId);
198 System.out.println(
"Removed Wi-Fi generator: " + wifiId);
204 System.out.println(
"Removed all Wi-Fi generators");
211 private void demonstrateWifiRttGenerators() {
224 System.out.println(
"Added Wi-Fi RTT generator with ID: " + wifiRttId);
230 System.out.println(
"Removed Wi-Fi RTT generator: " + wifiRttId);
236 System.out.println(
"Removed all Wi-Fi RTT generators");
243 private void demonstrateLocationGenerators() {
246 String locationId = measurementManager.addLocationGenerator(
255 System.out.println(
"Added location generator with ID: " + locationId);
260 measurementManager.removeLocationGenerator(locationId);
261 System.out.println(
"Removed location generator: " + locationId);
266 measurementManager.removeLocationGenerators();
267 System.out.println(
"Removed all location generators");
275 sensors.forEach((sensorType, measurement) -> {
279 System.out.println(
"Sensor type: " + type);
284 Vector3d values = measurement.getValues();
285 System.out.println(
"Sensor values - X: " + values.getX() +
", Y: " + values.getY() +
", Z: " + values.getZ());
290 long time = measurement.getTime();
291 System.out.println(
"Measurement time: " + time +
" ms");
295 demonstrateVector3d(values);
303 signals.forEach((signalId, measurement) -> {
307 System.out.println(
"Signal type: " + type);
312 String
id = measurement.getId();
313 System.out.println(
"Signal ID: " +
id);
318 double rssi = measurement.getRssi();
319 System.out.println(
"Signal RSSI: " + rssi +
" dBm");
324 double distance = measurement.getDistance();
325 System.out.println(
"Signal distance: " + distance +
" meters");
330 long time = measurement.getTime();
331 System.out.println(
"Signal measurement time: " + time +
" ms");
339 private void demonstrateVector3d(
Vector3d vector) {
342 double x = vector.getX();
343 System.out.println(
"Vector X: " + x);
348 double y = vector.getY();
349 System.out.println(
"Vector Y: " + y);
354 double z = vector.getZ();
355 System.out.println(
"Vector Z: " + z);
363 System.out.println(
"=== MeasurementManager Example ===");
370 }
catch (InterruptedException e) {
371 Thread.currentThread().interrupt();
374 System.out.println(
"=== Example completed ===");
380 public static void main(String[] args) {