Android: Activity

Activity

Una Activity es un componente de la aplicación que contiene una pantalla con la que los usuarios pueden interactuar para realizar una acción, como marcar un número telefónico, tomar una foto, enviar un correo electrónico o ver un mapa. A cada actividad se le asigna una ventana en la que se puede dibujar su interfaz de usuario.

Una Activity están formadas por dos conceptos: El concepto lógico y el concepto gráfico. A diferencia de lo que venimos acostumbrados en un lenguaje de programación clásico, la activity se compone de dos archivos. Por ejemplo, nuestra “MainActivity” está compuesta por su parte lógica MainActivity.java y por su parte gráfica main_activity.xml

Estructura de los archivos main

MainActivity.java

Todas las Activity heredan (Extends) de la clase Activity, es específico de AppCompatActivity (Pueden heredar directamente de Activity pero se utiliza appCompatActivity).

Diferencia entre AppCompactActivity y Activity

AppCompatActivity: Es la super clase de un activity en la cual contiene métodos que heredarán o que pueden heredar de esa clase.

Activity: Es la vista que se le puede dar al usuario final, de la cual pueden implementar los métodos que existan dentro de AppCompatActivity.

StackOverflow – Usuario Devix

activity_main.xml

Por ahora no vamos a meternos muy de lleno con el XML, ya que es lo que voy a explicar en detalle en las próximas entregas. Básicamente lo que nos muestra es el ancho y largo del layout, el tipo de layout y dentro los elementos, en este caso un TextView con el texto “Hello World!”.

Relacionar los archivos

Para que el archivo lógico (MainActivity.java) “sepa” cual es el archivo gráfico que le corresponde se lo tenemos que setear dentro del método onCreate (Método que se lanza cuando ingresamos a esa activity determinada) y en donde le indicamos a través de setContentView que XML corresponde con esa activity.

Dentro del setContentView encontramos una ruta que nos referencia un id, el id del xml, pero…¿que significa?. Android almacena TODO lo que se crea dentro de un identificador general llamado R (imaginen que R fuese una especie de Raíz) en donde dentro de R hay una carpeta llamada layout (Si miramos en la organización de nuestros archivos, dentro de “res” tenemos la carpeta “layout” con el archivo que estamos indicando). De está manera, lo que hacemo es decir (en criollo) “Cuando se lance está activity, setear el siguiente layout”

Crear una Activity

La manera más comoda y practica es haciendo click sobre la carpeta app → new → activity → Empty Activity

Luego de seleccionar el nombre que queramos nos la creara. Pero esto no termina acá, tenemos que registrar nuestra activity en el AndroidManifest.xml que si miramos ya aparece en parte registrada

Faltaria agregarle los intent-filter con la action MAIN para que se genere el Activity cuando iniciamos la app y con la categoría DEFAULT ya que LAUNCHER está reservada para una sola activity, la principal (la index digamos)