Lo primero que debemos hacer es descargar el código para añadir a un proyecto base. Como se puede ver, contiene:
El menú lateral y la lista se puede recuperar del ejercicio del tema 4.1 o volver a codificarlo, para reafirmar conocimientos.
Este ejercicio está relacionado con la última parte del tema 4.2 de Integrando navegación y NavigationBar, ya que deberemos crearnos un ContactosScreen principal que incluirá el Scaffold con ambas AppBars, la snackBar mientras que en el slot del contenido principal implementará un NavHost que será el contenedor de ListadoScreen o de TrabajoScreen según el caso. Para entender mejor el funcionamiento, puedes descargar el siguiente vídeo.
En este caso, como queremos que la aplicación sea lo más real posible, se deberán alojar los estados en los viewModels correspondientes, también se pasan como recurso para agilizar la implementación.
Por tanto, para desarrollar quedaría las pantallas:
Al pulsar sobre la opción Salir Aplicación, del menú desplegable, se cerrará la aplicación. Para ello usaremos el siguiente código:
val activity = LocalContext.current as? Activity
activity?.finish()
//tendrás que situarlo como corresponda
Además como hemos visto en los apuntes, deberemos crear el paquete navigation para incluir todo lo referente a la navegación, se quedarán los archivos: