Title: Kotlin
Course: 2025 - LISI - Desarrollo de Aplicaciones Moviles 4-1 y 4-2

Q: Puedes crear un emulador para simular la configuración de un tipo concreto de dispositivo Android utilizando la herramienta_____________.
- Editor de temas
- SDK Manager
- AVD Manager
- Virtual Box
A: AVD Manager

Q: Es un metodo que se invoca cada vez que el usuario hace click o toca un elemento pulsable en la pantalla, por ejemplo, un boton.
- manejador de eventos
- funcion callback
- constructor sin argumentos
- react hook
- react state
- manejador de click
A: manejador de click

Q: ¿Cuál es el parámetro que especifíca el nivel de API de Android que debe usar Gradle para compilar la aplicación?
- minSdkVersion
- compileSdkVersion
- targetSdkVersion
- testSdkVersion
A: compileSdkVersion

Q: Un ScrollView puede contener solamente una vista o un grupo de vistas como un objeto hijo.
- True
- False
A: True

Q: Se puede mostrar u ocultar una vista en la aplicación configurando su visibilidad. ¿Cuáles de los siguientes son valores de visibilidad válidos?
- Visible
- Gone
- Clear
- Invisible
- Ninguno
A: Visible; Gone; Invisible

Q: Una _____________ es un grupo de vistas vinculadas entre sí mediante restricciones bidireccionales.
- mosca parada en la pared
- ventana al cielo
- torta sefes
- cadena
- recursada
A: cadena

Q: ¿Cuál de las siguientes frases significa que el compilador valida los tipos durante la compilación?
- Type safety
- Data binding
- Type validation
- Wrong text
A: Type safety

Q: ¿Cuál de las siguientes afirmaciones no es cierta en relación con los fragments?
- Un fragment tiene su propio ciclo de vida y recibe sus propios eventos de entrada.
- No es posible eliminar un fragment mientras la actividad se está ejecutando.
- Un fragment se define en una clase Kotlin.
- La interfaz de usuario de un fragment se define en un archivo de diseño XML.
A: No es posible eliminar un fragment mientras la actividad se está ejecutando.

Q: La ____________ es un espacio dedicado a la marca y la identidad de las aplicaciones.
- mama de la mama
- repuesta que me dio chatgpt
- figura de acción
- barra de acción
- qué?
A: barra de acción

Q: El plugin________________del Navigation Component hace que el paso de parámetros entre fragments sea más seguro.
- Safe Args
- Elementor
- Vite
- Flutter
- Gradle
- Maven
A: Safe Args

Q: ¿Cuáles de los siguientes son métodos en los ciclos de vida de activities y fragments? Seleccione todos los que correspondan.
- onCreate()
- onDraw()
- onClick()
- onStart()
- onPause()
A: onCreate(); onStart(); onPause()

Q: Cuando su aplicación pasa a segundo plano, no está garantizado que se destruya. Es posible que solo se detenga y espere a que el usuario la retome.
- True
- False
A: True

Q: Un _______________ almacena los datos que se mostrarán en un fragmento o actividad, y puede realizar cálculos sencillos y transformaciones en los datos para prepararlos para ser mostrados por el controlador de la interfaz de usuario.
- ViewModel
- ModelViewController
- ModelView-ViewModel
- ceviche del paisa
- six bien muerto
A: ViewModel

Q: Es una forma de restringir el acceso directo a algunos de los campos de un objeto.
- Herencia
- Polimorfismo
- Encapsulamiento
- Abstracción
- Cerrarla con tres candados
- Remachar la puerta negra
A: Encapsulamiento

Q: Una __________________ representa un objeto o concepto, y sus propiedades, para almacenar en una base de datos.
- entidad paranormal
- entidad
- pizza hawaiana
- carnita asada
- clase Record
A: entidad

Q: Para que la interfaz de usuario funcione sin problemas, se deben utilizar _________ para las tareas de larga duración, como todas las operaciones de la base de datos.
- corutinas
- ViewModels
- sentencias de retorno
- hilos
A: corutinas

