Unidad 2 Flashcards

1
Q

¿Qué es Android y cuál es su objetivo principal?

A

Android es un SO para mobile, open source y diseñado para una amplia variedad de dispositivos con diferentes factores de forma.
Su objetivo principal es crear una plataforma abierta de software que permita a proveedores, OEMs y desarrolladores convertir sus ideas innovadoras en productos exitosos que mejoren la experiencia móvil de los usuarios.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuál es la base de la plataforma Android y qué servicios proporciona?

A

La base de la plataforma Android es una versión modificada del kernel de Linux. Proporciona servicios básicos como controladores de hardware, gestión de memoria, seguridad, red y administración de energía.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es la Capa de Abstracción del Hardware (HAL) en Android?

A

La HAL brinda interfaces estándar que exponen las capacidades del hardware del dispositivo al Android Framework sin conocer detalles sobre su implementación. Está compuesta por varios módulos de bibliotecas que implementan interfaces para diferentes componentes de hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué son las Bibliotecas Nativas en Android y cuándo se utilizan?

A

Las Bibliotecas Nativas son componentes y servicios centrales del sistema Android escritos en C y C++. Se utilizan cuando una aplicación requiere C o C++, accediendo a estas bibliotecas mediante el NDK de Android.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es el Android Runtime (ART) y cuáles son sus funciones principales?

A

ART es el entorno de ejecución donde las aplicaciones Android se ejecutan dentro de su propia instancia. Sus funciones principales incluyen compilación ahead-of-time (AOT) y just-in-time (JIT), y recolección de basura (GC) optimizada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué es el Android Framework y qué ofrece a los desarrolladores?

A

El Android Framework es un conjunto de API escritas en Java que proporciona las funciones necesarias para crear aplicaciones, permitiendo
la reutilización de componentes del sistema y servicios centrales como vistas,
recursos, notificaciones y
gestión del ciclo de vida de las aplicaciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuáles son los cuatro tipos de componentes de una aplicación Android?

A

Los cuatro tipos de componentes son: Actividades, Servicios, Receptores de emisiones y Proveedores de contenido. Cada uno tiene un propósito específico y un ciclo de vida característico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es el archivo de manifiesto en una aplicación Android y qué información contiene?

A

El archivo de manifiesto (AndroidManifest.xml) es donde la aplicación declara todos sus componentes. También identifica permisos de usuario requeridos, el nombre de la aplicación, el nivel de API mínimo, características de hardware y software utilizadas, y las bibliotecas de la API necesarias.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es Android Studio y cuáles son algunos de sus componentes principales?

A

Android Studio es un entorno de desarrollo integrado (IDE) para Android que incluye el SDK de Android, herramientas de compilación, emulador de Android, y un complemento de Gradle para Android, entre otros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué es un Intent en Android y cómo se utiliza para iniciar otra actividad?

A

Un Intent es un objeto que permite vincular dos componentes independientes en tiempo de ejecución, como dos actividades. Se utiliza el método startActivity() para iniciar otra actividad, pasándole una instancia de Intent que contiene información sobre el componente destino.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué es el ciclo de vida de una actividad en Android y cómo se puede conservar el estado de la UI?

A

El ciclo de vida de una actividad incluye métodos como onCreate(), onStart(), onResume(), onPause(), onStop(), y onDestroy(). Para conservar el estado de la UI, se pueden usar objetos ViewModel, el método onSaveInstanceState(), o almacenamiento local persistente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es un RecyclerView en Android y cuál es su ventaja principal?

A

RecyclerView es una biblioteca de vistas que facilita la muestra eficiente de grandes conjuntos de datos reciclando vistas. Su ventaja principal es la mejora en el rendimiento y la capacidad de respuesta de la aplicación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cómo se manejan las notificaciones en Android y qué son los canales de notificación?

A

Las notificaciones en Android se manejan utilizando la API de NotificationCompat. Los canales de notificación permiten categorizar las notificaciones, permitiendo a los usuarios controlar las opciones visuales y auditivas de cada canal desde la configuración del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es Gradle y cómo se utiliza en Android Studio?

A

Gradle es un sistema de compilación utilizado en Android Studio. Permite personalizar, configurar y extender el proceso de compilación, crear varios APK para una aplicación con diferentes funciones, y gestionar las dependencias del proyecto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es un AVD y cuál es su propósito en el desarrollo de aplicaciones Android?

A

Un AVD (Android Virtual Device) es una configuración que define las características de un dispositivo Android simulado. Se utiliza en el Android Emulator para probar aplicaciones en diferentes dispositivos o niveles de API sin necesidad de contar con dispositivos físicos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué es el Android Debug Bridge (adb) y cuáles son sus componentes principales?

A

El adb es una herramienta de línea de comandos que permite la comunicación con un dispositivo Android virtual o físico. Sus componentes principales son un cliente, un demonio (adbd) y un servidor que administra la comunicación entre ambos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué es Kotlin y por qué es relevante en el desarrollo de aplicaciones Android?

