Programación Android, AsyncTask – Conectar a Internet y leer XML

android_xml
En esta ocasión vamos a desarrollar una aplicación va a conectar a Internet y va a recoger un documento XML a través de un AsynkTask, para mostrar en un ListView las últimas publicaciones del blog. En primer lugar es necesario conocer la estructura del XML que vamos a utilizar, en este caso podemos ver la estructura completa en el siguiente enlace http://www.proyectosimio.com/feed/

Como vemos, tenemos una primera etiqueta , y en su interior se encuentra el título del blog, el link, la descripción, la última modificación de algún dato, idioma, etc. En nuestro ejemplo vamos a utilizar las etiquetas , que contienen los artículos que se han publicado en el blog. Dentro de esta etiqueta vemos que existen las etiquetas y , que contienen el título del artículo y el link en el que se encuentra.

En nuestro ListView vamos a mostrar el título de la entrada, y cuando se pulse sobre una lanzaremos un Intent para que se abra el navegador y muestre el artículo deseado.
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, Recursos XML III (Shape)

android_resources

Esta será la tercera y última entrada sobre la definición de recursos XML. Como dijimos en la segunda parte, en esta ocasión vamos a definir el shape para el botón, e indicaremos cómo acceder a los recursos desde el código Java.

En primer lugar, definamos un shape para el botón. Para eso lo primero es crear un nuevo archivo XML, que se llame buttonshape.xml. Al crearlo no vamos a utilizar el tipo de recurso “value”, sino que le indicaremos que es un “Drawable”, y en las opciones que nos aparecerán en la parte inferior, definiremos que es un Shape:

Crear shape en proyecto android
Crear shape en proyecto android

Leer más…

Programación Android, Recursos XML II

android_resources
En esta entrada vamos a continuar con el anterior ejemplo sobre recursos XML, en el que empezamos a definir y utilizar diversos recursos de nuestro proyecto.

El siguiente paso sería crear un estilo para uno de los botones, un shape para el otro, y tendremos que definir las dimensiones de altura y anchura para el tercero.

Empecemos con la parte más sencilla, que en parte ya vimos en la anterior entrada, vamos a definir las dimensiones del botón. Para ello añadiremos los siguientes valores en el archivo dimens.xml:

<dimen name="btn_height">60dp</dimen>
<dimen name="btn_width">150dp</dimen>

Y en el XML de nuestro layout utilizaremos esas dimensiones en las propiedades height y width del botón btnDimens:

android:layout_width="@dimen/btn_width"
android:layout_height="@dimen/btn_height"

Continue reading “Programación Android, Recursos XML II”

Programación Android, Recursos XML I

android_resources

Localización

En anteriores entradas se ha hecho mención a recursos XML que se crean automáticamente con nuestro proyecto. Con mayor frecuencia hemos hablado del archivo que almacena los Strings que nuestra aplicación pueda necesitar. Lo que no se mencionó entonces fue que también podemos crear otros archivos “strings.xml, dentro de otras carpetas, que nos facilitan el poder traducir nuestra aplicación a diferentes idiomas.

Por ejemplo, podemos poner en este primer archivo strings.xml todos los Strings en Inglés, y posteriormente crear una carpeta values-es en la que guardar una copia del primer archivo, y traducir todos nuestros Strings al español, y dentro de otra carpeta values-fr poner otra copia, en la que los Strings estén traducidos al francés.

Haciendo esto, no tendremos que controlar el idioma que debemos mostrarle al usuario, ya que el propio sistema accede a la carpeta que corresponda, basándose en su propia configuración de idioma, para mostrar los Strings al usuario, y en el caso de que no exista la carpeta específica para dicho idioma mostrará el contenido del archivo por defecto (aquél que se nos genera automáticamente al crear el proyecto).

Leer más…

Programación Android, enviar datos a una segunda Activity

En esta entrada vamos a explicar cómo se deben enviar datos a una segunda Activity para poder recogerlos en esta segunda Activity y mostrarlos en pantalla.

Para esto, en el Layout de la primera actividad hemos introducido un EditText en el que escribiremos el texto que queremos que se muestre en la segunda actividad, y un botón que va a recoger este texto y va a iniciar la segunda actividad, pasándole los datos.
El layout quedaría así:
Layout Activity1

Leer más…

Programación Android, RelativeLayout

Su principal característica es que los widgets que estén dentro de este contenedor basarán su posición en relación con los otros elementos. De esta forma, podemos definir que el widget X quede debajo del widget Y, y que a su vez éste se alinee verticalmente con el widget Z.

Además de posicionar un elemento con respecto a otro del mismo nivel, también podemos hacerlo con respecto al área que corresponde al RelativeLayout.

Este tipo de contenedor es una herramienta muy poderosa para cumplir con la tarea de diseñar interfaces de usuario ya que permite eliminar ViewGroups anidados, lo cual es útil para reemplazar un diseño en el que tenemos una gran cantidad de grupos dentro de un contenedor de tipo LinearLayout y hacerlo más eficiente utilizando un RelativeLayout.

Los atributos que nos sirven para posicionar los elementos con respecto a otros widgets son:

  • android:layout_above: Indica que el elemento se posicionará justo encima del elemento que tiene el ID definido como valor de este atributo.
  • android:layout_toLeftOf: Indica que el elemento se posicionará a la izquierda del elemento cuyo ID coincida con el definido en el valor de este atributo.
  • android:layout_toRightOf: Indica que el elemento se posicionará a la derecha del elemento cuyo ID coincida con el definido en el valor de este atributo.
  • android:layout_bottom: Posiciona al elemento debajo del que tenga la ID proporcionada en el valor del atributo.

Leer más…

Introducción a XML III

Última entrega de la introducción a los documentos XML, en esta ocasión vamos a dar una pequeña explicación sobre cómo se validan los documentos XML.

Validadores:

 


Documentos de ejemplo disponibles para descargar en Ejemplos_XML.rar
DTD

<?xml versión = "1.0" encoding = "utf.8">
<registros>
<descripcion>Contiene inf. Sobre acceso…</descripcion>
	<datos>
		<usuario>Pepe</usuario>
		<hora>10:22</hora>
		<fecha>22/01/21</fecha>
	</datos>
	<datos>
		<usuario>…</usuario>
		<hora>…</hora>
		<fecha>…</fecha>
	</datos>
</registros>

Leer más…

Introducción a XML II

Después de 2 semanas de ausencia simia (por motivos laborales el mono ha tenido que ausentarse), volvemos a publicar una nueva entrada en el blog, continuando la introducción a XML que se quedó a medias.

Esta vez vamos a explicar sus características, reglas de construcción de un documento XML, sus atributos y levemente lo que es un validador XML.

Características:

  • El documento xml se genera a través de un software, no se genera a mano. Se puede utilizar para hacer un intercambio de datos entre distintos programas (es su principal fin), que utilizan distintos lenguajes, ganando así compatibilidad entre ellos. Sólo transporta información (contiene los datos en texto plano).
  • Reglas de nomenclatura de las etiquetas, los nombres, atributos, etc. deben cumplir: Leer más…

Introducción a XML I

Para diseñar las vistas tanto de Windows Phone, como de Android o iOS, lo hacemos a través de la tecnología XML, por lo que es interesante conocer lo básico de éste tipo de archivos para saber formar una estructura correcta, y qué características y utilidades ofrece.

En esta ocasión vamos a ver las reglas básicas para crear un documento XML de forma correcta:

  • Todo doccumento.xml debe tener uno, y sólo uno, directorio raíz.

Leer más…