Você está na página 1de 27

Alertas en Android

Los AlertDialog son ventanas que se muestran delante de las actividades, y


pueden recibir acciones del usuario. El diálogo de tipo alerta se crea a partir de
una instancia de la clase AlertDialog y puede contener:

• un título (icono + texto),


• un mensaje de texto,
• de 1 a 3 botones,
• una lista de Radiobuttons o Checkboxes,

Ejemplo

Creamos una interfaz como la que se muestra a continuación

La Interfaz que se aprecia en la vista XML del IDE es la siguiente:


La implementación del Activity queda de la siguiente forma
El Toast debe apreciar de la siguiente forma:
El DialogBuilder

El AlertBox
Intents en Android (Eclipse)

Es muy común que una aplicación tenga más de una ventana. Para implementar
esto en Android debemos plantear una segunda clase que también herede de la
clase Activity (tengamos en cuenta que cuando utilizamos ADT automáticamente
cuando creamos un proyecto nos crea el archivo XML y java de la primer Activity)

En el siguiente ejemplo se muestra como activar un segundo activity por medio de


un evento:

1 - Primero creamos un nuevo proyecto que lo llamaremos proyecto008 y en la


ventana principal creamos la siguiente interfaz:
Es decir que nosotros queremos que cuando se presione el botón "Acerca De" nos
abra otra ventana (Activity) y nos muestre el nombre del programador.

2 - Ahora tenemos que crear el segundo Activity. Crearemos primero el archivo


XML. Presionamos el botón derecho sobre la carpeta layout y seleccionaremos la
opción New -> Android XML File
Aquí tenemos que definir el nombre del archivo XML (debe estar en minúsculas),
lo llamaremos acercade:
Implementamos ahora la interfaz visual de esta segunda ventana (Activity)
disponiendo un objeto de la clase TextView donde mostramos el nombre del autor
de este programa y un Button para cerrar la ventana.

3 - Tenemos ahora que crear el archivo Java donde dispondremos la funcionalidad


de la segunda ventana (Activity). Creamos una nueva clase al proyecto desde el
menú contextual(presionamos el botón derecho del mouse sobre el paquete):
Al nombre de la clase la llamamos AcercaDe y debemos especificar que hereda
de la clase Activity (podemos presionar el botón Browse que está en la misma fila
de SuperClass y buscamos la clase Activity para que disponga el nombre del
paquete donde se encuentra):

El código que nos genera es:


package com.java.proyecto008;
import android.app.Activity;
public class AcercaDe extends Activity {

}
Debemos sobreescribir el método onCreate donde enlazamos esta clase con el
archivo XML que diseñamos.

Si no recordamos cual es la sintaxis exacta de este método podemos también


generarlo automáticamente con la ayuda de nuestro editor, elegimos Source ->
Override/Implement methods:

Buscamos el método onCreate y presionamos el botón Ok, ahora ya tenemos la


clase con el método onCreate:

import android.app.Activity;
import android.os.Bundle;

public class AcercaDe extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}

Ahora solo falta llamar al método setContentView para enlazar el archivo XML:

import android.app.Activity;
import android.os.Bundle;

public class AcercaDe extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.acercade);
}

Como podemos ver la clase AcercaDe hereda de la clase Activity e implementa el


método onCreate para enlazar el archivo XML que creamos anteriormente.

4 - Otro paso fundamental es registrar el Activity en el archivo


"AndroidManifest.xml" que se encuentra en la raiz principal del proyecto.
Seleccionamos el archivo y activamos la pestaña : "Application", presionamos el
botón "add" y seleccionamos "Activity":
Por último seleccionamos en "Application Nodes" la actividad creada y definimos
la propiedad Name con el nombre de la clase que la implementa (en nuestro caso
se llama AcercaDe):

5 - Ahora implementaremos la funcionalidad en la actividad (Activity) principal para


que se active la segunda ventana.

Inicializamos la propiedad OnClick del objeto de la clase Button con el valor


"lanzar", este es el método que se ejecutará cuando se presione.
El código fuente de la actividad principal queda:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main,
menu);
return true;
}

public void lanzar(View view) {


Intent i = new Intent(this, AcercaDe.class );
startActivity(i);
}

En el método lanzar creamos un objeto de la clase Intent y le pasamos como


parámetros la referencia del objeto de esta clase (this) y la referencia del otro
Activity (AcercaDe.class) Llamamos posteriormente al método startActivity
pasando el objeto de la clase Intent (con esto ya tenemos en pantalla la ventana
del segundo Activity:

public void lanzar(View view) {


Intent i = new Intent(this, AcercaDe.class );
startActivity(i);
}
Si ejecutamos el programa podemos ver que cuando presionamos el botón
"Acerca De" aparece la segunda ventana donde se muestra el TextView con el
valor "Autor de este programa: Diego" y un botón con el texto "Finalizar" (si
presionamos este botón no sucede nada, esto debido a que no hemos asociado
ningún evento a dicho botón)

6 - Debemos codificar el evento OnClick de la segunda actividad. Seleccionemos


el botón "Finalizar" y definamos en la propiedad OnClick el nombre de método que
se ejecutará al presionarse el botón (en nuestro caso lo llamaremos cerrar") :

El código fuente de la actividad AcercaDe queda:


import android.app.Activity;
import android.os.Bundle;
import android.view.View;

public class AcercaDe extends Activity {


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.acercade);
}

public void cerrar(View view) {


finish();
}
}

