Logo Studenta

Animaciones en Android

¡Este material tiene más páginas!

Vista previa del material en texto

Animaciones
Animaciones en las vistas
Transiciones
Conexión a Internet de la aplicación
Procesamientos de datos con JSON
Procesamientos de datos con XML
Realización de una aplicación 
Android cliente-servidor
- Andre Bernal Ramírez
- Daniel Alejandro Rivero Enriquez
- Flores Aguilar Aldo Ignacio
Animaciones
Son particularmente útiles cuando la IU cambia de estado, como cuando se carga contenido nuevo o cuando hay acciones nuevas disponibles. Las animaciones también le dan un aspecto acabado a tu app, que se traduce en una apariencia y estilo de mayor calidad.
 En la página para desarrolladores, https://developer.android.com/training/animation/overview?hl=es-419 , se incluye una larga lista de métodos y cómo se visualizan. 
Animar mapas de bits
Si deseas animar un gráfico de mapa de bits como un ícono o una ilustración, debes usar API de animación de elementos de diseño.
Android ofrece algunas opciones para animar elementos de diseño:
La primera opción es usar un elemento de diseño de animación. De este modo, puedes especificar varios archivos de elementos de diseño estáticos que se mostrarán de a uno para crear una animación. 
La segunda opción es utilizar un elemento de diseño vectorial animado, que te permite animar las propiedades de un elemento de diseño vectorial.
AnimationDrawable:
Una forma de animar Drawables es cargar una serie de recursos de elementos de diseño uno tras otro para crear una animación.
https://developer.android.com/guide/topics/graphics/drawable-animation?hl=es-419 
Animar la visibilidad y el movimiento de la IU
Para mover, ocultar o mostrar vistas en el diseño actual, puedes usar el sistema de animación de propiedades del paquete de android.animation. 
Estas API actualizan las propiedades de tus objetos View durante un período y dibujan la vista de manera continua a medida que cambian las propiedades. 
Una animación sutil cuando aparece y desaparece un diálogo hace que el cambio de la IU sea menos molesto
Movimiento basado en la física
Tus animaciones deben usar física del mundo real para que se vean naturales. 
La biblioteca de compatibilidad de Android incluye API de animación basadas en la física que utilizan las leyes de la física para controlar tus animaciones.
Dos animaciones comunes basadas en la física son las siguientes:
Animación de rebote
Animación de lanzamiento
Por otro lado, las animaciones creadas con API de animación basadas en la física, como DynamicAnimation, están impulsadas por la fuerza. El cambio en el valor del objetivo genera un cambio en la fuerza. La fuerza nueva se aplica en la velocidad existente, lo que crea una transición continua al objetivo nuevo. Este proceso da como resultado una animación de aspecto más natural.
https://developer.android.com/reference/androidx/dynamicanimation/animation/DynamicAnimation?hl=es-419 
Animación creada con
 ObjectAnimator
Animación creada con API basadas en la física
Animar los cambios de diseño
En Android 4.4 (API nivel 19) y versiones posteriores, puedes usar el marco de trabajo de transición para crear animaciones cuando cambias el diseño desde la actividad o el fragmento actual. 
Los diseños de inicio y finalización se almacenan en Scene, aunque, por lo general, la escena de inicio se determina automáticamente a partir del diseño actual. Luego, creas una Transition para indicarle al sistema el tipo de animación que deseas. A continuación, se llama al TransitionManager.go() y el sistema ejecuta la animación para cambiar los diseños.
https://developer.android.com/reference/android/transition/Scene?hl=en 
Se puede lograr que una animación muestre más detalles, ya sea cambiando el diseño o iniciando una actividad nueva
Animaciones en las vistas
Las animaciones de vista de Android se utilizan para aplicar animaciones sorprendentes en TextView y EditText en la aplicación de Android. Estas animaciones proporcionan a la aplicación un aspecto fluido de una nueva forma. 
https://googlesamples.github.io/web-fundamentals/fundamentals/design-and-ux/animations/inter-view-animation.html 
.container {
 width: 100%;
 height: 100%;
 overflow: hidden;
 position: relative; }
