El blog de Miguel Díaz
Siguiente

RoboCAUpy

Copia eficiente de archivos, toda la potencia de robocopy con una interfaz sencilla y fácil de usar. Herramienta perfecta para migraciones de equipos y copia masiva de ficheros.Saber mas

Screenshot RoboCAUpy

mRemoto

Administra remotamente equipos, controlalos gráficamente o través de la línea de comandos, envía y recibe archivos, habla con el usuario y mucho mas sin ningún tipo de configuración previa.Saber mas

Screenshot mRemoto
screenshot mRemoto

DNSPropagationChecker

Controla la propagación DNS de cualquier dominio. Con un solo clic conocerás al instante si se ha propagado en los diferentes servidores DNS existentes.Saber mas

Acortador de nombres

Detecta ficheros con nombres largos, acortalos de forma masiva y reduce el tamaño de la ruta a la cantidad de carácteres que quieras.
Saber mas

screenshot Acortador Nombres
Anterior
Miércoles 15 de agosto del 2012

Y en esta entrega empezamos con los códigos, nada complicado pero necesario especialmente si vienes de lenguajes sencillos como VB.Net o C#. Como se ha dicho en las anteriores entregas es necesario conocer algún lenguaje de programación orientado a objetos, preferiblemente Java pues es el usado en Android.

Además si no has leído las entregas anteriores este es el momento:

Hoy veremos como modificar los diferentes elementos gráficos (contenedores de imagen, etiquetas de texto, botones, etc) en tiempo de ejecución. Si vienes de otros entornos como .net, verás que es muy similar pero con algunas variaciones, por ejemplo a los elementos de un Activity se les llama View en lugar de elementos.

En nuestro primer ejemplo tendremos un Activity que contendrá un TextView llamado “caja_de_texto”, por lo que nuestro xml será algo así:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView
        android:id="@+id/caja_de_texto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />
</RelativeLayout>

Como veis es simple, un textview con el texto “Hello World”. Es importante que veais la línea que dice android:id la cual define el nombre o id del view. Sin ello no podremos realizar cambios a posteriori.
Ahora vamos a explicar las partes de las que costa MainActivity.java

package com.example.ejemplocursoiii;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

Básicamente primero importa algunas de las API de android, posteriormente nos encontramos la clase referente a la actividad, que consta de dos funciones principales, onCreate y onCreateoptionsMenu.

La opción onCreate es ejecutada cuando se crea la actividad, es similar al OnLoad de .Net. Por otro lado onCreateOptionsmenu se ejecuta cuando se pulsa el botón de menús.

En nuestro caso vamos a modificar el textview al cargar la aplicación, de forma que nos diga la hora que es, para ello nos pondremos dentro de la funcion onCreate y la dejaremos de esta forma:

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //Definimos el objeto texto a partir de el elemento con id caja_de_texto
        TextView texto = (TextView)findViewById(R.id.caja_de_texto);
        Date fecha = new java.util.Date(); //manejador de fechas
        //Cambiamos el texto
        texto.setText(fecha.getHours()+":"+fecha.getMinutes());
    }

Creo que el ejemplo es bastante claro, en la sexta línea crearemos el objeto “texto” este nos servirá para manejar el view, la razón por la que se usa el modificador (TextView) es que la función findViewbyId nos devuelve un elemento de tipo View y no TextView, añadiendo este modificador lo convertiremos al adecuado.

Posteriormente, para cambiar el texto del elemento usaremos la función .setText(string) en la cual figura la hora del sistema aunque podemos poner cualquier otro valor de tipo String.

En la siguiente entrega veremos como llamar a los diferentes eventos onClick, onTouch, etc para poder ejecutar código en momentos diferentes al onCreate y onCreateoptionsMenu.

  • Tweet

Acerca de Miguel Díaz

Informático, enamorado de la programación, diseño Web y el deporte.
Categorías: Android, Programación. Etiquetas: , , , , , , , .

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Blog de Miguel Díaz
Diseño Web por Miguel Díaz.