Como passar dados entre Activities Java
Android Java

Como passar dados entre Activities Java





Nesse tutorial vou descrever Como passar dados entre Activities Java para que você possa assim utilizar dados gerados em uma activity em outra.

Primeiramente vamos utilizar o projeto do tutorial Como criar uma nova Activity em Java e fazer algumas modificações nele para enviar uma String e um Inteiro da MainActivity para a NovaActivity sendo o nome e idade.

Logo depois de estar com o projeto aberto você deve ir no layout da sua activity_main e fazer as seguintes modificações para que seu código fique de acordo com o seguinte.

activity_main

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_margin="20dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Nome"/>
        <EditText
            android:id="@+id/etNome"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Idade"/>
        <EditText
            android:id="@+id/etIdade"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="number"/>
        <Button
            android:id="@+id/btnClick"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Nova Activity" />
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

Logo depois de modificar a activity_main vamos modificar o layout activity_nova para receber o valor enviado.

activity_nova

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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=".NovaActivity">
    <TextView
        android:id="@+id/tvResp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Nova Activity."
        android:textSize="40dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>




Agora vamos modificar o código da MainActivity para que fique como o seguinte.

MainActivity

package br.com.uware.novaactivity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btnClick = findViewById(R.id.btnClick);
        final EditText etNome = findViewById(R.id.etNome);
        final EditText etIdade = findViewById(R.id.etIdade);
        btnClick.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getApplicationContext(), NovaActivity.class);
                intent.putExtra("nome", etNome.getText().toString());
                intent.putExtra("idade", Integer.parseInt(etIdade.getText().toString()));
                startActivity(intent);
            }
        });
    }
}

Depois de ter feito as modificações no MainActivity para enviar os dados você deve modificar a NovaActivity.

Então na NovaActivity você deve receber os dados e imprimi-los na tela.

Vamos agora deixar assim o nosso código da NovaActivity.

NovaActivity

package br.com.uware.novaactivity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class NovaActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_nova);
        TextView tvResp = findViewById(R.id.tvResp);
        Intent intent = getIntent();
        String nome = intent.getStringExtra("nome");
        Integer idade = intent.getIntExtra("idade", 0);
        tvResp.setText("Nome: "+nome+"\nIdade: "+idade);
    }
}

Agora vamos compilar e executar o nosso projeto para ver o funcionamento dele.

Enfim espero poder ter ajudado com mais este tutorial sobre Como passar dados entre Activities Java.

Visite e siga nosso canal no YouTube para ajudar no crescimento do site.





Rodrigo Leutz
Desenvolvedor Web e Android ( Kotlin e Java )
https://uware.com.br