Dalam mengembangkan aplikasi android pasti membutuhkan passing input data, dimana data dapat dikirimkan/passing dari satu activity ke activity lain, atau pada activity yang sama. Ada beberapa cara passing input data, diantaranya yaitu :
Passing Input Data Menggunakan Toast
Toast adalah salah satu Widget yang digunakan untuk menampilkan pesan berupa Text, yang terlintas setelah pengguna melakukan aksi tertentu. Toast memiliki fungsi untuk memberitahukan Informasi pada user, mengenai konten atau aksi yang dieksekusinya, bisa berupa konfirmasi, pesan error atau pemberitahuan lainnya. Tetapi toast dapat juga digunakan untuk passing input data yang menerima masukan dari edittext, lalu input data user ditampilkan pada toast.
Sebuah aplikasi membutuhkan input data dari user. Tipe input data user ini ada beberapa jenis, antara lain yaitu :
- Textpersonname (input data nama user)
- Textpassword (input data password)
- Textemail(input data email) dan sebagainya
Input data ini dapat menggunakan Edittext, lalu hasil input data user tersebut dapat ditampilkan melalui message dialog (toast). Berikut ini contoh pembuatan passing input data tersebut.
- Buat project baru, beri nama, pilih empty activity.
- Buka project Android yang sudah dibuat, lalu buat activity baru dengan cara klik menu File->New Activity->Empty Activity seperti berikut ini :

- Beri nama activity misal dengan nama PassingData, klik finish, maka akan terbentuk file activity baru.
- Buka activity_main.xml, lalu buka tab design dan tempatkan beberapa widget/komponen menggunakan layout linear atau bisa juga dari tab code dengan membuat coding seperti berikut ini :
<?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:layout_height="match_parent" android:layout_margin="18dp" android:gravity="center" android:orientation="vertical" tools:context=".MainActivity"> <EditText android:id="@+id/nama" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Input Nama"/> <Button android:id="@+id/confirm" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Kirim" /> </LinearLayout> - Buka file MainActivity.java, lalu tambahkan coding berikut ini :
package com.example.passingdata; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { EditText Input_Nama; Button Kirim; String Nama; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Input_Nama = findViewById(R.id.nama); Kirim = findViewById(R.id.confirm); Kirim.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Mendapatkan Input dan Memasukannya pada Variable Nama Nama = Input_Nama.getText().toString(); // Mengeluarkan Output yang didapat dari User Toast.makeText(getApplicationContext(), "Perkenalkan Nama Saya "+Nama, Toast.LENGTH_SHORT).show(); } }); } } - Jalankan program, input nama, klik tombol kirim sehingga terlihat output pada emulator seperti berikut ini :


Passing Input Data menggunakan intent dan bundle
Ada 2 cara untuk mengirimkan data/nilai antar activity didalam aplikasi Android, yaitu dengan menggunakan Intent dan Bundle, keduanya mempunyai fungsi yang sama, yaitu untuk passing data, tetapi dengan menggunakan Bundle akan terlihat lebih rapi, karena dikemas terlebih dahulu di dalam bundle sebelum dikirimkan. Data yang dikirimkan/dipassing tersebut bisa berupa String, int, float, double, byte, char, dan sebagainya.
Tidak semua tipe data support untuk dipassing, ada beberapa data yang tidak bisa dipassing menggunakan Intent atau Bundle seperti data yang berukuran besar, yaitu gambar (image bitmap) atau file, tidak bisa dipassing antar Activity.
Berikut contoh passing data dengan Intent :
- Buat activity baru pada project yang sudah kita buat, pilih empty activity, beri nama misal dengan nama PassingIntent
- Buka activity_passing_intent.xml, lalu buka tab design dan tempatkan beberapa widget/komponen seperti berikut ini menggunakan layout constraint atau bisa dengan menggunakan kode seperti berikut :
<?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=".PassingIntent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="passing Data ke Activity lain!" android:textSize="24sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.462" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.181" /> <EditText android:id="@+id/input" android:layout_width="348dp" android:layout_height="46dp" android:hint="inputkan data nama anda!" android:inputType="textPersonName" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.492" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.324" /> <Button android:id="@+id/button1" android:layout_width="139dp" android:layout_height="75dp" android:text="Passing Intent" android:textSize="18sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.064" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.521" /> <Button android:id="@+id/button2" android:layout_width="150dp" android:layout_height="69dp" android:text="Passing Bundle" android:textSize="18sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.868" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.521" /> </android.support.constraint.ConstraintLayout> - Selanjutnya buat activity kedua, klik File->New Activity->Empy Activity dan beri nama, misal dengan nama PassingIntent2 .
- Buka activity_passing_intent2.xml, lalu buka tab design dan tempatkan beberapa widget/komponen seperti berikut ini menggunakan layout constraint atau bisa dengan menggunakan kode seperti berikut :
<?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=".PassingIntent2"> <TextView android:id="@+id/textdata" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Data yang diterima:" android:textSize="24sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.585" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.463" /> </android.support.constraint.ConstraintLayout> - Buka PassingIntent.java, lalu tambahkan coding berikut ini :
package com.example.passingdata; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class PassingIntent extends AppCompatActivity { //deklarasi variabel public EditText datainput; public Button kirimintent,kirimbundle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_passing_intent); datainput=findViewById(R.id.input); kirimintent=findViewById(R.id.button1); kirimbundle=findViewById(R.id.button2); kirimintent.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent sendData1 = new Intent(PassingIntent.this, PassingIntent2.class); sendData1.putExtra("Data1", datainput.getText().toString()); startActivity(sendData1); } }); kirimbundle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle setData = new Bundle(); Intent sendData2 = new Intent(PassingIntent.this, PassingIntent2.class); setData.putString("Data1", datainput.getText().toString()); sendData2.putExtras(setData); startActivity(sendData2); } }); } } - Buka PassingIntent2.java dan buat coding berikut ini :
package com.example.passingdata; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class PassingIntent2 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_passing_intent2); TextView getdata=findViewById(R.id.textdata); getdata.setText("Data yang diterima: " + "\n" + getIntent().getStringExtra("Data1")); } } - Jalankan program, input nama, klik tombol kirim sehingga terlihat output pada emulator seperti berikut ini :


Demikian tutorial mengenai Passing Data pada Android, semoga bermanfaat.

Be the first to comment