Programación Android, Cómo usar SwipeRefreshLayout

Pull to Refresh
Pull to Refresh

En entradas anteriores hemos explicado cómo utilizar ListViews, optimizarlos e incluso hacerlos customizados. En esta ocasión vamos a explicar cómo facilitar la tarea de actualización de los datos que contiene el ListView deslizando el listado hacia abajo utilizando SwipeRefreshLayout.

Lo primero que debemos tener en cuenta es que esta opción no está presente en todas las API, por lo que tendremos que utilizar la librería support-v4 que nos ofrece Google para facilitar la compatibilidad con versiones anteriores de Android para las nuevas herramientas que ofrecen a los desarrolladores. Esta funcionalidad la tendremos presente a partir de la versión 19.0.0 de la librería suport-v4, sin embargo es recomendable utilizar siempre la versión más actualizada que Google nos ofrece, ya que cada versión puede hacer que varíe la interfaz, y al mantener esta librería actualizada siempre estaremos en la última tendencia de Android (en el momento de escribir esta entrada Material Design).

Para el desarrollo de este ejemplo, como venimos haciendo desde hace tiempo, vamos a utilizar Android Studio, por lo que explicaremos cómo importar la librería necesaria a nuestro proyecto a través del Gradle, para utilizar otros IDEs el proceso para importar la librería puede ser diferente, sin embargo la utilización de la misma será exactamente igual.
Leer más…

Programación Android, Cómo usar múltiples Fragments

Cómo usar múltiples fragments
Cómo usar múltiples fragments

Aprovechando que volvemos a tener tiempo libre en esta ocasión vamos a escribir un tutorial que hacía tiempo que queríamos hacer para explicar cómo usar múltiples fragments en una misma pantalla. En su día ya explicamos cómo usar los fragments, pero utilizando tabs, o pestañas, para mostrarlos, en esta ocasión explicaremos cómo tener el control del estado de estos para poder mostrar los datos en pantalla de forma correcta. Es decir, imaginemos que tenemos la pantalla dividida en 3 columnas diferentes, cada una de estas columnas es un área para mostrar fragments, y la última columna la dividimos en 2 filas, de manera que tendríamos un total de 4 áreas para fragments. Estando en landscape (dispositivo en horizontal) tenemos espacio de sobra para mostrar toda la información, sin embargo si giramos a portrait (vertical) estas áreas serán demasiado pequeñas como para mostrar todo lo que queremos, por lo que deberíamos mostrar el último detalle añadido, es decir, la última de las columnas que contengan datos. Sin embargo, al volver a landscape tendríamos que volver a mostrar todas las áreas de nuevo.

Por otra parte, si estamos mostrando información en la última columna, y decidimos cargar otra información distinta posteriormente, tendríamos que mantener la lógica de la cola de fragments que vayamos creando, para que al darle al botón atrás mantengamos una navegación lógica para el usuario, por lo tanto tenemos que crear una lógica que nos permita controlar distintos niveles, para añadir y eliminar fragments donde lo necesitemos.

Leer más…

Programación Android, Creación de Widgets II

Creación de widgets
Después de un tiempo excesivo de inactividad (lo lamentamos, pero entre cursos, viajes y trabajo ha sido imposible sentarse a escribir una nueva entrada), volvemos a la carga para terminar el tutorial que dejamos a medias sobre cómo crear widgets.

En la anterior entrada comenzamos con la creación de widgets, para que el sistema lo detectara como tal y pudieramos agregarlo a la pantalla principal del dispositivo. En esta ocasión vamos a retomar este ejemplo, y vamos a añadirle la posibilidad de interactuar con él. Lo que vamos a crear es un sencillo widget que nos va a permitir cambiar el estado del sonido del dispositivo, intercambiando entre el volumen que haya dejado el usuario en el dispositivo y ponerlo en silencio con vibración.

Creación de widget

En primer lugar, para poder hacer esto, vamos a modificar el xml del widget, cambiando el TextView que contiene por un ImageView que nos permitirá configurar un recurso que indique al usuario si el dispositivo está en silencio o no, y cambiarlo cada vez que el usuario pulse sobre nuestro widget, además le eliminaremos el shape que inicialmente configuramos:
Leer más…