A

Kotlin es un lenguaje de programación orientado a objetos de tipado estático que corre sobre la máquina virtual de Java y también puede ser compilado a JavaScript. Es relevante en el desarrollo de aplicaciones Android por su compatibilidad y mejora de la productividad en comparación con Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Cómo se estructura un proyecto en Android Studio?

A

Un proyecto en Android Studio incluye uno o más módulos con archivos de código fuente y recursos. La estructura típica incluye carpetas para manifiestos, código Java, recursos (res), y scripts de compilación (Gradle Scripts).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué es el ConstraintLayout y cuál es su ventaja en la creación de interfaces de usuario?

A

ConstraintLayout es un diseño que define la posición de cada vista a partir de restricciones sobre el diseño del contenedor y las vistas secundarias. Su ventaja es permitir la creación de diseños complejos con una jerarquía de vistas plana, mejorando el rendimiento de la UI.

20
Q

¿Qué es el ViewModel y cuál es su función principal en el ciclo de vida de una actividad?

A

ViewModel es una clase diseñada para almacenar y gestionar datos relacionados con la UI de manera que sobrevivan a los cambios de configuración como la rotación de la pantalla. Permite un acceso rápido a los datos y ayuda a evitar la necesidad de recuperar datos de la red o del disco durante estos cambios.

21
Q

¿Qué es onSaveInstanceState() y cuándo se debe utilizar?

A

onSaveInstanceState() es un callback que permite almacenar datos necesarios para volver a cargar el estado de una actividad o fragmento si el sistema lo destruye y luego lo recrea. Se debe utilizar para guardar una cantidad mínima y necesaria de datos transitorios de la UI.

22
Q

¿Qué es un Intent explícito y un Intent implícito en Android?

A

Un Intent explícito especifica el componente exacto al que se debe entregar el Intent, como una actividad o servicio específico. Un Intent implícito no especifica el componente exacto, sino que declara una acción general que puede ser manejada por cualquier componente que lo soporte.

23
Q

¿Qué es un PendingIntent y cuándo se utiliza?

A

Un PendingIntent es un token que permite que otro proceso (como un Servicio o una aplicación de terceros) ejecute un Intent como si fuera la aplicación original. Se utiliza comúnmente en notificaciones para que una aplicación responda a eventos en segundo plano.

24
Q

¿Qué es un RecyclerView.Adapter y qué métodos debe implementar?

A

RecyclerView.Adapter es una clase que crea objetos ViewHolder y los asocia a los datos del RecyclerView. Debe implementar los métodos onCreateViewHolder(), onBindViewHolder() y getItemCount() para gestionar la creación y vinculación de vistas y el tamaño del conjunto de datos.

25
Q

¿Cómo se pueden manejar los cambios de configuración en una actividad sin que se reinicie?

A

Para manejar los cambios de configuración sin reiniciar la actividad, se puede declarar en el archivo de manifiesto que la actividad maneje los cambios utilizando el atributo android:configChanges. Luego, se sobreescribe el método onConfigurationChanged() para realizar los ajustes necesarios.

26
Q

¿Qué es una notificación expandible y cómo se crea en Android?

A

Una notificación expandible permite mostrar más contenido de texto o imágenes en la notificación. Se crea aplicando una plantilla adicional a la notificación usando el método setStyle() de NotificationCompat.Builder.

27
Q

¿Qué es el uso de la etiqueta <include> en los diseños XML de Android?</include>

A

La etiqueta <include> permite reutilizar y agregar otro diseño dentro del diseño actual en archivos XML, facilitando la modularización y reutilización de componentes de la UI.</include>

28
Q

¿Qué es el uso de la etiqueta <merge> en los diseños XML de Android?</merge>

A

La etiqueta <merge> se utiliza para evitar grupos de vistas redundantes en la jerarquía de vistas cuando se incluye un diseño dentro de otro, mejorando la eficiencia del diseño de la UI.</merge>

29
Q

¿Cómo se agregan acciones a la barra de aplicaciones en Android?

A

Para agregar acciones a la barra de aplicaciones, se crea un archivo XML en el directorio res/menu/ y se definen las acciones con la etiqueta <item>. Luego, se implementa el método onCreateOptionsMenu() en la actividad para inflar el menú.</item>

30
Q

¿Qué son los canales de notificación y cómo se utilizan en Android?

A

Los canales de notificación permiten categorizar las notificaciones para que los usuarios puedan gestionarlas de forma individual. Se crean utilizando el NotificationChannel y se asignan a las notificaciones mediante NotificationCompat.Builder.

31
Q

¿Qué es el ciclo de vida de una actividad en Android?

A

El ciclo de vida de una actividad en Android incluye los métodos onCreate(), onStart(), onResume(), onPause(), onStop(), y onDestroy(). Estos métodos se llaman en respuesta a diferentes eventos del sistema, permitiendo a la aplicación gestionar la creación, inicialización, y destrucción de la actividad.

