🖥️ Navigation, modules, thème (Android)
Après connect, AzeooSDK.shared expose :
sdk.navigate(...)+ opérations retour — navigation typéesdk.setModuleContainer(...)— coordination UI native adaptativesdk.modules.nutrition/sdk.modules.training— intégration (Fragment / View / Compose)sdk.theme— contrôle du thème à l'exécution
Navigation typée
sdk.navigate(AzeooDestination.Nutrition.Plan(id = "abc-123"))
sdk.navigate(AzeooDestination.Training.Workouts)
sdk.back()
sdk.backToRoot()
sdk.canGoBack { result -> /* Boolean */ }
sdk.getCurrentRoute { result -> /* String? */ }
Catalogue complet : Catalogue des destinations (nutrition + entraînement).
Coordinateurs de modules (setModuleContainer)
Installez une fois au démarrage pour que la navigation inter-modules bascule votre bottom nav / rail / drawer :
sdk.setModuleContainer(AzeooBottomNavCoordinator(
bottomNav = findViewById(R.id.bottom_nav),
mapping = mapOf(
AzeooDestination.Module.NUTRITION to R.id.nav_nutrition,
AzeooDestination.Module.TRAINING to R.id.nav_training,
),
))
Coordinateurs intégrés :
AzeooBottomNavCoordinator— pourBottomNavigationViewMaterialAzeooNavigationRailCoordinator— pourNavigationRailViewMaterialAzeooNavComponentCoordinator— pour Jetpack Navigation Component
Conteneurs personnalisés (drawer / ViewPager2 / échange de fragments / autre) : implémentez AzeooModuleContainer directement — une seule méthode.
Nettoyage dans Activity.onDestroy :
override fun onDestroy() {
AzeooSDK.shared.setModuleContainer(null)
super.onDestroy()
}
Intégration
// Fragment
val frag = sdk.modules.nutrition.getFragment(bottomSafeArea = false)
supportFragmentManager.beginTransaction()
.replace(R.id.container, frag)
.commitNow()
// View
val view = sdk.modules.nutrition.getView(context)
// Compose
sdk.modules.nutrition.ComposeView(bottomSafeArea = true)
Thème (sdk.theme)
setMode, setLightMode, setDarkMode, setSystemMode, toggleMode, setPrimaryColor, setSecondaryColor, setLightColors, setDarkColors, setTheme, resetToDefault, getCurrentTheme.