Cuando se presiona el botón finalizar llamando al método finish() que tiene por
objetivo liberar el espacio de memoria de esta actividad y pedir que se active la
actividad anterior.

Ahora nuestro programa está funcionando completamente:

Primer Activity:

Segundo Activity:
Intents en Android Studio

La aplicación se compone de dos actividades. La primera es Main.java la cual se


crea automáticamente cuando se cree un nuevo proyecto, donde ubicarás un
botón. La segunda actividad se debe crear posteriormente. La idea es iniciarla
presionando el botón a través de un Intent .

A continuación se debe crear una nueva actividad en blanco. Para ello se debe ir a
la raíz de tus archivos java y presiona “New“. En ese nuevo menú presiona
“Activity” y en seguida “Blank Activity“:
A continuación veremos una asisten que nos proporcionará un formulario para
personalizar nuestra nueva actividad:

Veremos que el primer parámetro es “Activity name“. Este representa el nombre


que le pondremos a la actividad, el cual será “Visor“.

Luego sigue “Layout Name” que hace referencia al nombre del layout de la
actividad. Dejaremos su valor actual recomendado por Android Studio.

El tercer parámetro es “Title“, es decir, el título que se mostrará al ejecutar al


actividad en la parte superior. Dejaremos el valor recomendado.
La opción “Launcher Activity” la desmarcaremos, ya que
la actividad principal es Main.java.

La quinta propiedad se llama “Hierarchical Parent“. Esta característica indica si


nuestra nueva actividad es hija de otra actividad. Esto significa que están
relacionadas jerárquicamente en la navegación de la interfaz. Para seleccionar la
actividad padre pulsaremos “…” y seleccionaremos a Main.java.

Si habilitamos esta opción podremos hacer uso del Up Button. Este botón es
autogenerado por las aplicaciones Android cuando deseamos regresar de una
actividad a otra. Normalmente se encuentra en la parte superior izquierda de la
cabecera.

Y el ultimo parámetro es el paquete donde ubicaremos la actividad, por lo que


dejaremos el paquete por defecto. En este caso es “com.
programacion.petmotion“. Luego presionamos “Finish” y nuestra nueva clase
será creada.
En el archivo Android Manifest verás la nueva actividad agregada:

La actividad Visor tiene un nuevo atributo llamado android:parentActivityName , el


cual contiene el nombre de la actividad padre. Que para nosotros será “.Main”.
Esta relación se concluye añadiendo un elemento <meta-data> a la actividad y
especificar el nombre de la acción PARENT_ACTIVITY y el paquete donde se
encuentra la clase “com.programacion.petmotion.Main”.

Diseñando las actividades

Nuestro siguiente paso es diseñar los layouts de ambas actividades. Para la


actividad principal agregaremos un botón con el identificador show_pet_button y el
texto “Mostrar mascota”.

Su layout activity_main.xml obtendría el siguiente aspecto:

A continuación pasamos a agregar un ImageView en Visor.Para añadir un


ImageView primero nos dirigiremos a la paleta y lo arrastraremos al centro del Rel
ativeLayout:
Ahora se debe ubicar en la carpeta “drawable-mdpi” y presiona click derecho.
Elige la opción “Show in Explorer“:
Una vez hecho esto, aparecerá la carpeta de los recursos (res) del proyecto.

Si abres “drawable-mdpi” encontrarás el archivo “ic_launcher.png” que


representa al icono de la aplicación. Junto a él pega la siguiente la imagen
asociada a un mascota

Automáticamente Android Studio refrescará nuestro proyecto y mostrará el


archivo pet1.jpg en la carpeta de recursos:
Una vez ubicada la imagen, nos situaremos en su atributo src en el panel de
propiedades. Por lo que presionaremos el botón “…“.

En seguida se mostrará un asistente para pickear la imagen que necesitamos


ubicada en el proyecto. Rápidamente escogeremos la imagen y presionaremos
“OK“.
:
El código XML del layout de la actividad Visor tendría la siguiente estructura:
Iniciar una actividad
El paso final es iniciar nuestra actividad Visor una vez sea presionado el botón
show_pet_button. Para ello simplemente usaremos el método startActivity() de la
clase Activity. Este método recibe como parámetro de entrada un Intent. Este
intent será el encargado de mostrar el mensaje para ejecutar la acción. El código
final de la actividad Main sería el siguiente:
Tabs en Android

Diseñar una interfaz como se muestra a continuación, utilizando elementos del tipo
TabWidget
El código XML, es el que se muestra a continuación

Se crea un Activity con la siguientes caracteristicas:


Creamos la clase que llama el intent asociado al tab 1

Creamos la clase que llama el intent asociado al tab 2

Creamos la clase que llama el intent asociado al tab 3

La interfaz debe mostrar el contenido de los tres Tabs.

Você também pode gostar