Mostrando entradas con la etiqueta Android. Mostrar todas las entradas
Mostrando entradas con la etiqueta Android. Mostrar todas las entradas

Android: Trabajando con Preferencias

viernes, 17 de mayo de 2013 Etiquetas: ,

Introducción

La pantalla de preferencias en una aplicación es algo habitual, bien sea para guadar datos de conexión a una página web, para guardar opciones de visualización o cualquier configuración que creas conveniente que el usuario pueda personalizar. Android nos proporciona un mecanismo muy sencillo para crear una pantalla para gestionarlas.

En esta entrada vamos a ver como podemos realizar algunas operciones por código sobre este formulario, por ejemplo, como habilitar o deshabilitar una serie de opciones dependiendo del valor de una opción.

Proyecto Librería en Android

lunes, 6 de mayo de 2013 Etiquetas: ,


Introducción


Cuando estas desarrollando aplicaciones en Android, antes o después, nos surguirá la necesidad de reutilizar alguna clase que hemos realizado en otro proyecto. En este post vamos a ver como reutilizar este código de forma sencilla.

La solución es crear un proyecto Android que cree una librería, de esta forma podremos utilizar dicha librería en diferentes proyectos sin necesidad de duplicar el código.

Evitar guardar en la pila (Back Stack).

jueves, 28 de marzo de 2013 Etiquetas: ,


Introducción

Hace ya tiempo publique una post para indicar como evitar que se guardará una activity en el Back Stack. Como método no es el mejor, es un buen ejercicio para ver como funciona el ciclo de vida de una Activity en Android. Ahora os voy a mostrar la forma correcta de realizar la operación, la cual es mucho más sencilla que lo que se muestra en el post.

Solución

La solución es muy sencilla, simplementa hay que añadir una directiva en AndroidManifest cuando se declara la Activity


android:noHistory="true"
Ya esta, con esto ya no se almacenará la activity en la Back Stack, y al pulsar el botón de atrás yo no aparecerá.

Actualización UI desde procesos en segundo plano

martes, 5 de febrero de 2013 Etiquetas: , ,


Introducción

En ocasiones nuestra aplicación necesita realizar tareas en segundo plano, debido al tiempo que tardan en realizarse, por ejemplo la descarga de información de internet o la conexión por Bluetooth. También puede darse el caso que nuestra aplicación tenga una service que se este ejecutando, por ejemplo para leer periodicamente datos de una web.

En estos procesos de segundo plano, puede que necesitemos visualizar algún tipo de información al usuario, por ejemplo mediante un Toast. Si lo ejecutamos directamente en el Thread o en el Service, nos dará error, ya que no esta permitida esta actualización de la interfaz de usuario desde estos procesos. Veamos como lo podemos hacer.

Android: Definiendo permisos para nuestra aplicación

lunes, 21 de enero de 2013 Etiquetas: , , ,


Introducción

En una entrada anterior del blog, vimos primero como escuchar los mensajes que envía Android cuando ocurren ciertos eventos. En un post posterior vimos como crear nuestro propio sistema de mensajes y que nuestra aplicación responda a estos, pero como ya dijimos, algunos de estos mensajes nos puede interesar que sean públicos y otros de uso interno de nuestra aplicación.

En esta entrada vamos a ver como poder crear nuestros propios permisos, y usarlo para  limitar el uso de los mensaje que hemos definido.

Android: Leer log de un dispositivo

domingo, 20 de enero de 2013 Etiquetas: , ,


Introducción

La forma normal de desarrollo para Android, por lo menos para mi, es utilizar el emulador, una vez cargado la ejecución es rápida y comoda. Pero hay ocasiones que no podemos utilizar el emulador para realizar las pruebas. Un ejemplo de este caso puede ser al desarrollar aplicaciones que se comunican mediante Bluetooth, el emulador no las soporta, con lo que no nos queda otra que utilizar un dispositivo físco.

