wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

APLICACIONES MOVILES II - PRACTICA

Total questions: 106

Worksheet time: 53mins

Name
Class
Date
1.

¿Qué componente se utiliza para mostrar texto en React Native?

a)

View

b)

Image

c)

Button

d)

Text

2.

¿Cuál de estos componentes es ideal para envolver otros componentes?

a)

TouchableOpacity

b)

FlatList

c)

View

d)

Text

3.

¿Qué propiedad del componente Image especifica la fuente de la imagen?

a)

path

b)

source

c)

imageSrc

d)

file

4.

¿Qué componente se utiliza para hacer clic sobre un texto o imagen?

a)

ScrollView

b)

TouchableOpacity

c)

View

d)

TextInput

5.

¿Qué componente permite la entrada de texto del usuario?

a)

Button

b)

InputText

c)

TextField

d)

TextInput

6.

¿Qué propiedad de TextInput se usa para obtener su valor?

a)

value

b)

input

c)

data

d)

text

7.

¿Cuál de los siguientes es un componente de scroll en React Native?

a)

ScrollView

b)

Image

c)

Alert

d)

TouchableHighlight

8.

¿Qué componente muestra una lista de forma eficiente en React Native?

a)

View

b)

Text

c)

FlatList

d)

SafeAreaView

9.

¿Cuál es el valor por defecto del estado al usar useState()?

a)
b)

0

c)

false

d)

Depende del valor inicial

10.

¿Qué componente se usa para mostrar una imagen en React Native?

a)

Text

b)

FlatList

c)

Button

d)

Image

11.

¿Qué propiedad se usa para aplicar estilos a un componente?

a)

style

b)

css

c)

styles

d)

design

12.

¿Qué componente encapsula la pantalla en React Native?

a)

View

b)

Container

c)

Div

d)

Block

13.

¿Cuál no es un componente nativo de React Native?

a)

Button

b)

Slider

c)

TextView

d)

Image

14.

¿Cómo se alinea el contenido al centro verticalmente?

a)

textAlign: 'center'

b)

alignItems: 'center'

c)

justifyContent: 'center'

d)

align: 'middle'

15.

¿Qué propiedad en View se usa para el fondo?

a)

bgColor

b)

background

c)

backgroundColor

d)

color

16.

¿Qué hace el componente SafeAreaView?

a)

Aplica sombra

b)

Evita solaparse con la barra de estado

c)

Agrega margen

d)

Cambia el fondo

17.

¿Cómo se usa un estilo en línea?

a)

style="..."

b)

style={{ color: 'red' }}

c)

css="color:red"

d)

styles="color: red"

18.

¿Qué componente permite realizar scroll horizontal y vertical?

a)

ScrollView

b)

View

c)

TextInput

d)

Touchable

19.

¿Qué propiedad evita que el teclado tape el contenido?

a)

keyboardOffset

b)

keyboardHides

c)

keyboardAvoidingView

d)

autoKeyboard

20.

¿Qué es JSX en React Native?

a)

Un navegador

b)

Un plugin

c)

Una extensión para CSS

d)

Sintaxis similar a HTML para definir UI

21.

¿Qué propiedad se usa para ocultar un componente?

a)

display: 'none'

b)

visible: false

c)

opacity: 0

d)

style={{ display: 'none' }}

22.

¿Qué componente se recomienda para detectar gestos de usuario?

a)

TouchableHighlight

b)

Text

c)

View

d)

Alert

23.

¿Qué propiedad de FlatList define los datos?

a)

data

b)

info

c)

items

d)

dataset

24.

¿Qué propiedad se usa para cambiar el tamaño de fuente?

a)

fontSize

b)

size

c)

textSize

d)

font

25.

¿Qué propiedad en Text hace el texto en negrita?

a)

bold

b)

fontWeight: 'bold'

c)

strong

d)

textStyle: 'bold'

26.

¿Qué hace el componente ActivityIndicator?

a)

Muestra una imagen

b)

Carga datos

c)

