Está en la página 1de 16

Servicios avanzados en Android

Eduardo Martínez V.

Herramientas de Programación Móvil

Instituto IACC

07-09-2021
Desarrollo

De acuerdo a enunciado de la actividad, se solicita lo siguiente:

1. Debido a complicaciones con la estimación de tiempos del proyecto que han


conducido a un demora del mismo,solo se le permite implementar un
elemento en segundo plano: APPWidget o Notificaciones. Indique cuál de
los dos servicios especiales implementaría. Justifique su respuesta con tres
criterios de su selección.
Muchas app y servicios de Android se pueden ejecutar de manera simultánea.
Por ejemplo, un usuario puede abrir un juego en una ventana mientras navega
por la Web en otra, y recurrir a una tercera app para reproducir música. Cuantas
más apps se ejecuten a la vez, mayor será la carga para el sistema. Si se ejecutan
más apps o servicios en segundo plano, aumenta la carga del sistema, lo que
puede generar una mala experiencia del usuario (por ejemplo, la app de música
podría cerrarse de forma inesperada).
Existen servicios que son implementados como elementos adicionales a la
aplicación, de manera que se puedan optimizar los tiempos, y recursos para su
uso. Estos servicios avanzados generalmente se ejecutan como tareas en
segundo plano, de manera que no entorpezcan el uso de las demás operaciones
que realiza el usuario.
Para disminuir las posibilidades de tener estos problemas, Android 8.0 establece
limitaciones sobre lo que pueden hacer las apps mientras los usuarios no
interactúan directamente con ellas. Existen dos clases de restricciones para apps:
 Limitaciones de servicios en segundo plano: Mientras una app está
inhabilitada, existen límites para su uso de servicios en segundo plano. Esto
no se aplica a servicios en primer plano, que son más notorios para el
usuario.
 Limitaciones de transmisión: A excepción de algunos casos limitados, las
apps no pueden usar sus manifiestos para registrarse en transmisiones
implícitas. Sin embargo, pueden registrarse en estas transmisiones durante el
tiempo de ejecución y usar los manifiestos a fin de registrarse en
transmisiones explícitas destinadas específicamente a ellas.

Para tomar una correcta decisión frente a elegir APPWidget o Notificaciones,


primero debemos saber el alcance de cada uno

Notificaciones
Una notificación es un mensaje que se puede desplegar hacia fuera de la interfaz
de usuario de la aplicación. Cuando se le dice al sistema que envíe una
notificación, aparece como ícono en el área de notificaciones. Para ver sus
detalles, el usuario debe abrir el cajón de notificaciones.
Ambos, el cajón y el área de notificaciones, son áreas controladas por el sistema
operativo que el usuario puede ver en cualquier momento. Las notificaciones
contienen:
 Un ícono pequeño, configurado usando setSmallIcon()
 Un título, configurado usando setContentTitle(),
 Texto de detalle, configurado con setContentText()

APPWidget
Los widgets de aplicación son vistas en miniatura de la aplicación que pueden
estar embebidas en otras aplicaciones (como por ejemplo en la pantalla de
inicio) y recibir actualizaciones periódicas. Es posible publicarlas con un App
Widget Provider y un componente de aplicación que es capaz de almacenar
otros widgets de aplicación es App Widget host. Se categorizan en:
Información: permite la visualización de cosas importantes, como por ejemplo
el reloj y sus accesorios.
 Control: nos permite utilizar el dispositivo como un control remoto o un
anexo a la aplicación la cual nos permite manipularla con controles que
están predefinidos sin la necesidad de ejecutar la aplicación, este tipo de
widget normalmente es utilizado en tv o reproductores de música.
 Hibrido: nos permite vincular distintas categorías y visualizarlas en un
mismo elemento, lo anterior le permitiría al usuario mostrar información
conjunta en un único widget, acá podríamos tener una app que nos muestre
el tiempo y la hora de una ubicación en donde nos encontremos físicamente.

Para el caso planteado, la opción es realizarlo con APPWidget, recordemos que


