UNIDAD 3 Flashcards

1
Q

Cuáles son los principales componentes de UI en las aplicaciones android

A

● Barra de aplicación: ​Muestra las acciones más importantes de la pantalla actual. También tiene controles simples para cambiar de pantalla.
● Navigation drawer: ​permite mostrar las opciones principales de la navegación.
● Área de contenido:​ el espacio donde se muestra el contenido.

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

Explicar servicies y tipos

A

● Componente​ que permite realizar ​operaciones​ de ​larga duración​ o ​trabajos​ para otros procesos​ (mecanismo de comunicación entre procesos).
● Ejecuta en un ​segundo plano​.
● No​ proporciona una​ interfaz de usuario​.
● Ejemplos:
✓ manejar​ operaciones​ de ​red.
✓ reproducir​ música​.
✓ realizar​ I/O ​de​ archivos​.
● Tipos:
✓ Primer Plano:
■ Realiza una operación que el usuario ​puede notar​.
■ Deben mostrar una​ notificación​.
■ Continúan ​ejecutándose ​aunque el usuario ​deja​ de ​interactuar​ con
la aplicación.
■ Ejemplo: ​aplicación de audio​ usa un servicio en primer plano para
reproducir música​.
✓ ​Segundoplano:
■ Realiza una operación que el usuario​ no nota directamente​.
■ Ejemplo: aplicación usa servicio para​ comprimir su amacenamiento​.
✓ Enlace:
■ Se vincula a él llamando a bindService().
■ Ofrece​ interfaz cliente servidor ​que permite que los​ componentes
interactúen con ​el​ servicio​, envíen solicitudes, reciban resultados e incluso lo hagan en distintos procesos con la comunicación entre procesos (IPC).
■ Se ejecuta solamente mientras otro componente de aplicación está enlazado a él.

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

Describir arquitecture de jetpack (ViewModel, repository, Room, etc)

A

● Colección ​de ​librerías ​que ​facilitan​ el ​diseño robusto​, las ​pruebas​ y el mantenimiento ​de las​ aplicaciones.​
● DataBinding:​ vincula datos observables a elementos de UI de manera declarativa.
● Lifecycles: ​administra los ciclos de vida de tu actividad y/o fragmento.
● LiveData: ​notifica las vistas cuando la fuente de datos subyacente cambia.
● Navigation:​ administra todo lo necesario para la navegación de la aplicación.
● Paging: ​carga información de una fuente de datos de manera gradual según la demanda.
● Room:​ acceso fluido a la base de datos SQLite (DataBase,Entity y DAO).
● ViewModel: ​administra los datos relacionados con la UI de manera optimizada para
los ciclos de vida (persistir la informacion).
● WorkManager​: administra las tareas de segundo plano.

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

Arquitectura de plataforma Android

A

● Linux Kernel: ​brinda los ​servicios básicos ​(controladores de hardware, procesos y gestión de memoria, seguridad, red y administración de energía) manejados por una versión modificada del kernel de Linux.
● Capa de Abstracción del Hardware (HAL):​ brinda interfaz que permite comunicarse​ con los​ controladores​ de​ hardware ​sin conocer detalles sobre su implementación.
● Servicios de sistema: componentes​ que se ​encargan​ de alguna tarea en particular, permite​ acceder​ al ​hardware​.
● Comunicación entre procesos (IPC):​ mecanismo que permite al framework interactuar con otros fragmentos de código desde un proceso distinto.
● Framework de aplicación​: permite desarrollo de aplicaciones sin tener que preocuparse por como acceder al hardware u otros recursos del dispositivo

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

Puntos de acceso

A

Posee ​múltiples puntos de acceso ​para iniciar la aplicación de distintas maneras, ya sea desde una​ notificación​, de​ forma normal​, desde​ otra aplicación​,etc. En cada uno lo que cambia es el​ intent-filter​ del​ AndoridManifest.xml.

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

AsyncTask

A

● Permite realizar ​tareas asincrónicas ​en la ​UI.
● Realiza las operaciones bloqueantes en un thread de trabajo y luego publica los
resultados en el UI thread, sin requerir un manejo de threads.

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

Como era la estructura de una aplicación android (indicio settings, notificaciones, etc)

A

● Pantalla principal:​ muestra diferentes representaciones de la misma información o una faceta funcional completamente diferente de la misma.
● Pantalla de categorías: ​permiten ahondar en la información ofrecida por la aplicación.
● Pantalla de edición/detalle: ​permite consumir o crear información.

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

DIferencia entre Activity y Fragment

A

● Una ​activity ​representa una​ pantalla​ de la​ interfaz de usuario​, la cual le permite al usuario​ interactuar​ con la a​ plicación​.
● Un ​fragmento​ es​ parte ​de una​ actividad ​que constribuye al UI de la aplicacion.
● No puede existir un fragmento sin una actividad.
● El fragmento permite dividir la pantalla en paneles.
● Tienen​ distintos ciclos de vida​ y difieren en cuanto a su​ manejo​ del ​back stack​.

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

Explicar Jetpack

A

● Es un​ conjunto de librerías, herramientas ​y ​guías ​para ayudar a los desarrolladores a ​crear aplicaciones​ de alta calidad de una ​manera más sencilla​.
● Las librerías forman parte del paquete androidx.*
● Brindan componentes que:
✓ Ayudan a ​seguir buenas prácticas​. ✓ Menos codigo repetitivo​.
✓ Simplifican tareas complejas​.
● Las componentes son:
✓ Foundation ​(Android KTX, Android X, Multidex,…)
✓ Architecture ​(colección de librerías que facilitan el diseño robusto, las
pruebas y el mantenimiento de las aplicaciones: livedata, viewModel, Room,
dataBinding,…)
✓ Behavior
✓ UI

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