Muestra un spinner de carga

d)

Notifica

27.

¿Cuál no es una propiedad válida en un Button?

a)

title

b)

onPress

c)

color

d)

value

28.

¿Qué tipo de archivo es típico para definir estilos en React Native?

a)

.css

b)

.scss

c)

.jsx

d)

.js

29.

¿Qué tipo de archivo es típico para definir estilos en React Native?

a)

css

b)

scss

c)

jsx

d)

js

30.

¿Cómo se define un estado con valor inicial en blanco?

a)

useState("")

b)

useState(null)

c)

useState(0)

d)

useState({})

31.

¿Qué biblioteca se usa comúnmente para la navegación en React Native?

a)

react-router

b)

react-navigator

c)

react-native-navigation

d)

@react-navigation/native

32.

¿Qué comando se usa para instalar React Navigation?

a)

npm install react-navigation

b)

npm install navigation-native

c)

npm i @react-navigation/native

d)

expo install react-navigator

33.

¿Qué tipo de navegación usa pestañas en la parte inferior?

a)

Drawer Navigator

b)

Switch Navigator

c)

Tab Navigator

d)

Stack Navigator

34.

¿Qué hook se usa para navegar programáticamente?

a)

useMove

b)

useRouter

c)

useHistory

d)

useNavigation

35.

¿Qué componente se usa para navegación en pila?

a)

NavigationStack

b)

createStack

c)

createStackNavigator

d)

StackCreator

36.

¿Qué propiedad define el nombre de una pantalla?

a)

screen

b)

title

c)

route

d)

name

37.

¿Qué componente se usa para contener toda la navegación?

a)

AppContainer

b)

Router

c)

NavigationWrapper

d)

NavigationContainer

38.

¿Qué tipo de navegación permite un menú lateral?

a)

Tab Navigator

b)

Drawer Navigator

c)

Stack Navigator

d)

Page Navigator

39.

¿Qué función cambia de pantalla en Stack Navigator?

a)

navigate

b)

push

c)

goTo

d)

redirect

40.

¿Qué propiedad define las pantallas dentro de un stack?

a)

screens

b)

pages

c)

children

d)

component={...}

41.

¿Qué hook permite acceder a los parámetros enviados por navegación?

a)

useParams

b)

useRoute

c)

getParams

d)

useScreen

42.

¿Cuál de estos se necesita instalar para navegación en pestañas?

a)

react-native-screens

b)

react-native-gesture-handler

c)

react-native-tab-view

d)

@react-navigation/bottom-tabs

43.

¿Qué propiedad se usa para ocultar el encabezado en Stack Navigator?

a)

noHeader

b)

hideHeader

c)

options={{ headerShown: false }}

d)

displayHeader: false

44.

¿Qué hook permite acceder al historial de navegación?

a)

useHistory

b)

useRoute

c)

useNavigation

d)

usePath

45.

¿Cómo se navega hacia atrás en Stack Navigation?

a)

navigateBack()

b)

router.back()

c)

goBack()

d)

closeScreen()

46.

¿Qué método reemplaza la pantalla actual?

a)

replace

b)

navigate

c)

reset

d)

goBack

47.

¿Qué pantalla se muestra al iniciar si no se especifica otra?

a)

Last

b)

Splash

c)

Inicio

d)

Primera definida en el stack

48.

¿Qué hook permite reiniciar el stack?

a)

reset

b)

goHome

c)

startOver

d)

clearStack

49.

¿Qué paquete instala las dependencias de Gesture Handler?

a)

react-native-gesture-handler

b)

react-native-handler

c)

expo-gesture

d)

navigation-handler

50.

¿Qué componente contiene las pantallas de Tab Navigation?

a)

TabScreen

b)

TabsView

c)

Tab.Navigator

d)

TabsWrapper

51.

¿Qué propiedad cambia el icono en la pestaña?

a)

icon

b)

tabIcon

c)

options={{ tabBarIcon: ... }}

d)

tabOptions

52.