.view {
 width: 100%;
 height: 100%;
 position: absolute;
 left: 0;
 top: 0;
 will-change:transform;
}
.view {
 transition: transform 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946);
}
.details-view {
 transform: translateX(100%);
}
var container = document.querySelector('.container');
var backButton = document.querySelector('.back-button');
var listItems = document.querySelectorAll('.list-item');
function onViewChange(evt) {
 container.classList.toggle('view-change');
}
for (var i = 0; i < listItems.length; i++) {
 listItems[i].addEventListener('click', onViewChange, false);
}
backButton.addEventListener('click', onViewChange);
.view-change .list-view {
 transform: translateX(-100%);}
.view-change .details-view {
 transform: translateX(0);}
Transiciones
Las transiciones en Android son animaciones que se manifiestan cuando las actividades son iniciadas o cerradas dentro de una aplicación. Y es que estos efectos muestran en el Material Design un estilo visual tan poderoso que deleita a la vista.
https://www.develou.com/usar-transiciones-en-android-con-material-design/ 
Existen tres transiciones predefinidas que puedes usar en tus aplicaciones:
Explode: Expulsa o Atrae los views desde o hacia el centro de la actividad.
Slide: Mueve los views en conjunto hacia algún borde de la actividad (superior, inferior, derecho, izquierdo, etc).
Fade: Desvanece o resalta poco a poco los views dentro de la actividad.
Procesamientos de datos con JSON
JSON (Javascript Object Notation) es un formato de intercambio de datos entre clientes y servidores, basado en la sintaxis de Javascript para representar estructuras en forma organizada y alto nivel, con el fin de acercar a una definición mucho más amigable por los desarrolladores. JSON es una herramienta potente en el desarrollo de aplicaciones web, ya que facilita el desarrollo y comprensión de intercambio de datos. 
La clase JsonReader de Java es ideal para interpretar datos con formato JSON. Provee un sistema poderoso para el parseo de arreglos y objetos embebidos en las respuestas de los servidores.
Procesamientos de datos con XML
El lenguaje de marcación extensible (XML) es un conjunto de reglas para codificar documentos en un formato compatible con computadoras. XML es un formato popular para compartir datos en Internet.
Recuerda que parsear un formato XML significa convertir el flujo de datos con ese formato a una representación interna de nuestra aplicación. En este caso objetos Java que cobren significado dentro de la lógica de implementación.
La clase XmlPullParser basa su comportamiento de lectura en varios tipos de eventos. Estos nos servirán para usar condiciones que, al ser verdaderas, obtengan los datos que requerimos.
Ese flujo entrante debe interpretarse con ayuda de un parser personalizado que implementa la clase JsonReader.
Conexión a Internet de la aplicación
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
RESTRICT_BACKGROUND_STATUS_DISABLED
El Ahorro de datos está inhabilitado.
RESTRICT_BACKGROUND_STATUS_ENABLED
El usuario habilitó Ahorro de datos para esta app. Las apps deberían hacer todo lo posible por limitar el uso de datos en primer plano y procesar de manera fluida las restricciones de uso de datos en segundo plano.
RESTRICT_BACKGROUND_STATUS_WHITELISTED
El usuario habilitó Ahorro de datos, pero la app tiene permiso para omitirlo. Las apps aún deben hacer lo posible por reducir el uso de datos en primer y segundo plano.
Permisos a tomar en cuenta
Optimizar uso de red
ConnectivityManager connMgr = (ConnectivityManager)
 getSystemService(Context.CONNECTIVITY_SERVICE);
if (connMgr.isActiveNetworkMetered()) {
 switch (connMgr.getRestrictBackgroundStatus()) {
 case RESTRICT_BACKGROUND_STATUS_ENABLED:case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
 case RESTRICT_BACKGROUND_STATUS_DISABLED:
 }
} else {
}
Realización de una aplicación Android cliente-servidor

Otros materiales