Hay varias formas de enviar varios datos de una actividad a otra en Android, pero en este artículo lo haremos mediante Bundle . El paquete en Android se usa para pasar datos de una actividad a otra, toma datos en pares de clave y valor. Para comprender este concepto, crearemos un proyecto simple en Android Studio usando Kotlin.
Implementación paso a paso
Paso 1 : Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Crear un nuevo proyecto en Android Studio en kotlin.
Paso 2: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml.
XML
<?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"> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/ic_icons8_geeksforgeeks" app:layout_constraintBottom_toTopOf="@+id/textView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GeeksForGeeks" android:textColor="#2FA634" android:textSize="23sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.498" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.247" /> <EditText android:id="@+id/etId" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter name" android:layout_margin="10dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" app:layout_constraintVertical_bias="0.238" tools:layout_editor_absoluteX="0dp" /> <EditText android:id="@+id/etName" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:hint="Enter age" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/etId" app:layout_constraintVertical_bias="0.037" tools:layout_editor_absoluteX="10dp" /> <EditText android:id="@+id/etRoll" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:hint="Enter gender" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/etName" app:layout_constraintVertical_bias="0.047" tools:layout_editor_absoluteX="10dp" /> <Button android:id="@+id/btnSend" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="send data" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/etRoll" /> </androidx.constraintlayout.widget.ConstraintLayout>
Nota : También hemos incluido imágenes vectoriales en la carpeta dibujable, si desea utilizar ImageView, también debe agregar una imagen vectorial.
Paso 3: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt. Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
package com.ayush.serialize_deserialize import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.EditText class MainActivity : AppCompatActivity() { lateinit var etId: EditText lateinit var etName: EditText lateinit var etRoll: EditText lateinit var btnSend: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) etId = findViewById(R.id.etId) etName = findViewById(R.id.etName) etRoll = findViewById(R.id.etRoll) btnSend = findViewById(R.id.btnSend) btnSend.setOnClickListener { val bundle = Bundle() bundle.putString("id", etId.text.toString()) bundle.putString("name", etName.text.toString()) bundle.putString("roll", etRoll.text.toString()) val intent = Intent(this, SecondActivity::class.java) intent.putExtras(bundle) startActivity(intent) } } }
Paso 4: trabajar con el archivo activity_second.xml
Navegue a la aplicación > res > diseño > actividad_segundo.xm l y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml.
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:gravity="center" android:orientation="vertical" android:layout_height="match_parent" tools:context=".SecondActivity"> <TextView android:id="@+id/tvId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ID" android:textStyle="bold" android:textColor="#7CB342" android:textSize="22sp"/> <TextView android:id="@+id/tvName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="NAME" android:textStyle="bold" android:textColor="#7CB342" android:layout_margin="4dp" android:textSize="22sp"/> <TextView android:id="@+id/tvRoll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ROLL" android:textStyle="bold" android:textColor="#7CB342" android:textSize="22sp"/> </LinearLayout>
Paso 5: Trabajar con el archivo SecondActivity.kt
Vaya al archivo SecondActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt. Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
package com.ayush.serialize_deserialize import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.TextView class SecondActivity : AppCompatActivity() { lateinit var tvId : TextView lateinit var tvName : TextView lateinit var tvRoll : TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_second) tvId = findViewById(R.id.tvId) tvName = findViewById(R.id.tvName) tvRoll= findViewById(R.id.tvRoll) val bundle = intent.extras if (bundle != null){ tvId.text = "id = ${bundle.getString("id")}" tvName.text = "Name = ${bundle.getString("name")}" tvRoll.text = "RollNo = ${bundle.getString("roll")}" } } }
Entonces nuestra aplicación está lista.
Producción:
Publicación traducida automáticamente
Artículo escrito por ayushpandey3july y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA