Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Android / Paso de parámetros entre dos Activity

Paso de parámetros entre dos Activity

Autor jc mouse viernes, agosto 9, 2013

En este tutorial veremos como pasar parámetros de un activity a otro activity, no hay mucho que decir así que manos a la obra.

 Herramientas

– Eclipse Indigo + Android instalado y configurado

Tiempo: 10 minutos

1. Crea un nuevo Application Android Project con la siguiente configuración:

Application Name: Pasanaku

Project Name: Pasanaku

Package Name: com.tutorial.Pasanaku

Activity: Blank Activity

Activity Name: AlfaActivity.java

Layout Name: activity_alfa.xml

2. Agrega un segundo activity al proyecto. NEW -> OTHER -> ANDROID ACTIVITY

Activity Name: BetaActivity.java

Layout Name: activity_beta.xml

Nuestra aplicación esta ahora formado por 2 actividades, Alfa la primera sera de donde se pasen los parámetros y la activity Beta, sera quien los reciba y muestre en pantalla.

pasanaku

3. El código XML de alfa_activity es:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".AlfaActivity" >

    <EditText
        android:id="@+id/txtName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="@string/strName" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/txtNumber"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"        
        android:inputType="number"
        android:text="@string/strNumber" />

    <Button
        android:id="@+id/btnGo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/strButton" />

</LinearLayout>

– El código XML de beta_activity es:

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".BetaActivity" >

    <TextView
        android:id="@+id/txtResultado"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/strResultado" />

</RelativeLayout>

– Finalmente nuestro archivo String.xml queda de la siguiente manera:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Pasanaku</string>
    <string name="action_settings">Settings</string>    
    <string name="strName">Paco Mermela</string>
    <string name="strNumber">8008135</string>
    <string name="strButton">Pasar parametros</string>

    <string name="title_activity_beta">Pasanaku 2</string>
 <string name="strResultado">Resultado</string>

</resources>

que pasa pues

4. El código de la clase AlfaActivity.java, es quien captura los datos de la interfaz y prepara todo para abrir el segundo layout pasando los parámetros.

package com.tutorial.pasanaku;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class AlfaActivity extends Activity implements OnClickListener{

 //variables utilizadas en la aplicacion
 private EditText txtName;
 private EditText txtNumber;
 private Button btnGo;

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

  //Referencia a los objetos del layout
  txtName = (EditText) findViewById( R.id.txtName );
  txtNumber = (EditText) findViewById( R.id.txtNumber );
  btnGo = (Button) findViewById( R.id.btnGo );
  btnGo.setOnClickListener( this );
  //+++
 }

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

 @Override
 public void onClick(View v) {  

  //Si las cadenas no estan vacias
  if( txtName.length()>0 && txtNumber.length()>0 )
  {
   //bundle nos permite almacenar valores de la siguiente forma
   // bundle.putString( clave, valor );
   // pudiendo BUNDLE alamcenar valores de todo tipo 
   Bundle bundle = new Bundle();
   bundle.putString("Nombre" , txtName.getText().toString() );   
   try
   {
    int numero = Integer.valueOf(txtNumber.getText().toString());
    bundle.putInt( "Numero" , numero );  
   }
   catch ( NumberFormatException ex ){
    //Si el valor ingresado no es un numero INT asigna 0
    bundle.putInt( "Numero" , 0 ); 
   }
   //Intent nos permite enlazar dos actividades
   Intent intent = new Intent( AlfaActivity.this, BetaActivity.class );
   //añadir parametros
   intent.putExtras( bundle );
   //ejuta intent
   startActivity( intent );  
  }
  else
  {
   //si no existen valores en los objetos EditText muestra un mensaje
   Toast toast = Toast.makeText(getBaseContext(),"Debes escribir un Nombre y un número entero",Toast.LENGTH_SHORT );
   toast.show();
  }  

 }

}

– Finalmente la clase BetaActivity.java que corresponde al segundo layout y donde se muestran los parámetros pasados desde el primer layout.

package com.tutorial.pasanaku;

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

public class BetaActivity extends Activity {

 //Variable utilizadas en la clase
 private TextView textView;
 private StringBuilder mensaje = new StringBuilder();

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

  //Referencia a los objetos del layout
  textView = (TextView) findViewById( R.id.txtResultado );
  //Recupera parametros y los muestra en el TextView
  Intent intent = getIntent();
  Bundle bundle = intent.getExtras();
   if ( bundle != null ) {
    mensaje.append("Nombre: \r\n");
    mensaje.append( bundle.getString("Nombre") + "\r\n" );
    mensaje.append("Número entero: \r\n");
    mensaje.append( bundle.getInt("Numero") );
   }
   textView.setTextSize(33);
   textView.setText( mensaje );
  //++++++++

 }

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

}

Ejecutando nuestra aplicación:

pasa pasa

Descargate el proyecto completo en Eclipse AQUI 

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Procedimientos Almacenados: Parámetros INOUT

Procedimientos Almacenados: Parámetros INOUT

En post anteriores vimos lo que son los parámetros IN y los parámetros OUT pero existe otro tipo de parámetro que es la...

UML Java: easyUML plugins para Netbeans

UML Java: easyUML plugins para Netbeans

easyUML es una herramienta para crear diagramas UML para NetBeans de forma visual. Adecuado para el aprendizaje de este...

Extraer texto e imagen, exportar como PNG y encriptar un archivo PDF

Extraer texto e imagen, exportar como PNG y encriptar un archivo PDF

En este post hablaremos sobre la biblioteca de Apache PDFBox el cual es una herramienta para java de código abierto que...

Pruebas instrumentadas con Espresso

Pruebas instrumentadas con Espresso

Espresso es un framework de testing propiedad de Google que está dirigido a desarrolladores que creen que las pruebas au...

Gestión de Stock – La Vista (Parte 3)

Gestión de Stock – La Vista (Parte 3)

En esta tercera parte del tutorial crearemos la interfaz de usuario GUI (VISTA) para el sistema de gestión de stock. Tom...

Añadir Splash Screen en Java/Netbeans

Añadir Splash Screen en Java/Netbeans

¿Splash Screen? El splash screen o traducido al aspañol 😉  es una “Pantalla de bienvenida” que se muestra cu...

3 comentarios en “Paso de parámetros entre dos Activity”

  1. Me gusta tu pagina y los projectos que subes exellente muchas gracias

  2. rudy dice:

    Muchas gracias!!!!!!

  3. Anonimo dice:

    ERES UN FENOMENO!! gracias

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

KolibriOS  es un pequeño sistema operativo poderoso, rápido y libre con un núcleo monolítico anticipativo en tiempo real...

Los cursos online se han convertido en algo común en nuestros días y las aplicaciones que hay en la nube para realizar r...

Dia Diagram Editor es un software gratuito de dibujo de código abierto para los sistemas operativos de Windows, Mac OS X...

En ocasiones el limite máximo de importación de base de datos que ofrece PhpMyAdmin (2MB) no es suficiente para lo que q...

Android Bolivia

MAUS