S2 · Activity, Java y XML
Bloques S05–S07 y matices de S17. Cuatro opciones y una sola correcta por pregunta. El código es el del temario (biblioteca android.support); su equivalente actual usa AndroidX.
Qué es una Activity
Según la definición de Android Developers que cita el temario, ¿qué es una Activity?
- Un fichero XML con el diseño de la interfaz.
Esa es solo su parte gráfica.
- Un componente de la aplicación con una pantalla con la que el usuario interactúa, y una ventana donde dibuja su interfaz.
Correcta (S05.1).
- Un proceso del kernel de Linux.
No.
- El gestor que instala y borra aplicaciones.
Eso es el administrador de aplicaciones.
Repasar: S05.1.
Pila de actividades
La app muestra Main. Main abre Detalle y Detalle abre Mapa. El usuario pulsa Atrás una vez. ¿Qué ocurre?
- Se destruye
Mainy se muestraMapa.La pila es LIFO: sale la última en entrar.
- Se cierran las tres actividades.
Solo sale la de la cima.
- Se reanuda
MainyDetallequeda en la pila.Se reanuda la anterior a
Mapa, que esDetalle. -
Mapase quita de la pila y se destruye; se reanudaDetalle.Correcta: la pila es LIFO (S05.2).
Repasar: S05.2.
Actividad anterior
Cuando una actividad inicia otra nueva, ¿qué ocurre con la anterior según el temario?
- Se destruye inmediatamente.
Se conserva en la pila.
- Se detiene, pero el sistema la conserva en la pila de actividades.
Correcta (S05.2).
- Sigue en primer plano junto a la nueva.
La nueva capta el foco.
- Se convierte en la actividad principal.
No.
Repasar: S05.2.
Parte lógica y gráfica
¿Qué reparto entre parte lógica y parte gráfica de una actividad es correcto?
- Lógica en el fichero
.java; gráfica, normalmente en un fichero.xmlcon los elementos visibles y los layouts.Correcta (S05.3).
- Lógica en el
.xmly gráfica en el.java.Es al revés.
- Ambas en
AndroidManifest.xml.El manifiesto declara las actividades.
- La interfaz solo puede crearse en XML.
También puede crearse programáticamente en Java, aunque cuesta más.
Repasar: S05.3.
Función del manifiesto
Según el temario, ¿qué recoge AndroidManifest.xml?
- El código Java de todas las actividades.
Está en los ficheros
.java. - El diseño de la interfaz de la actividad principal.
Está en
activity_main.xml. - Todas las actividades de la app y cuál es la actividad con la que arranca.
Correcta (S05.3).
- La lista de dispositivos virtuales.
No.
Repasar: S05.3.
Actividad de arranque
¿Cómo se marca en el manifiesto la actividad que aparece en el lanzador?
- Con
tools:contexten su layout.Ese atributo solo sirve al editor.
- Llamándola
MainActivity.El nombre no basta.
- Llamando a
setContentViewen suonCreate.Eso enlaza el layout, no la convierte en actividad de arranque.
- Con un
intent-filterque combina la acciónMAINy la categoríaLAUNCHER.Correcta (aclaración de S05.3).
Repasar: S05.3.
Herencia
En public class MainActivity extends AppCompatActivity, ¿qué indica extends AppCompatActivity?
- Que
MainActivityimplementa una interfaz.extendses herencia de clase. - Que
MainActivityhereda lo necesario para comportarse como una actividad.Correcta (S06).
- Que
MainActivityes la actividad de arranque.Eso se indica en el manifiesto.
- Que la actividad solo funciona en versiones antiguas.
No.
Repasar: S06.
Primera línea de onCreate
En el onCreate del temario, ¿qué debe hacerse lo primero?
- Llamar a
setContentView.Va después.
- Declarar el paquete.
El paquete se declara al principio del fichero, no en el método.
- Llamar a
finish().Cerraría la actividad.
- Llamar a
super.onCreate(savedInstanceState).Correcta; si falta, Android lanza
SuperNotCalledException(S06).
Repasar: S06.
Enlazar lógica e interfaz
¿Qué instrucción hace que MainActivity muestre en ejecución la interfaz de res/layout/activity_main.xml?
-
setContentView(R.layout.activity_main);Correcta (S06).
-
SetContentView(R.Layout.activity_main);No compila: Java distingue mayúsculas y minúsculas.
-
setContentView(R.layout.activity_main.xml);El identificador del recurso va sin extensión.
-
tools:context="com.example.dell.holamundo.MainActivity"Es un atributo del XML para el editor de diseño.
Repasar: S06, S06.1.
Clase R
¿Qué es R en R.layout.activity_main?
- Una clase de la biblioteca estándar de Java.
No.
- Una variable que hay que declarar en
MainActivity.No se declara a mano.
- Una clase generada automáticamente con un identificador por cada recurso.
Correcta (S06.1).
- El nombre del paquete de la app.
No.
Repasar: S06.1.
savedInstanceState
¿Cuánto vale savedInstanceState cuando la actividad se crea por primera vez?
- Un
Bundlecon el texto del layout.No.
-
null.Correcta: solo contiene datos al recrear la actividad tras guardar estado (S06, S15.3).
- Un
Bundlevacío pero no nulo.En la primera creación es
null. - El identificador
R.layout.activity_main.No.
Repasar: S06, S15.3.
Centrar el TextView
En activity_main.xml, el TextView tiene cuatro restricciones app:layout_constraint…_to…Of="parent" (arriba, abajo, izquierda y derecha). ¿Qué efecto tienen?
- Hacen que ocupe toda la pantalla.
El tamaño lo fija
wrap_content. - Lo colocan en la esquina superior izquierda.
Faltarían las restricciones opuestas.
- Lo centran horizontal y verticalmente en el padre.
Correcta (S07).
- Ocultan el texto hasta que se pulsa.
No.
Repasar: S07.
match_parent y wrap_content
¿Qué diferencia hay entre match_parent y wrap_content?
- Son sinónimos.
No son intercambiables.
-
match_parentmide lo justo para el contenido ywrap_contentocupa el padre.Es al revés.
- Solo se pueden usar en
TextView.Se usan en cualquier vista o layout.
-
match_parentocupa el tamaño del padre;wrap_contentmide lo justo para el contenido.Correcta (S07).
Repasar: S07.
tools:context
¿Para qué sirve tools:context en el layout?
- Para asociar el layout a la actividad en ejecución.
Eso lo hace
setContentView. - Para dar contexto al editor de diseño; no llega a la app instalada.
Correcta (aclaración de S07).
- Para declarar la actividad en el manifiesto.
No.
- Para fijar el texto del
TextView.Eso es
android:text.
Repasar: S07.
Progreso del cuestionario
0 / 0 preguntas respondidas (0%)
0 correctas
¡Cuestionario completado!
0%
0 / 0 correctas
Tiempo: