jueves, 22 de abril de 2010

TUTORIAL: Desarrollo de aplicaciones para Android (IV)

Una Activity (actividad) es algo que un usuario puede hacer. Por ejemplo, se preocupa de crear una ventana en la que pondremos nuestra interfaz de usuario con el método setContentView(View). Se suele mostrar al usuario como una ventana maximizada. Casi todas las actividades interactúan con el usuario, pero el usuario sólo puede interactuar con una actividad a la vez.
Hay dos métodos que casi todas las subclases de Activity implementan:
  • onCreate(Bundle): Inicia la actividad. En este método se suele llamar a setContentView(int) con un layout (veremos los tipos de layouts en la próxima parte) que defina tu interfaz de usuario, y usando findViewById(int) para cargar los widgets que se necesiten en ella
  • onPause(): Indica lo que tiene que hacer la aplicación cuando el usuario abandona la aplicación
Pero no son los únicos métodos de Activity. El siguiente diagrama muestra los diferentes estados de una actividad a lo largo de su ciclo de vida:


Ahora que ya sabemos qué es una actividad, vamos a analizar el código por defecto que vimos al crear el primer proyecto Android:

Vemos como la clase HelloAndroid hereda de Activity. Por tanto puede sobrescribir sus métodos (onCreate, onResume, ...). En este caso se ha sobrescrito sólo el método onCreate(), en el que simplemente se añade un layout con un texto por defecto.
Ahora vamos a analizar el código del HolaAndroid que creamos en la anterior parte:


Las interfaces de usuario de Android están compuestas de jerarquías de objetos llamados View (vistas). Una View es un objeto representable en un layout (como un botón, una imagen, o en este caso, una etiqueta de texto). Cada uno de estos objetos es una subclase de la clase View y de la subclase que gestiona el texto es la clase TextView.

Con estas línea...:
TextView tv = new TextView(this);

... creamos un TextView al que pasamos una instancia de la clase Context como parámetro. Un Context proporciona servicios tales como acceso a bases de datos, recursos, etc. La clase Activity hereda de Context, y como nuestra clase HolaAndroid es una subclase de Activity, también es un Context. Por consiguiente podemos pasar this como nuestra referencia de Context a TextView.

Después, definimos el contenido del texto con:
tv.setText("Hola Android");

Finalmente, pasamos el TextView a la función setContentView() para mostrarlo como contenido de la interfaz de usurario de la Activity.

Ir a siguiente parte del tutorial

1 comentario:

K3RN3L dijo...

muy bien explicado, gracias

Publicar un comentario