debemos desarrollar una aplicación de calculadora para ingeniería civil. Si bien
es cierto en las ultimas versiones de Android, mediante código podría poner un
edittext y botones en las notificaciones (que me permitirán realizar una
calculadora), estas solo serian “notificaciones” que podría usar una sola vez,
además de tener la aplicación siempre en ejecución para que envié la
notificación,
que además debería enviarla cada cierto tiempo, en cambio el appwidget
siempre estará en la pantalla del usuario y con un acceso fácil. Además, al
realizarla con appwidget ganamos en:
 Que los usuarios tengan acceso rápido y eficiente a la app, desde la pantalla
de inicio u otro escritorio adicional, brindándole todas las características
requeridas
 Brindar actualizaciones o mejoras continuamente al contenido del Widget
 Mostrar las opciones básicas que nos permitan el manejo del widget sin
tener que ejecutar la app completamente

2. Explique paso a paso cómo se realiza la refactorización de una


aplicación. Luego establezca si es necesaria para el caso planteado en el
enunciado

La refactorización es el procedimiento que nos permite renombrar el paquete de


la aplicación o APK, o carpetas, o archivos. El menú refactorizar en android
studio automatiza muchas tareas comunes de refactorización, que incluyen:
cambiar nombre de clase / método / variable, cambiar la firma de un método,
mover una clase a un nuevo paquete, extraer un método o variable, extraer un
parámetro de método, crea una nueva constante, eliminación segura y mas.
Por lo general si no se cambia, la aplicación en desarrollo tendrá una path con
example, esta para poder publicar nuestra app en el play debemos cambiarla, acá
nos ayuda nos sirve el refactorizar.

Paso a paso:

a) Seleccionar el engrane que aparece en la barra de proyecto ver imagen


b) Desmarcar la opción Compact Empty Middle Packages
c) Seleccionar el archivo a refactorizar. Con botón derecho acceder al menú
contextual, seleccionar la opción Refactor y Rename.

d) El sistema solicitará una confirmación de refactorizar


e) Opción de cambio de Nombre

f) La refactorización se habrá realizado, incluso en el AndroidManifest.xml o el


build.gradle, pero al revisar el gradle en segunda opción, no cambió el nombre,
se debe cambiar en forma manual el nombre dado.
Luego en botón sincronizar. Posteriormente se depurará el proyecto para
comprobar que esté correcto.

Para finalizar, se podrá subir la app con el proceso ya explicado.

3. Describa el proceso de publicación de la aplicación. Mencione un


aspecto que usted considere que hay que tener cuidado al momento de
la publicación.
La publicación es el proceso general por el cual tus aplicaciones para Android se
ponen a disposición de los usuarios. Cuando publicas una app, realizas dos
tareas principales:

Preparar la app para su lanzamiento:


Durante el paso de preparación, compilar una versión de lanzamiento de tu app
que los usuarios pueden descargar e instalar en sus dispositivos Android.

Realizar el lanzamiento de la app para los usuarios:


Durante el paso de lanzamiento, publicitas, vendes y distribuyes la versión de
actualización de tu app para los usuarios.

Asismo, debemos contar con una cuenta de desarrollador, para esto existen
requerimientos básicos que debemos cumplir, mayor de 18 años, tener cuenta
google y haber pagado los 25 USD.
Una vez que tengamos nuestra cuenta de desarrollador, procedemos a generar el
fichero APK (APK o Android Aplication Package, es un archivo ejecutable de
las aplicaciones Android) firmado digitalmente con un certificado Generate
Signed Bundle / APK. Para realizar pruebas de nuestra app ya sea en emulador o
en dispositivos podemos usar la opción APK Debug “Build APL(s), pero este
apk no es válido para publicarlo en el play store.
Como se desea crear una app para publicarla en Google play, seleccionamos
Android App Bundle, Un Android App Bundle es un formato de publicación
que incluye todos los recursos y el código compilado de tu app, pero delega la
generación del APK y la firma a Google Play.

Debemos crear nuestra key (certifcado digital), es de vital importancia respaldar


este certificado, dado que nos seguirá sirviendo para futuros desarrollos para
finalmente seleccionar la opción de reléase
Luego nos queda subir la aplicación a Google Play Console, creamos una nueva
app, según se muestra en la imagen

También podría gustarte