¿Qué hook se usa para acceder al nombre de la pantalla actual?

a)

useScreen

b)

usePage

c)

useRoute

d)

getScreen

53.

¿Qué tipo de navegación permite cambiar toda la pila?

a)

reset

b)

replace

c)

redirect

d)

clear

54.

¿Qué propiedad se usa para cambiar el título de una pantalla?

a)

title

b)

screenTitle

c)

navigationOptions

d)

options={{ title: 'Texto' }}

55.

¿Cuál es el propósito de initialRouteName?

a)

Define el nombre del stack

b)

Renombra las rutas

c)

Elimina la primera ruta

d)

Define la pantalla que se abre primero

56.

¿Qué librería se instala con react-native-screens para mejorar el rendimiento?

a)

react-performance

b)

screen-manager

c)

react-native-perf

d)

react-native-safe-area-context

57.

¿Qué opción define la animación entre pantallas?

a)

screenTransition

b)

stackAnimation

c)

animation

d)

options={{ animationEnabled: false }}

58.

¿Qué se pasa como name en una pantalla del stack?

a)

Nombre de componente

b)

Nombre del archivo

c)

ID

d)

Identificador único de ruta

59.

¿Qué componente permite navegación dentro de una pestaña?

a)

Stack.Navigator

b)

Drawer.Navigator

c)

Route

d)

Link

60.

¿Qué tipo de base de datos es Airtable?

a)

SQL

b)

Relacional clásica

c)

NoSQL

d)

Híbrida tipo hoja de cálculo

61.

¿Qué se necesita para usar Airtable desde React Native?

a)

Driver de base de datos

b)

Plugin móvil

c)

API Key

d)

Conexión directa

62.

¿Qué protocolo utiliza Airtable para su API?

a)

FTP

b)

WebSocket

c)

SOAP

d)

HTTP/REST

63.

¿Qué método se usa para obtener datos en Airtable?

a)

PUT

b)

POST

c)

GET

d)

PATCH

64.

¿Qué identificador se necesita para acceder a una tabla específica?

a)

Nombre del workspace

b)

Token

c)

Base ID

d)

Campo clave

65.

¿Dónde se encuentra el Base ID en Airtable?

a)

En la URL de la base

b)

En el nombre de la tabla

c)

En configuración avanzada

d)

No se puede ver

66.

¿Qué librería facilita peticiones HTTP en React Native?

a)

react-fetch

b)

axios

c)

api-connect

d)

airtable.js

67.

¿Cómo se crea un nuevo registro en Airtable?

a)

Usando método GET

b)

Con formulario

c)

POST a la URL de la tabla con los campos

d)

Desde consola

68.

¿Qué formato debe tener la data enviada a Airtable?

a)

XML

b)

Texto plano

c)

application/sql

d)

application/json

69.

¿Qué método se usa para actualizar parcialmente un registro?

a)

GET

b)

PUT

c)

PATCH

d)

INSERT

70.

¿Qué clave contiene los campos de un registro en la API de Airtable?

a)

data

b)

columns

c)

attributes

d)

fields

71.

¿Cómo se identifica un registro específico?

a)

Por el nombre

b)

Por posición

c)

Por ID único del registro

d)

Por orden de creación

72.

¿Qué hace el método DELETE en la API de Airtable?

a)

Reemplaza un registro

b)

Muestra detalles

c)

Borra un registro específico

d)

Vacía la tabla

73.

¿Qué cabecera se debe incluir en las peticiones HTTP?

a)

Authorization: Bearer TU_API_KEY

b)

Content-Token

c)

X-Request-Key

d)

Accept-Language

74.

¿Cuál es la URL base general de la API de Airtable?

a)

https://airtable.app/api

b)

https://api.airtable.io

c)

https://api.airtable.com/v0/

d)

https://connect.airtable.net

75.

¿Qué propiedad almacena el ID del registro devuelto por la API?

a)

_id

b)

key

c)

recordId

d)

id

76.

¿Qué campo representa cada tabla en la API?

a)

resource

b)