Si estamos desarrollando con un dispositivo y se produce un error necesitamos poder acceder de forma rápida a los logs, para así ver donde se produce el error. Podemos poner mensajes mediante Toast, pero no es comodo y hay que acordarse quitarlos todos... vamos que no es recomendable. Vemos un forma fácil de acceder a los logs.

Solución

Por suerte es sencillo acceder a los logs, como siempre es fácil si se sabe como hacerlo. Primero debemos conectar nuestro dispositivo mediante usb. En Eclipse en la pestaña DDMS, podemos seleccionar el dispositivo, seleccionamos el que hemos conectado.

Ahora debemos seleccionar la configuración de nuestro dispositivo, en mi caso, bajo el menú aplicaciones esta la opción Desarrollo. Dentro de esta, debemos marcar la opción Depuración de USB, como vemos en la imagen.

Si ejecutamos la aplicación, en la pestaña de Logcat del Eclipse, veremos los diferentes logs de nuestro dispositivo... si ya se, hay mucho y es dificil ver lo que nos interesa. Bueno esto también tiene solución, en la pestaña del Logcat puedes crear un filtro para que solo se visualicen los logs de tu aplicación, filtrando por aplication o por el tag del log.

Android: Crear mensajes en nuestra aplicación

sábado, 19 de enero de 2013 Etiquetas: ,


Introducción

En una entrada anterior vimos como hacer que nuestra aplicación se suscriba a ciertos eventos que Android produce, por ejemplo cuando se inicia el dispositivo. En esta entrada vamos a ver como podemos usar el sistema de mensajes dentro de nuestra aplicación. De forma similar se podrían usar este tipo de mensajes entre diferentes aplicaciones.

Como los mensajes que veremos están diseñados para ser usados dentro de nuestra aplicación, también asignaremos permisos para que sólo los podamos utilizar dentro de aplicación que estemos desarrollando, siempre que no nos interese que los puedan usar otros programas.

Vamos a suponer que tenemos un servicio que esta consultando el cambio de datos cada cierto tiempo, puede ser las coordenadas GPS, algún dato de internet, por ejemplo entradas de twitter, etc... y nos interesa que cuando se reciva un nuevo dato nuestro servicio avise de este nuevo dato para que se refresque la pantalla de usuario.

Android: Escuchar mensajes de Android

martes, 11 de diciembre de 2012 Etiquetas: , , , ,


Introducción

El sistema Android genera una serie de mensajes que nos puede interesar "escuchar" para según que queramos realizar. Este sistema de de mensajes se ajusta al patrón de diseño Observador 1, en Android se denomina Broadcast receivers.

Android se encargará de realizar de publisher de determinados eventos que nos pueden interesar: el aparato se ha iniciado, hay conexión de red.... Nosotros debemos subscribirnos al evento que nos interesa, así seremos avisados cuando este tenga lugar, pudiendo realizar la operación que necesitemos. Además, Android nos permite configurar nuestros propios eventos, pero eso lo veremos mas adelante en otro post.

Mantener una Sesión en HTTP

miércoles, 10 de agosto de 2011 Etiquetas: , , , , , ,

Introducción

En la anterior entrada del blog vimos como realizar una conexión a un servidor http y leer la información que nos envía. Esto nos funciona para peticiones simples, donde realizamos una llamada y el servidor nos contesta. La parte servidor no necesita almacenar datos sobre nuestra conexión.

Hay ocaciones, sin embargo, que nuestra aplicación necesita realizar una serie de peticiones al servidor y este si que necesita mantener información de la conexión para poder respondernos. En este caso el servidor necesita inciar una sesión donde poder almacenar información y que al realizar la llamada debemos indicarle el id de la sesión. Vamos a
ver como podemos realizar este funcionamiento mediante el uso de cookies [1].

Conectando con el mundo mediante HTTP

miércoles, 3 de agosto de 2011 Etiquetas: , , ,

Introducción

Cuando programas una aplicación para un smartphone, lo más normal que acabes necesitando conectarte a internet para obtener algún dato. Por lo menos yo si que he tenido la necesidad conectarme a una web para obtener datos que después mostraré en la aplicación.

