Tutorial Android Studio : Cara Mengirim Data Antar Activity

Tutorial Android Studio : Cara Kirim Data Antar Activity—Pada tutorial sebelumnya,kita telah belajar tentang Mengenal Activity Dan Contoh Penggunaanya.Jadi Activity merupakan salah satu komponen aplikasi Android yang mewakili sebuah User Interface(UI) atau tampilan untuk pengguna.Dalam sebuah aplikasi ,bisa terdapat satu atau lebih activity yang saling berhubungan antara satu dengan yg lain.Oleh karena itu sangat penting untuk kita pelajari bagaimana cara mengirim data/value dari sebuah activity ke activity yang lain.

aaa

Cara Mengirim Data Antar Activity Menggunakan Intent

Untuk mengirim data antar activity,kita bisa menggunakan 2 cara,yaitu menggunakan Intent atau menggunakan Bundle.Namun perlu anda ketahui bahwa tidak semua tipe data bisa kita lewatkan melalui activity seperti sebuah file.Data yang bisa kita kirim hanya berbentuk Angka (Integer,float,double),String,ArrayList,Boolean,char,array dan yang lainnya.Kali ini,kita akan mencoba melakukan parse antar activity dengan menggunakan Intent dan Bundle.

1.Buat 2 buah activity dengan layout seperti di bawah

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="com.example.root.belajarparse.MainActivity">

<Button
android:id="@+id/btnsubmitintent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit Via Intent"
android:layout_above="@+id/btnsubmitbundle"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Activity 1"
android:layout_marginTop="28dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

<EditText
android:id="@+id/edtData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:hint="Masukkan isi pesan"
android:layout_marginBottom="23dp"
android:layout_above="@+id/btnsubmitintent"
android:layout_centerHorizontal="true" />

<Button
android:id="@+id/btnsubmitbundle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit Via Bundle"
android:layout_centerVertical="true"
android:layout_alignStart="@+id/btnsubmitintent" />

</RelativeLayout>

Output:

image

activity_main2.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="com.example.root.belajarparse.MainActivity">

<TextView
android:id="@+id/tvpesan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---------"
android:layout_marginTop="30dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="42dp"
android:text="Activity 2"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="33dp"
android:text="isi pesan :"
android:layout_below="@+id/textView3"
android:layout_alignEnd="@+id/textView3" />

</RelativeLayout>

Output:

image

2.Edit setiap class activitynya seperti di bawah

Pada class MainActivity.java,kita menginisiasikan terlebih dahulu widget yang akan di gunakan yang dalam hal ini adalah EditText dan Button,kemudian menginisiasikan metode pengiriman data.

MainActivity.java

package com.example.root.belajarparse;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Button;
import android.content.Intent;
import android.view.View;
import android.support.annotation.Nullable;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final EditText data=(EditText) findViewById(R.id.edtData);
Button submitbundle =(Button) findViewById(R.id.btnsubmitbundle);
Button submitintent =(Button) findViewById(R.id.btnsubmitintent);

submitbundle.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){

Intent intent =new Intent(MainActivity.this ,Main2Activity.class);
intent.putExtra("data",data.getText().toString());
startActivity(intent);


}

});
submitintent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle=new Bundle();
bundle.putString("data",data.getText().toString());
Intent intent2 = new Intent(MainActivity.this,Main2Activity.class);
intent2.putExtras(bundle);
startActivity(intent2);
}
});


}
}

Main2Activity.java

package com.example.root.belajarparse;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.TextView;
public class Main2Activity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);

TextView data =(TextView) findViewById(R.id.tvpesan);

if(getIntent().getExtras()!=null){
Bundle bundle = getIntent().getExtras();
data.setText(getIntent().getStringExtra("data"));
}else {
data.setText(getIntent().getStringExtra("data"));
}


}
}

Jika diperhatikan metode pengiriman via Bundle dan Intent,sekilas hampir sama,yaitu menggunakan objek Intent,hanya saja yang membedakan adalah pada Bundle,data yang dikirim akan di bungkus terelebih dahulu.

3.Kemudian jalankan dan lihat hasilnya.

                            Screenshot_20170430-170115   Screenshot_20170430-170122 

Demikian tutorial kali ini tentang  Tutorial Android Studio : Cara Mengirim Data Antar Activity,semoga bermanfaat,terima kasih.

1 comment:

  1. gan saya punya kasus

    edittext 1buah
    button 1 buah

    edittext datanya berubah ubah

    setiap data edit text berubah misalnya jadi angka 1 ,dia akan di arahin ke activity 1

    kalo data edit txt 2 maka akan di arahin ke activity 2

    gimana ya codingan android studionya dibutton

    terimakasih

    ReplyDelete