1import 'package:navigine_sdk/navigine_sdk.dart';
7class NavigineSdkExample {
20 NavigineSdkExample() {
27 void _initializeSdk() {
36 print(
'Navigine SDK Version: ${NavigineSdk.getVersion()}');
41 print(
'Device ID: ${NavigineSdk.getDeviceId()}');
46 print(
'Relative Time: ${NavigineSdk.getRelativeTime()}');
60 _initializeManagers();
62 print(
'SDK initialization error: $e');
69 void _initializeManagers() {
74 print(
'LocationManager successfully initialized');
83 print(
'NavigationManager successfully initialized');
93 print(
'ZoneManager successfully initialized');
106 print(
'RouteManager successfully initialized');
119 print(
'AsyncRouteManager successfully initialized');
129 print(
'NotificationManager successfully initialized');
139 print(
'MeasurementManager successfully initialized');
148 print(
'LocationListManager successfully initialized');
156 print(
'StorageManager successfully initialized');
165 print(
'MqttSession successfully initialized');
175 print(
'=== Navigine SDK Information ===');
176 print(
'SDK Version: ${NavigineSdk.getVersion()}');
177 print(
'Device ID: ${NavigineSdk.getDeviceId()}');
178 print(
'Relative Time: ${NavigineSdk.getRelativeTime()}');
180 'LocationManager: ${_locationManager != null ? "available" : "unavailable"}',
183 'NavigationManager: ${_navigationManager != null ? "available" : "unavailable"}',
185 print(
'ZoneManager: ${_zoneManager != null ? "available" : "unavailable"}');
187 'RouteManager: ${_routeManager != null ? "available" : "unavailable"}',
190 'AsyncRouteManager: ${_asyncRouteManager != null ? "available" : "unavailable"}',
193 'NotificationManager: ${_notificationManager != null ? "available" : "unavailable"}',
196 'MeasurementManager: ${_measurementManager != null ? "available" : "unavailable"}',
199 'LocationListManager: ${_locationListManager != null ? "available" : "unavailable"}',
202 'StorageManager: ${_storageManager != null ? "available" : "unavailable"}',
205 'MqttSession: ${_mqttSession != null ? "available" : "unavailable"}',
213 print(
'=== Manager Usage Demonstration ===');
217 print(
'LocationManager ready for location operations');
223 print(
'NavigationManager ready for positioning');
229 print(
'ZoneManager ready for zone operations');
235 print(
'RouteManager ready for route building');
241 print(
'AsyncRouteManager ready for async route operations');
247 print(
'NotificationManager ready for notifications');
253 print(
'MeasurementManager ready for measurements');
259 print(
'LocationListManager ready for location list operations');
265 print(
'StorageManager ready for storage operations');
271 print(
'MqttSession ready for publishing position data via MQTT');
280 print(
'=== Dart Features Demonstration ===');
283 _sdk?.setUserHash(
'YYYY-YYYY-YYYY-YYYY');
284 print(
'User hash updated');
287 final managers = <String>[
299 print(
'Available managers: $managers');
302 final sdkInfo = <String, String>{
308 final infoStrings = sdkInfo.entries.map(
309 (entry) =>
'${entry.key}: ${entry.value}',
311 print(
'SDK information: ${infoStrings.join(',
')}');
314 final allManagers = [
327 final availableManagers =
328 allManagers.where((manager) => manager !=
null).length;
329 print(
'Available managers count: $availableManagers');
335 Future<void> demonstrateAsyncFeatures() async {
336 print(
'=== Async Features Demonstration ===');
339 await Future.delayed(Duration(seconds: 1));
340 print(
'Async operation completed');
344 await _performAsyncOperation();
346 print(
'Error in async operation: $e');
353 Future<void> _performAsyncOperation() async {
354 await Future.delayed(Duration(milliseconds: 500));
355 print(
'Additional async operation completed');
362 print(
'=== Extension Methods Demonstration ===');
364 final status = _getManagersStatus();
365 print(
'Managers status: $status');
367 final isReady = _isSdkReady();
368 print(
'SDK ready for work: $isReady');
374 Future<void> runExample() async {
378 await demonstrateAsyncFeatures();
391 Map<String, bool> _getManagersStatus() {
393 'LocationManager': _locationManager !=
null,
394 'NavigationManager': _navigationManager !=
null,
395 'ZoneManager': _zoneManager !=
null,
396 'RouteManager': _routeManager !=
null,
397 'AsyncRouteManager': _asyncRouteManager !=
null,
398 'NotificationManager': _notificationManager !=
null,
399 'MeasurementManager': _measurementManager !=
null,
400 'LocationListManager': _locationListManager !=
null,
401 'StorageManager': _storageManager !=
null,
402 'MqttSession': _mqttSession !=
null,
410 return _sdk !=
null && _locationManager !=
null;
417class NavigineSdkFlutterExample {
418 static Future<void> initializeInFlutter() async {
419 print(
'=== Navigine SDK Initialization in Flutter ===');
421 final example = NavigineSdkExample();
422 await example.runExample();
424 print(
'Initialization completed');
433 await example.runExample();