tableId

c)

table

d)

itemSet

77.

¿Qué código HTTP indica que un registro fue creado correctamente?

a)

200

b)

201

c)

204

d)

401

78.

¿Qué librería nativa puede ayudar con fetch() en React Native?

a)

axios

b)

airtable.js

c)

expo-network

d)

fetch está integrada nativamente

79.

¿Qué método se recomienda para leer muchos registros?

a)

GET a la URL de la base + tabla

b)

SELECT *

c)

POST con filtro

d)

PATCH con limit

80.

¿Qué significa CRUD?

a)

Copy, Run, Upload, Delete

b)

Create, Read, Update, Delete

c)

Code, Refresh, Undo, Debug

d)

Create, Remove, Use, Deploy

81.

¿Qué se requiere para consumir Airtable desde React Native?

a)

Servidor intermedio

b)

Base relacional

c)

Conexión externa

d)

Conexión vía HTTP usando API Key y Base ID

82.

¿Cómo se actualiza un registro completamente?

a)

Con GET

b)

Con PUT

c)

Con PATCH

d)

Con POST

83.
  1. ¿Cuál es el resultado de este código?

const [count, setCount] = useState(0);

useEffect(() => { setCount(5); }, []);

a)

count siempre será 0

b)

count iniciará en 5

c)

count será 0 y luego 5

d)

Error de estado

84.
  1. ¿Cuál es la forma correcta de navegar a una pantalla llamada "Perfil"?

a)

navigation.to("Perfil")

b)

goTo("Perfil")

c)

navigation.navigate("Perfil")(

d)

link("Perfil")

85.
  1. ¿Qué hace este código?

const [text, setText] = useState("");

<TextInput onChangeText={setText} value={text} />

a)

Muestra un botón

b)

Captura texto pero no lo guarda

c)

Guarda el texto ingresado

d)

No hace nada

86.
  1. ¿Qué hace este fragmento?

axios.get("https://api.airtable.com/v0/baseID/tabla", {

  headers: { Authorization: `Bearer API_KEY` }

});

a)

Envía un POST a Airtable

b)

Obtiene registros de Airtable

c)

Elimina una base

d)

Crea un campo en Airtable

87.
  1. ¿Qué retorna este useEffect?

useEffect(() => {

  return () => console.log("Desmontado");

}, []);

a)

Nada

b)

Se ejecuta en montaje

c)

Se ejecuta al desmontar el componente

d)

Da error

88.
  1. ¿Qué ocurre con este código?

<Text>{count}</Text>

<Button title="+" onPress={() => setCount(count + 1)} />

a)

Muestra texto estático

b)

Botón sin acción

c)

Contador que incrementa

d)

Contador que incrementa de dos en dos

89.
  1. ¿Qué hace este código?

const response = await fetch(URL);

const data = await response.json();

a)

Llama una función JSON

b)

Envía datos en JSON

c)

Obtiene y transforma respuesta JSON

d)

Es async pero sin promesa

90.
  1. ¿Qué ocurre al usar axios.post(...) con un body válido en Airtable?

a)

Elimina un registro

b)

Actualiza

c)

Crea un nuevo registro

d)

No tiene efecto

91.
  1. ¿Cuál es la diferencia entre useState(0) y useState("0")?

a)

Ninguna

b)

Son lo mismo

c)

El segundo es string

d)

Son lo mismo solo cambia " "

92.
  1. ¿Para qué sirve este código?

<FlatList data={datos} renderItem={({item}) => <Text>{item.nombre}</Text>} />

a)

Crea un formulario

b)

Muestra lista de datos

c)

Conecta base de datos

d)

Captura eventos

93.
  1. ¿Qué devuelve este código?

<Text>{JSON.stringify(data)}</Text>

a)

Nada

b)

Texto plano

c)

Imprime objeto como string

d)

Error de parseo

94.
  1. ¿Qué ocurre con await sin async?

a)

Error de sintaxis

b)

Funciona igual

c)

Se ignora

d)

