Guadalajara (Spain). Ingeniero Superior en Informática por la Universidad de Alcalá. Co-fundador y diseñador web en Ayuve. Organizador de las Tertulias Viajeras Wanderlust Guadalajara y Co-organizador de Codenares, creador de la web Senderismoguadalajara.es (nivel básico de Montañismo por la Escuela de Madrileña de Montaña) y de la app móvil Tu Huerto en Casa (www.tuhuertoencasa.net). Sígueme en twitter, soy @vjpascual.

A veces es necesario pasar datos entre Activitys de la aplicación. Esto se hace “rellenando” con datos el Intent que las comunica.

Se da por hecho que conoces lo que es un Intent (si no fuera así puedes mirar la documentación de Android que es muy buena en ese sentido o cotillear ejemplos online para entender el funcionamiento). Para añadirle datos a un Intent se usa la función putExtra la cual añade una variable y un valor de la misma al Intent.

Después se recupera en la Activity destino creando un Bundle al que le metemos los datos del Intent gracias a getIntent().getExtras(). Una vez relleno el bundle, para recuperar una variable concreta se hace nombrebundle.getString(“nombredevariable”);

Veamos el código:

En la Activity que envía datos se pone dentro por ejemplo de un OnClick de un botón…

[cc lang=”java”]
Intent i=new Intent(this,ActivityAlaQueEnvias.class);
i.putExtra(“nombreVariable”,”valor”);
startActivity(i);
[/cc]

Y en el Activity destino recuperas los datos así:

[cc lang=”java”]
Bundle extras = getIntent().getExtras();
if(extras !=null) {
variable = extras.getString(“nombreDeVariable”);
}
[/cc]

Con esos trocitos de código podéis pasar datos entre Activitys. Cualquier duda usa los comentarios 😉

Enlace a doc Developer Android -> Intent | Ir a la Doc

Deberías leer  Meter publicidad a las aplicaciones de Android: Sistema de anuncios AdMob

Comments

  1. Bien yo utilizo lo siguiente:
    -Declaro una variable tipo Activity .
    public static MainActivity miAplicacion;
    -En onCreate por ejemplo la igualo a this.
    miAplicacion=this;
    -Finalmente creo la función.
    public static MainActivity getInstance(){
    return miAplicacion;
    }
    -Y ya está, tengo acceso a todas las funciones y variables públicas de esta clase.

  2. Perdón tendría que añadir que el acceso lo tengo llamando desde otra clase a la función anterior.
    MainActivity.getInstance().miVariable;

Deja un comentario

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