---
# System prepended metadata

title: Examen práctico Kotlin-Compose
tags: [kotlin]

---

Examen práctico Kotlin-Compose

- descarga las imágenes, usa la que tenga el último número de tu número de lista
- crea una variable con el nombre de tu avatar, tu color personalizado y otra con tu nombre
- tienen que crear un fichero con la conversación que les incluyo.

Haz la estructura básica del siguiente proyecto tal y como mostramos en la imagen.

![image](https://hackmd.io/_uploads/SJlrGGjoXT.png)

![image](https://hackmd.io/_uploads/SyAEGisQ6.png)


Estos son los elementos principales:
1) un Scaffold con el color de letra según número de lista pasado como parámetro y el color de fondo configurado con el valor de tu número de lista, como color primario en el MaterialTheme.
**1,5 puntos**
2)la ficha con la foto y nombre del alumno y el nombre del profeso,borde,  color de fondo y sombra grises
 **1,5 básico+ 0,5 si se pasan ambos valores como parámetros**
3)Tendrá que mostrar la conversación del archivo adjunto, se podrá desplegar cada apartado, fondo gris si no está desplegado y magenta por defecto si se despliega.
**2 puntos si tiene el mismo aspecto 
4) Botón por defecto del mismo color magenta que el texto desplegado, al pulsar elige de manera aleatoria el color de fondo para sí mismo y los segmentos ampliados en el apartado anterior.
` val listaColores= listOf(Color.Green, Color.Blue, Color.Red, Color.Cyan)`
**1 puntos si el botón cambia de color+2 puntos si también cambia el texto desplegado**


Además se valorará que se hayan creado las vistas necesarias y se han separado los distintos componentes de manera organizada.
**1 si se ha realizado de manera básica+0,5 si se crea un spacer vertical y horizontal que acepte el espacio como parámetro. **
> Entrega:  Se incluirá el link al github o el proyecto comprimido.
> 
> No suma pero resta:  - 1 punto si no se utiliza control de versiones y si no se sube a github.
> 
> IMPORTANTE: 
> 
> - pueden utilizar internet o proyectos anteriores de referencia, pero no inteligencia artificial. 
> - En el github no puede aparecer ningún push posterior a la fecha de finalización del examen, será motivo de no superar la prueba práctica. 
> - La calificación está sujeta a que respondan varias preguntas y solicitudes en la semana siguiente a la realización de la prueba, en caso de no saber responder la prueba quedará como no superada. 
> - Si no utilizan los colores y avatares indicados según su orden de lista la prueba no está superada. 



Color pasado como variable
val alumno0=Color(0xFFEA80FC)
val alumno1=Color(0xFF8C9EFF)
val alumno2=Color(0xFFFFD180)
val alumno3=Color(0xFFFF9E80)
val alumno4=Color(0xFFA7FFEB)
val alumno5=Color(0xFFDD2C00)
val alumno6=Color(0xFF64DD17)
val alumno7=Color(0xFF00BFA5)
val alumno8=Color(0xFFAA00FF)
val alumno9=Color(0xFFFFD600)

Color de fondo para configurar como color primario en el MatherialTheme


val background0=Color(0xFFB71C1C)
val background1=Color(0xFF311B92)
val background2=Color(0xFF004D40)
val background3=Color(0xFF01579B)
val background4=Color(0xFF006064)
val background5=Color(0xFF9B9594)
val background6=Color(0xFFD2ECC2)
val background7=Color(0xFF89A5A1)
val background8=Color(0xFFDED0E6)
val background9=Color(0xFFDAD8CD)

```
object Mensajes {
    // Sample conversation data
    val conversationSample = listOf(
        Message(
            "Profesor",
            "Pues si utilizan todo lo que hemos dado en clase con sabiduría no deberían tener problemas"
        ),
        Message(
            "Profesor",
            "Con este ejercicio practican:\n" +
                    "Lo que vimos del instructivo, de hecho pueden partir de ahí\n" +
                    "De la aplicación de loterías cómo hacer observables, con variables que se leen en tiempo de ejecución\n" +
                    "También del de loterías cómo seleccionar un elemento aleatorio de una lista\n" +
                    "Los botones lo hemos visto en varios proyectos\n" +
                    "Así como el lazyrow y cómo modificar el layout\n" +
                    "También hemos visto cómo crear componentes que pueden cambiar dependiendo de los parámetros\n" +
                    "Espero que les sirva de ayuda)\n"
        ),
        Message(
            "Profesor",
            "Si no han practicado lo tienen fastidiado pero ...es lo que tiene.\n" +
                    "Hay que echarle horas para poder hacerlo rápido en los examenes!"
        ),
        Message(
            "Profesor",
            "También vimos cómo cambiar colores definidos en el MatherialTheme."

        ),
        Message(
            "Profesor",
            "Se me ocurrieron montón de cosas para mejorar esto como que pudieras poner distintos avatares automáticamente si eres profesor o alumno, pero ya me flipé un poco. "
        ),
        Message(
            "Profesor",
            "Pues mucha suerte!\n" +
                    "En este examen y en el futuro" +
                    "No queda nada para empezar las prácticas." +
                    "Ánimooooooooooooo:)"
        )
    )
}
```