32
Q

¿Qué es un ViewGroup y cómo se utiliza en el diseño de la UI en Android?

A

Un ViewGroup es un contenedor que puede contener otros views (componentes de la UI como botones y cuadros de texto). Los ViewGroups controlan cómo se posicionan y visualizan sus vistas secundarias en la pantalla.

33
Q

¿Qué es un Intent Filter y cuál es su propósito en una aplicación Android?

A

Un Intent Filter es un elemento en el manifiesto de la aplicación que especifica las acciones, categorías y datos que un componente puede manejar. Permite a otras aplicaciones o componentes del sistema enviar intents que pueden ser recibidos y manejados por la aplicación.

34
Q

¿Qué es el método onConfigurationChanged() y cuándo se utiliza?

A

El método onConfigurationChanged() se llama cuando ocurre un cambio de configuración, como la rotación de la pantalla o el cambio de tamaño de la ventana. Se utiliza para realizar ajustes necesarios sin reiniciar la actividad.

35
Q

¿Qué es una Service en Android y cuáles son sus principales tipos?

A

Un Service es un componente que realiza operaciones en segundo plano sin una interfaz de usuario. Los principales tipos de servicios son Started Services, que se inician y ejecutan en segundo plano hasta que se detienen, y Bound Services, que permiten a otros componentes vincularse a ellos para interactuar y enviar solicitudes.

36
Q

¿Qué es un BroadcastReceiver y cómo se utiliza en Android?

A

Un BroadcastReceiver es un componente que permite a una aplicación recibir mensajes de difusión enviados por otras aplicaciones o el sistema. Estos mensajes pueden ser eventos del sistema, como el inicio del dispositivo, o eventos personalizados definidos por la aplicación.

37
Q

¿Qué es un ContentProvider y cuál es su función principal en Android?

A

Un ContentProvider es un componente que permite a las aplicaciones compartir datos con otras aplicaciones. Gestiona el acceso a una base de datos estructurada y proporciona un conjunto de métodos estándar para insertar, actualizar, eliminar y consultar datos.

38
Q

¿Qué es el archivo build.gradle y cuál es su propósito en un proyecto Android?

A

El archivo build.gradle es un script de configuración utilizado por Gradle para definir la forma en que se compila y empaqueta la aplicación. Incluye la configuración del proyecto, dependencias, y tareas de compilación.

39
Q

¿Qué es el Android Emulator y cuáles son sus ventajas y desventajas?

A

El Android Emulator es una herramienta que permite simular dispositivos Android en una computadora para probar aplicaciones. Ventajas: económico, hardware reconfigurable, pruebas sin afectar el dispositivo físico. Desventajas: lento, algunas características no disponibles, no garantiza que la aplicación funcione igual que en un dispositivo físico.

40
Q

¿Qué es el sistema de navegación de Android y cómo se gestiona la navegación entre actividades?

A

El sistema de navegación de Android gestiona cómo los usuarios se desplazan entre diferentes pantallas (actividades) dentro de una aplicación. La navegación entre actividades se gestiona mediante Intents, y el administrador de actividades mantiene una pila de actividades para el retroceso de navegación.

41
Q

¿Qué es una notificación emergente en Android y cuándo se utiliza?

A

Una notificación emergente es una notificación que aparece de inmediato en la pantalla del dispositivo cuando se emite y desaparece después de un momento. Se utiliza para notificaciones importantes que el usuario debe ver de inmediato.

42
Q

¿Qué es un RecyclerView.ViewHolder y cuál es su propósito en un RecyclerView?

A

Un RecyclerView.ViewHolder es un objeto contenedor que mantiene referencias a las vistas individuales de los elementos de una lista en un RecyclerView. Facilita la reutilización de vistas y mejora el rendimiento al evitar la creación repetida de vistas.

43
Q

¿Qué es el método getItemCount() en un RecyclerView.Adapter y cuál es su propósito?

A

El método getItemCount() es llamado por el RecyclerView para obtener el tamaño del conjunto de datos que el adaptador debe mostrar. Determina cuántos elementos se deben mostrar en la lista.

44
Q

¿Qué es el onCreateViewHolder() y cómo se utiliza en un RecyclerView.Adapter?

A

El método onCreateViewHolder() es llamado por el RecyclerView cuando necesita crear un nuevo ViewHolder. Este método crea e inicializa el contenedor de vista y su vista asociada, pero no completa el contenido de la misma.

45
Q

¿Cómo se puede personalizar una notificación en Android para que sea expandible?

A

Para personalizar una notificación para que sea expandible, se utiliza el método setStyle() de NotificationCompat.Builder para agregar una plantilla de estilo, como NotificationCompat.BigTextStyle para texto expandido o NotificationCompat.BigPictureStyle para imágenes.