Al utilizar Java para el desarrollo de las aplicaciones de Android, pues nos basamos en las librerías que proporciona este lenguaje para la conexión a redes. Concretamente las que encontramos en el paquete java.net [1]. Voy a enseñar como relice la conexión, he visto variedad de posibilidades, pero con esta me funciona sin problemas, así que la muestro por si a alguien le puede servir de ayuda.

Log: Depuración de código.

lunes, 1 de agosto de 2011 Etiquetas: , , ,

Introducción


Durante la fase de desarrollo de una aplicación siempres llega el momento de realizar pruebas de la misma, y seguro que aparece algún bug que hay que corregir. Android bajo el paquete android.util.Log[1] nos proporciona una utilidad de log para poder escribir mensajes y ver por donde se ejecuta la aplicación, facilitando así la fase depuración.

Desde el entorno de desarrollo Eclipse[2] tenemos la posibilidad de realizar las pruebas de nuestra aplicación mediante la ejecución de un emulador de un terminal con Android. Con este emulador puedes definir la resolución de pantalla, versión del sistema operativo que ejecuta... vamos, muchas opciones para poder realizar una gran cantidad de pruebas. Además con la vista de ejecución hay una ventana donde podemos ver la salida de los logs que hemos ido indicando.

Yo tengo el problema que no tengo un ordenador última generación, vamos ni de penultima, entonces el ejecutar el emulador me va muy lento, así que para realizar las pruebas las hago directamente sobre terminales reales, me es mas rápido y así voy viendo el resultado final real. Esto tiene en inconveniente que no puede acceder directamente al log tal y como se puede realizar desde el entorno de desarrollo Eclipse.

Activity: Evitar guardar en la pila (Back Stack)

jueves, 28 de julio de 2011 Etiquetas: , , , ,

Introducción

Esta entrada como la anterior habla sobre como manipular un comportamiento de una Activity[2], en esta caso el comportamiento que nos interesa modificar es que no se guarde en la pila (Back Stack), donde se van almacenando las diferentes activities que va ejecutando nuestra aplicación. En mi caso tengo una actividad que muestra una pantalla de login, una vez se ha introducido el password correcto inicia una nueva Activity[2]. Cuando pulsa el botón de atrás no quería que saliera de nuevo la pantalla de login sino que saliera de la aplicación

Como ya es el segundo tema sobre activities en dos días voy a empezar a contar algo sobre estas clases, así veremos algo sobre su funcionamiento y la solución que he encontrado, no se si la más correcta, para el problema de evitar que se almacene en la Back Stack.

[28.03.2013] Esta entrada esta bien para ver como funciona el ciclo de vida de una actividad. Si quieres ver como hacer que no se guarde una Activity en la Back Stack mejor mira este otro post.

Evitar que se reinicie la Activity al girar el móvil

miércoles, 27 de julio de 2011 Etiquetas: , , ,


Introducción

Hay un funcionamiento en Android que no acabo de entender, y que por defecto funciona de esa forma, es que se reinicia la aplicación cuando giras el terminal. Este comportamiento no le acabo de ver la utilidad, ¿alguien me puede decir alguna ventaja?

Al reiniciarse la Activity todas las acciones que había hecho el usuario hasta el momento se pierden, o si por ejemplo esta reproduciendo música, lanzaría otra reproducción.

Por suerte la solución es sencilla y vamos a ver que hay que hacer.

Comenzando a programar en Android

martes, 26 de julio de 2011 Etiquetas: ,

Introducción

Lo primero que hay que hacer para programar para Android es saber algo de Java, ya que es el lenguaje de programación que utilizaremos para desarrollar las aplicaciones que se ejecutan en los dispositivos Android.

Lo segundo que hay que realizar para comenzar a programar para los dispositivos Android es descargarse las herramientas necesarias para poder realizarlo. Yo me he decantado por la opción más popular: Eclipse.  También se puede utilizar otro buen IDE como es NetBeans, que he utilizado en otras ocasiones y es completo, pero el plugin para este último es menos completo del que hay disponible para Eclipse..