Diseño Android: Toolbar y Pestañas con Material Design

android

Uno de los componentes gráficos definidos por Material Design que más rápidamente han sido adoptados en Android es el nuevo estilo de pestañas integradas en la barra de acciones. Podemos encontrar una infinidad de ejemplos de su implementación, por ejemplo Google Play:

google play tabs

Los widgets necesarios para implementar este patrón de diseño los tenemos disponibles en la Support Library y serán utilizados en el presente tutorial para construir una interfaz de pestañas estilo Material Design. Para ello me voy a apoyar en lo expuesto en los tutoriales “Diseño Android: ActionBar con Toolbar” y “Diseño Android: ViewPager” por lo que remito al lector a los mismos para profundizar en estos elementos si no los ha utilizado anteriormente.

Seguir leyendo

Diseño Android: PercentRelativeLayout

tutorial android

Una limitación que a veces encontramos al utilizar un layout en Android es la imposibilidad de definir dimensiones relativas mediante porcentajes. Siempre podemos implementar nuestro propio layout pero la estrategia más habitual suele ser utilizar LinearLayout y el atributo layout_weight tal y como se muestra en el tutorial Diseño Android: Dashboard UI con LinearLayout. El problema de esta técnica es que estamos limitados a utilizar sólo LinearLayout y que el “anidamiento” de los mismos si se utiliza layout_weight penaliza el rendimiento de la generación de la interfaz gráfica debido a los cálculos realizados para obtener el tamaño a utilizar.

Seguir leyendo

Servicios Web SOAP con JAX-WS, Spring y CXF (IV): Handlers

logo java

Es posible que en alguna ocasión nos veamos en la necesidad de realizar algún tipo de operación directamente con el mensaje SOAP que recibe y/o envía nuestro servicio web. Esta tarea puede realizarse con el mecanismo de Handlers (“manejadores”) definidos en la especificación JAX-WS y que permite “interceptar” las peticiones y respuestas SOAP en un método que implementamos. Este mecanismo puede ser aplicado tanto al servidor como a los clientes.

Existen dos tipos de handlers:

  • SOAP handler : Permite acceder a todo el mensaje SOAP completo, incluyendo los headers de la petición. Por este motivo también se denominan Protocol Handler
  • Logical handler: Sólo proporciona acceso al contenido (payload) del mensaje.

Seguir leyendo

Android Broadcast Receiver

android

Un Broadcast Receiver puede verse como un listener que atiende a eventos del sistema, esto es, lanzados por el sistema operativo, o bien a eventos lanzados por aplicaciones. Además, el evento puede incluir información adicional en un Intent. Nos encontramos por tanto ante un componente que nos permitirá integrar aplicaciones entre sí y/o con Android. En el presente tutorial veremos una introducción a las posibiliaddes que nos ofrece la utilización de este componente.

Seguir leyendo

Diseño Android : Endless RecyclerView

android

En numerosos listados en los que se puedan mostrar una gran cantidad de elementos resulta necesario algún mecanismo de paginación que permita ir obteniendo, generalmente desde un servicio web REST, los elementos a mostrar a medida que el usuario solicita más datos al hacer scroll del listado:

  • Hacia arriba. Si existen elementos más recientes que los actualmente mostrados deberían añadirse en la parte superior del listado. Por tanto, en este tipo de listados al intentar avanzar más allá del primer elemento, se obtienen los más recientes y se añaden. Este patrón es fácil de utilizar gracias a SwipeRefreshLayout.
  • Seguir leyendo

Introducción a Bower

bower

En los últimos años hemos vivido una revolución en el desarrollo de aplicaciones web, incluyendo las aplicaciones híbridas para dispositivos móviles, en lo que respecta al frontend (interfaces/interacción con el usuario) gracias al imparable auge de herramientas y frameworks como AngularJS, jQuery, Backbone.js, Bootstrap o Ionic. Esta revolución incluso ha llegado al backend de la mano de Node.js y sus frameworks como Express.

Bower es un gestor de paquetes que nos ayudará en la utilización de todas estas APIs y frameworks de JavaScript y CSS. Gracias a Bower no tendremos que descargar y copiar manualmente en los proyectos estas dependencias, haciendo asimismo su actualización muy sencilla.

Seguir leyendo

Diseño Android: Pull To Refresh con SwipeRefreshLayout

android

El patrón de diseño Swipe To Refresh, más conocido como Pull To Refresh, puede ser considerado como el mecanismo estándar en aplicaciones móviles para actualizar el contenido de un listado o grid de datos con los elementos más recientes los cuales son añadidos en la parte superior del listado. Al deslizarse el listado hacia abajo y mostrarse el primer elemento, si el usuario intenta seguir deslizando un poco más (a veces se muestra un mensaje informando al usuario de esta posibilidad) se procede a la obtención de nuevos datos mostrando un Progress Dialog indeterminado.

android pull to refresh

Seguir leyendo

Android RecyclerView: Listas verticales y horizontales

Última actualización:10/04/2016

android

El widget RecyclerView es una de las novedades más importante que ha recibido Android en los últimos tiempos desde el punto de vista del desarrollador ya que permite reemplazar widgets fundamentales como ListView y GridView por “algo mejor” y más potente.

RecyclerView es un ViewGroup cuya misión es mostrar Views que se repiten múltiples veces, por ejemplo un listado, de forma que estas Views se van reutilizando para generar solamente aquellas que se muestran en pantalla. Este comportamiento también lo tiene ListView, pero RecyclreView obliga a implementar el ViewHolderPattern para mejorar el rendimiento evitando llamadas a findById que pueden ralentizar enormemente el scroll. En la ListView, es responsabilidad del programador seguir el ViewHolderPattern a la hora de implementar un Adapter.

Seguir leyendo

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 52 seguidores