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, startActivityForResult (Lanzar una actividad para recibir un resultado)

En un ejemplo anterior mandamos información de nuestra actividad a la siguiente que lanzábamos, a través de los extras del Intent. Pero en android tenemos también la posibilidad de lanzar una nueva actividad a la espera de que esta nos devuelva un determinado resultado, y así tratar la información en nuestra actividad principal.

En esta ocasión vamos a explicar cómo podemos utilizar esta herramienta. Para ello diseñaremos una interfaz con dos EditText y dos Button, ambos botones van a llamar a una siguiente actividad, que lanzaremos a la espera de un resultado, y cuando recibamos el resultado, trataremos la información en función de cómo haya sido llamada la segunda actividad. La segunda actividad tendrá únicamente un EditText y un Button, en el EditText escribiremos un texto, y al darle al Button estableceremos el resultado. Este texto introducido lo mostraremos en el EditText de la primera actividad que corresponda al Button que hayamos pulsado inicialmente.

Leer más…

Programación Android, uso del CountDownTimer (proyecto TacitasCounter)

Sigamos con ejemplos simples, perfectos para aprender lo más básico, pero os aconsejo no subirlos al market de Android.
En esta ocasión vamos a jugar un poco con un cronómetro, para ello vamos a hacer nuestra TacitasCounter, que llevará la cuenta de tazas de café llevamos, y configuraremos el tiempo que queremos tomarnos de descanso para tomarlo. Una vez finalizado, nos mostrará un aviso temporal en pantalla.
Empezaremos definiendo un Layout en el que tendremos tres botones, dos para aumentar y disminuir el tiempo (en minutos) que tendremos de descanso, y otro para iniciar o detener la aplicación. También incluirémos TextViews para mostrar el tiempo de descanso, tanto los TextViews como los botones van a tener un tamaño de letra configurado en el XML:
TacitasCounter1

Leer más…

Ocho consejos que te ayudarán a aprender a programar de una forma más productiva

Quizás eres un programador novel que está comenzando a desenvolverse en algún lenguaje de programación y te está constando arrancar o afianzar todos los conceptos nuevos que te vas encontrando. El aprendizaje de un lenguaje de programación es algo que requiere un relativo alto número de horas, por lo que cuánto mayor sea la calidad de ese tiempo que dediquemos mejor serán los resultados.

A continuación, os expongo una serie de tips o consejos (como queráis llamarlos) inspirados en experiencias propias y unos cuantos posts leídos sobre el tema que rozan la temática de la auto ayuda encapsulada en recetas.
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…

Primeros pasos con Java, estructuras de control

Por último, vamos a explicar cómo se utilizan las sentencias de control en java.
Las estructuras de control de Java son similares a las de C. Tenemos las estructuras de control condicionales y repetitivas clásicas de la programación estructurada.
La estructura de control más básica es if/else, que tiene la siguiente forma:

if (condición) {
   	sentencias;
} else {
   	sentencias;
}

Leer más…

Primeros pasos con Java, operadores

Los operadores realizan algunas funciones en uno o dos operandos. Los operadores que requieren un operador se llaman operadores unarios. Por ejemplo, ++ es un operador unario que incrementa el valor su operando en uno.
Los operadores que requieren dos operandos se llaman operadores binarios. El operador = es un operador binario que asigna un valor del operando derecho al operando izquierdo.
Los operadores unarios en Java pueden utilizar la notación de prefijo o de sufijo. La notación de prefijo significa que el operador aparece antes de su operando.
operador operando
La notación de sufijo significa que el operador aparece después de su operando:
operando operador
Leer más…

Primeros pasos con Java, clases

Como ya hemos comentado antes en Metodología de programación I, las clases son la médula espinal de cualquier programa en la programación orientada a objetos.

Una clase es el producto de enfocar la programación a los datos más que a las funciones. Por tanto una clase es una colección de datos y además para operar con ellos una serie de funciones propias de la clase. Veamos por ejemplo la clase “Fichas”:

public class Fichas {
   	String color;
   	public Fichas(String c){color=c;}
   	public String dameColor(){return(color);}
}

Leer más…