Cómo se declaran los permisos

A

● Los permisos se especifican en el archivo AndroidManifest.xml mediante la etiqueta (.

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

Contenidos de notificaciones

A
  1. Icono de la app
  2. Nombre de la app
  3. Encabezado
  4. Marca de tiempo
  5. Indicador de expansión
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cuáles son los tipos de archivos raíz en un proyecto Android

A

● manifests
● Java
● res

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

Por que no podes hacer un fetch desde el main thread

A

Cuando una aplicación realiza un​ trabajo intensivo ​o ​bloqueante​ (por ejemplo: acceso a la red o una consulta a la base de datos) existe la posibilidad de ​bloquear el​ UI thread​, provocando que los eventos relacionados con la actualización de la interfaz de usuario no sean procesados y desde la perspectiva del usuario parezca que la​ aplicación​ se encuentra​ colgada ​(​mas de 5 segs ANR​).

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

Cuál es la arquitectura de jetpack. Y porque room es importante para cuando estas sin internet

A

● Colección ​de ​librerías​ que​ facilitan ​el d​ iseño robusto​, las​ pruebas​ y el mantenimiento ​de las aplicaciones.
● DataBinding:​ vincula datos observables a elementos de UI de manera declarativa.
● Lifecycles: ​administra los ciclos de vida de tu actividad y/o fragmento.
● LiveData: ​notifica las vistas cuando la fuente de datos subyacente cambia.
● Navigation:​ administra todo lo necesario para la navegación de la aplicación.
● Paging: ​carga información de una fuente de datos de manera gradual según la demanda.
● Room:​ acceso fluido a la base de datos SQLite.
● ViewModel: ​administra los datos relacionados con la UI de manera optimizada para
los ciclos de vida (persistir la informacion).
● WorkManager​: administra las tareas de segundo plano.
➢ Room es imporante porque permite darle cache a información para poder accederla
sin conexion.

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

Notificaciones (que tiene que tener, que conviene hacer como buena práctica, y asi)

A
● Deben tener:
✓ icono ​de la aplicación,
✓ nombre ​de la aplicación ✓ encabezado.
✓ marca​ de​ tiempo.
✓ indicador​ de​ expansión. ✓ titulo.
✓ contenido. ✓ icono.
✓ acciones.
● Se recomienda:
✓ Hacerlas​ personales​.
✓ Navegar al lugar adecuado.
✓ Especificar la ​prioridad correcta​.
✓ Especificar una​ categoría​.
✓ Resumir las notificaciones.
✓ Hacer que las notificaciones sean​ opcionales​. ✓ Usar​ íconos distintivos​.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Adaptar app de Drive para tablet

A

● Implementar el uso de fragmentos para permitir el uso de pantallas de multiples paneles.
● Agregar views alternativas en la carpeta res para tamaño tablet.

17
Q

Explicar permisos

A

● Por defecto las aplicaciones Android no tienen ningún permiso asociado. Por lo tanto, deben solicitar los permisos necesarios para poder acceder a las características protegidas del dispositivo.
● Los permisos se especifican en el archivo AndroidManifest.xml mediante la etiqueta .
● Si la aplicación lista permisos en el archivo AndroidManifest.xml que no representan un ​riesgo para el usuario​, el sistema automáticamente se los otorga; sino el usuario deberá autorizar que se le otorguen dichos permisos.

18
Q

Que deberia poner en la pantalla de inicio

A

● Debe ofrecer una experiencia con el mismo nivel de satisfacción sin importar si el usuario es nuevo o frecuente.
● Preguntarse cuáles son las cosas más frecuentes que el usuario probablemente haga con la aplicación.
● Permitirle a los usuario acceder fácilmente al contenido de la aplicación
● Debe atraer al usuario con adelantos de los contenidos que se encuentran dentro.

19
Q

Formas de hacer mas accesible una Aplicacion Mobile

A

● Generar una​ interfaz simple​.
● Evitar ​los ​elementos ​que d​ istraen.
● Proveer ​mucho contraste​.
● Evitar ​actualizacion​ frecuente de​ informacion​ (​screen reader​).
● Utilzar​ texto alternativo​ en imagenes.

20
Q

Que es live data y como se usa, que otras clases se utilizan.

A

● Objetos que permiten​ notificar ​a las​ vistas ​cambios en la ​informacion​ de estos.
● Se utiliza junto a ​view models​ para poder ​persistir ​la​ informacion​.

21
Q

Que es un intent y tipos de intents

A

● Objeto de mensajería​ que se puede usar para​ solicitarle​ a otro ​componente ​de aplicación que ​realice ​una​ operación​ o para ​representar ​un ​evento​ que ha ocurrido en el sistema.
● Tipos:
✓ Explícitos:
■ especifican el ​nombre del componente​ que se debe iniciar.
■ utilizados para iniciar componentes dentro de una misma aplicación
(ya que se sabe el nombre de las componentes)
■ Ejemplo: pasar de la activity de login a la de la main screen.
✓ Implícitos:
■ especifican la ​acción​ que se desea ​realizar​ (no el nombre del
componente) utilizando intent filters.
■ permite que un componente de otra aplicación la complete.
■ Ejemplo: mostrar la ubicación de un usuario en un mapa, ejecutar una
notoficacion.