Como passar dados entre Activities 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.

Para fazer perguntas entre em nosso Forum.

Ainda assim se estiver com alguma dúvida entre em nosso canal no telegram clicando no link abaixo.



Então curta nossos vídeos e siga nosso canal no




Rodrigo Leutz
Desenvolvedor Web e Android ( Kotlin e Java )