Activitys

¿Cómo lanzar una actividad en Android Studio?¿Cómo pasar variables?

Video: Activitys

Veremos cómo lanzar una Activity desde un Botón y pasar variables mediante los putExtra usando el concepto de intentos o mejor llamados Intent.

Activities, pasar entre actividades, variables

¿Qué es una Actividad o Activity?

Es un componente que muestra una pantalla con la cual los usuarios pueden interactuar, poseen un ciclo de vida los cuales son;

  • onCreate(Bundle): Se llama en la creación de la actividad. Se utiliza para realizar todo tipo de inicializaciones, como la creación de la interfaz de usuario o la inicialización de estructuras de datos. Puede recibir información de estado dela actividad (en una instancia de la clase Bundle), por si se reanuda desde una actividad que ha sido destruida y vuelta a crear.
  • onStart(): Nos indica que la actividad está a punto de ser mostrada al usuario.
  • onResume(): Se llama cuando la actividad va a comenzar a interactuar con el usuario. Es un buen lugar para lanzar las animaciones y la música.
  • onPause(): Indica que la actividad está a punto de ser lanzada a segundo plano, normalmente porque otra actividad es lanzada. Es el lugar adecuado para detener animaciones, música o almacenar los datos que estaban en edición.
  • onStop(): La actividad ya no va a ser visible para el usuario. !Ojo si hay muy poca memoria! es posible que la actividad se destruya sin llamar a este método.
  • onRestart(): Indica que la actividad va a volver a ser representada después de haber pasado por onStop().
  • onDestroy(): Se llama antes de que la actividad sea totalmente destruida. Por ejemplo, cuando el usuario pulsa el botón de volver o cuando se llama al método finish(). Ojo si hay muy poca memoria, es posible que la actividad se destruya sin llamar a este método.

¿Cómo crear una nueva Actividad?¿Cómo lanzar de una actividad a otra?

 

¿Cómo enviar variables de una actividad a otra?

.

Código completo de la Aplicación

Activity_main.xml

Básicamente vemos en esta pantalla que se ha agregado dos elementos un EditText para enviar un texto y un Botón para escuchar el click 

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <Button
        android:id="@+id/btnLanzar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=" IR A LA ACTIVIDAD 2"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <EditText
        android:id="@+id/txtnombre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginBottom="8dp"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/btnLanzar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

 

Main_activity.java

Es esta, luego de castear los dos widget agregamos el escuchador onclicklistener, esta accion lo que hará preguntar si el EditText está vacio o no, si es si mostrará una notificación tipo Toast solicitando que ingrese su nombre, y en el caso de que no este vacio procederemos a lanzar un Intent creando con los parámetros correspondientes, agregamos un putExtra para crear una variable llamada nombre, ésta variable tendrá como valor el string capturado del Widget EditText.

public class MainActivity extends AppCompatActivity {

    private Button btn;
    private EditText texto;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = findViewById(R.id.btnLanzar);
        texto = findViewById(R.id.txtnombre);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (texto.getText().toString().isEmpty()) {
                    Toast.makeText(
                            getApplicationContext(),
                            "INGRESE SU NOMBRE",
                            Toast.LENGTH_LONG
                    ).show();
                } else {
                    startActivity(
                            new Intent(
                                    getApplicationContext(),
                                    SegundaActivity.class
                            )
                                    .putExtra("nombre", texto.getText().toString())
                    );
                }
            }
        });
    }
}

 

Segunda_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SegundaActivity">

    <TextView
        android:id="@+id/recibirTexto"
        android:gravity="center_horizontal"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="TextView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.17" />
</android.support.constraint.ConstraintLayout>

Segunda_Activity.java

public class SegundaActivity extends AppCompatActivity {

    private TextView recibido;
    private String valor;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_segunda);
        recibido= findViewById(R.id.recibirTexto);
        valor = getIntent().getExtras().getString("nombre");
        recibido.setText(valor);
    }
}

 


Activitys

¿Quieres tener acceso al código fuente completo del proyecto final?

Contenido premium

INSCRÍBETE GRATIS

151 visitas | Publicado hace 7 meses

© Todos los derechos reservados | codea.app | Comunidad de programación web y desarrollo de aplicaciones móviles | Perú 2019