Se ejecuta más rápido

95.
  1. ¿Qué hace mal este código?

useEffect(() => {

  fetchData();

});

a)

Se ejecuta solo una vez

b)

Está correcto

c)

Se ejecuta en bucle infinito

d)

No se ejecuta

96.
  1. ¿Qué hace mal este código con Airtable?

axios.get("https://api.airtable.com/base/tabla", {

  headers: {

    "Authorization": "API_KEY"

  }

});

a)

Funciona bien

b)

Falta método POST

c)

Falta el prefijo 'Bearer' en el token

d)

Está mal la URL

97.
  1. ¿Cuál es el problema aquí?

<FlatList

  data={datos}

  renderItem={(item) => <Text>{item.nombre}</Text>}

/>

a)

renderItem necesita destructuring

b)

data debe ser un objeto

c)

Text debe estar fuera

d)

FlatList no sirve para arrays

98.
  1. ¿Cuál es el error si se hace esto en un TextInput?

<TextInput value={valor} />

a)

No tiene onChangeText, no puede actualizar

b)

value debe ser boolean

c)

TextInput no acepta props

d)

Debe ser textValue

99.
  1. ¿Qué ocurre si se usa setState(state) directamente sin función de callback?

a)

Siempre actualiza bien

b)

Da error de estado

c)

Se ignoran cambios anteriores en operaciones encadenadas

d)

React resuelve el estado acumulado

100.
  1. ¿Cuál es la forma correcta de inicializar estado para un objeto con nombre y edad?

a)

const [user, setUser] = useState("nombre", 25);

b)

const [user, setUser] = useState({ nombre: "", edad: 0 });

c)

const [user, setUser] = useState(["nombre", 0]);

d)

const user = useState({ nombre: "", edad: 0 });

101.
  1. ¿Cuál es el uso correcto del useEffect para ejecutar solo una vez al montar el componente?

a)

useEffect(() => { cargarDatos(); }, []);

b)

useEffect(() => { cargarDatos(); });

c)

useEffect = () => { cargarDatos(); }

d)

useEffect(() => cargarDatos(), [estado]);

102.
  1. ¿Qué código elimina correctamente un registro en Airtable con Axios?

a)

axios.delete(`https://api.airtable.com/v0/appID/tabla/rec123`, {

  headers: { Authorization: "Bearer API_KEY" }

});

```

103.
  1. ¿Qué código permite hacer un botón que al pulsarlo aumente en 1 el estado contador?

a)

<Button title="Sumar" onPress={() => setContador(contador + 1)} />

b)

<Button title="Sumar" onClick={() => contador++} />

c)

<Button title="Sumar" setContador(contador + 1) />

d)

<Button onPress={() => contador + 1} />

104.
  1. ¿Cuál es el formato correcto para mostrar una lista usando FlatList?

a)

<FlatList

  items={lista}

  renderItem={item => <Text>{item.nombre}</Text>}

/>

b)

<FlatList

  data={lista}

  itemRender={item => <Text>{item.nombre}</Text>}

/>

c)

<FlatList

  data={lista}

  renderItem={({ item }) => <Text>{item.nombre}</Text>}

/>

d)

<FlatList

  datos={lista}

  renderItem={(item) => <Text>{item}</Text>}

/>

105.
  1. ¿Cuál de los siguientes fragmentos actualiza correctamente el estado basándose en el valor anterior?

a)

setContador(contador + 1);

b)

setContador(prev => prev + 1

c)

setContador(() => contador++);

d)

setContador = contador + 1;

106.
  1. ¿Cuál es la forma correcta de hacer un POST a Airtable usando Axios?

a)

axios.post("https://api.airtable.com/v0/appID/tabla",

  { fields: { nombre: "Pedro" } },

  { headers: { Authorization: "Bearer API_KEY" } }

); 

b)

axios.push("https://api.airtable.com/v0/appID/tabla", { nombre: "Pedro" });

c)

axios.post("https://airtable.com/appID/tabla", { nombre: "Pedro" });