Q: Al utilizar el atributo enabled, se determina si la vista es visible o no.
- True
- False
A: False

Q: Cuando un usuario se desplaza por una lista de datos grande, el/la ___________ calcula qué nuevos elementos deben aparecer en la pantalla y hace el trabajo suficiente para mostrarlos.
- los/las
- ListView
- RecyclerView
- ScrollView
- ImageView
- View
- TextView
A: RecyclerView

Q: Un _________________ representa, por defecto, los elementos de una fila o columna cuando se utiliza GridLayout.
- grid
- layout
- list
- span
A: span

Q: Cuando se utiliza RecyclerView, debe manejar los clicks del botón en el ____________ porque tiene acceso a los datos y la lógica para determinar lo que debe suceder en respuesta al click.
- YouTube
- Twitch
- Discord
- DeepSeek
- TikTok
- Instagram
- ViewModel
- ModelViewController
- ModelView-ViewModel
A: ViewModel

Q: ¿Cuáles de los siguientes son gestores de diseño Android RecyclerView? Seleccione todos los que correspondan.
- GridLayoutManager
- RecyclingManager
- LinearLayoutManager
- CircularLayoutManager
A: GridLayoutManager; LinearLayoutManager

Q: ¿Cuál de los siguientes es un ViewGroup?
- EditText
- LineaLayout
- TextView
- Button
A: LineaLayout

Q: Un ScrollView es un ViewGroup que puede contener cualquier número de Views o ViewGroups como hijos.
- True
- False
A: False

Q: Para las vistas EditText, no es una buena práctica proporcionar sugerencias porque desordenan el campo de entrada.
- True
- False
A: False

Q: ¿Cuál de las siguientes afirmaciones es cierta sobre los botones?
- Un Button es un ViewGroup.
- Sólo puede tener un máximo de tres botones por pantalla.
- Los botones son clicables y, al hacer clic, el receptor de clic adjunto realiza una acción.
- Button es una extensión de ImageView.
A: Los botones son clicables y, al hacer clic, el receptor de clic adjunto realiza una acción.

Q: En un ConstraintLayout, ¿Cuál de las siguientes restricciones es necesaria para posicionar una vista en la pantalla?
- Dos restricciones horizontales.
- Una restricción vertical.
- Al menos una restricción horizontal y una vertical.
- No es necesario restringir la vista.
A: Al menos una restricción horizontal y una vertical.

Q: La restricción de línea de base alinea la línea de base del texto de una vista con la línea de base del texto de otra vista.
- True
- False
A: True

Q: ¿Por qué es conveniente utilizar la vinculación de datos en lugar de llamadas a findViewById()?
- El código es más corto, más fácil de leer y de mantener.
- findViewById() se ejecuta en el hilo principal de la interfaz de usuario.
- Estas llamadas pueden ralentizar la interfaz de usuario.
- Es menos probable que tu aplicación se bloquee.
A: El código es más corto, más fácil de leer y de mantener.

Q: ¿Qué extensión de archivo se utiliza para guardar archivos Kotlin?
- .java
- .kot
- .kt o .kts
- .android
A: .kt o .kts

Q: ¿Qué palabra reservada se utiliza para definir una variable inmutable?
- var
- val
- immulvar
- immutableVar
A: val

Q: Kotlin y Java son interoperables entre si.
- True
- False
A: True

Q: ¿Qué comando retorna la longitud de una cadena en Kotlin?
- str.length
- length(str)
- str.lengthOf
- str.getLength()
A: str.length

Q: ¿Cuál de las siguientes opciones se utiliza para escribir código seguro contra valores nulos en Kotlin?
- Rango
- Clase sellada
- Operador Elvis
- Operador de llamada segura
- Función Lambda
A: Operador de llamada segura

Q: ¿Cuál es la forma correcta de crear un Arraylist en Kotlin?
- val map = hashMapOf(1 to "uno", 2 to "dos", 3 to "tres")
- enum class Color {ROJO, VERDE, AZUL}
- val set = hashSetOf(1, 2, 3)
- val list = arrayListOf(1, 2, 3)
A: val list = arrayListOf(1, 2, 3)