Programación Android, cómo usar un Spinner I

Después de un par de semanas de inactividad, debido a que ha habido que finalizar 2 proyectos y apenas ha quedado tiempo libre, volvemos a la publicar una nueva entrada.

En esta ocasión vamos a intentar explicar el uso y comportamiento de un Spinner.

Un Spinner es un elemento que ofrece un desplegable en el que poder seleccionar una de múltiples opciones, en el que además se visualiza la opción seleccionada de entre las disponibles:

Spinner desplegado
Spinner desplegado

Leer más…

Programación Android, características de una aplicación II

En la primera entrada hablamos de las principales características de una Aplicación en android, en esta ocasión hablaremos más en detalle de algunos componentes.

Detalles de los componentes de una aplicación:

Activity

Es el componente más habitual en las aplicaciones Android, y refleja una determinada actividad llevada a cabo por una aplicación y asociada con una ventana y su respectiva interfaz de usuario. La mayoría de las aplicaciones permiten la ejecución de varias acciones a través de la existencia de una o más pantallas.

Por ejemplo, una aplicación de mensajes de texto. En ella la lista de contactos se muestra en una ventana. Mediante el despliegue de una segunda ventana, el usuario puede escribir el mensaje al contacto elegido, y en otra tercera puede repasar su historial de mensajes enviados o recibidos. Cada una de estas ventanas debería estar representada a través de un componente Activity, de forma que navegar de una ventana a otra implica lanzar una actividad, o dormir otra. Android permite controlar por completo el ciclo de vida de los componentes Activity.

Leer más…

Programación Android, características de una aplicación I

Las aplicaciones en Android difieren de las aplicaciones de escritorio debido a las características de los dispositivos móviles. Para diseñar e implementar una aplicación hay que tener en cuenta los siguientes aspectos:

  • Los dispositivos móviles actuales tienen su limitación, en especial la capacidad de su batería, que consume energía con cada click del reloj del procesador y/o a la vez que se refresca la memoria y/o con cada píxel de la pantalla, además de que, al ser más limitado el tamaño de la batería, se tiene que recargar con mayor frecuencia. Se deben diseñar aplicaciones que optimicen recursos que son más limitados en el caso de los dispositivos móviles.
  • Leer más…

Mi primera aplicación Android (Hola Mundo)

En entradas anteriores hemos explicado cómo instalar eclipse en linux, es hora de ver cómo crear nuestra primera aplicación, el Hola Mundo de Android.

Lo primero que debemos hacer es crear un nuevo proyecto de Android, para eso le damos, en el menú superior, a File/New/Other… y en la ventana que nos saldrá seleccionamos Android Application Proyect:

pproyecAndroid1
Leer más…

Instalación de ADT Plugin para eclipse

Para instalar el ADT, una vez ejecutado eclipse, y habiendo descargado el plugin de Android, pinchamos en la pestaña “Help” en la esquina superior derecha del menu superior de eclipse y seleccionamos “Install New Software”.
ADTPlugin1
Para agregar el repositorio hacemos click en “Add” y escribimos “ADT Plugin” en el campo de nombre, y en la URL: https://dl-ssl.google.com/android/eclipse/. Luego le damos a “Ok”.
Leer más…

Instalación de eclipse juno en ubuntu 12.04

Una vez que sabemos Cómo instalar JDK 6 pasaremos a explicar cómo instalar Eclipse en Ubuntu, y cómo añadir un lanzador, junto con el icono, en menú de aplicaciones en Unity.

La instalación se puede hacer desde el centro de software de Ubuntu, o descargándolo y configurándolo desde consola.

El archivo a descargar es eclipse-java-juno-linux-gtk-x86_64.tar.gz, y se debe descargar en /opt/eclipse, aunque personalmente prefiero hacerlo en /home/usuario/eclipse (donde pone usuario se selecciona el nombre de usuario que cada uno utiliza), y de esta manera si reinstalamos nuestra distribución, seguimos teniendo la instalación y configuración de nuestro eclipse. Después hay que ejecutar los siguientes comandos:

$ sudo chmod -R +r /home/usuario/eclipse
$ sudo chmod +x /home/usuario/eclipse/eclipse

Leer más…