Modul Activty Dan Intent
Modul Activty Dan Intent
strings.xml
<resources>
<string name="app_name">IntentActivity</string>
<string name="panggil_activity">Panggil Activity</string>
<string name="kirim_nilai">Kirim Nilai</string>
<string name="kirim_objek">Kirim Objek</string>
<string name="activity_satu">Activity Satu</string>
<string name="textview">TextView</string>
</resources>
activity_main.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">
<Button
android:id="@+id/btn_panggil_activity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="@string/panggil_activity"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_kirim_nilai"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/kirim_nilai"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btn_panggil_activity" />
<Button
android:id="@+id/btn_kirim_objek"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="@string/kirim_objek"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
MOBILE PROGRAMMING
app:layout_constraintTop_toBottomOf="@+id/btn_kirim_nilai" />
</androidx.constraintlayout.widget.ConstraintLayout>
8. Buatlah activity baru dengan cara, klik kanan pada direktori java,
kemudian pilih New → Activity → Empty Activity, sehingga Anda akan
menjumpai tampilan seperti Gambar 6.
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="304dp"
android:layout_marginEnd="8dp"
android:text="@string/activity_satu"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/txt_nilai"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="192dp"
android:layout_marginEnd="8dp"
android:text="@string/textview"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
ActivityDua.java
public class ActivityDua extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dua);
txtNilai=findViewById(R.id.txt_nilai);
Intent intent =getIntent();
txtNilai.setText(intent.getStringExtra("Pesan"));
}
}
13. Tambahkan sebuah class baru dengan cara, klik kanan pada direktori
java, kemudian pilih New → Java Class, sehingga akan muncul
tampilan seperti Gambar 7.
14. Isikan nama class pada kolom Name dengan mengetikkan Mahasiswa,
kemudian pilih tombol OK sehingga Anda akan menjumpai sebuah file
dengan nama Mahasiswa.java.
15. Selanjutnya modifikasi file Mahasiswa.java tersebut dengan
mengetikkan kode berikut.
Mahasiswa.java
public class Mahasiswa implements Parcelable {
private String nim;
private String nama;
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.nim);
dest.writeString(this.nama);
}
public Mahasiswa() {
}
@Override
public Mahasiswa[] newArray(int size) {
return new Mahasiswa[size];
}
};
}
MOBILE PROGRAMMING
<TextView
android:id="@+id/txt_nim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/txt_nama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txt_nim" />
</androidx.constraintlayout.widget.ConstraintLayout>
txtNim=findViewById(R.id.txt_nim);
txtNama=findViewById(R.id.txt_nama);
txtNim.setText(mahasiswa.getNim());
txtNama.setText(mahasiswa.getNama());
}
}
intent.getParcelableExtra("Mahasiswa");
MOBILE PROGRAMMING
Jika data yang dikirimkan berupa objek, dan objek yang dikirimkan telah
mengimplementasikan Parcelable pada class-nya, maka Intent yang
digunakan untuk menerima objek tersebut harus menggunakan method
getParcelableExtra.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnPanggilActivity=findViewById(R.id.btn_panggil_activity);
btnKirimNilai=findViewById(R.id.btn_kirim_nilai);
btnKirimObjek=findViewById(R.id.btn_kirim_objek);
btnPanggilActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(MainActivity.this,ActivitySatu.class);
startActivity(intent);
}
});
btnKirimNilai.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(MainActivity.this, ActivityDua.class);
intent.putExtra("Pesan","Hallo Apa Kabar");
startActivity(intent);
}
});
btnKirimObjek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Mahasiswa mahasiswa = new Mahasiswa();
mahasiswa.setNim("180010212");
mahasiswa.setNama("Joni");
intent=new Intent(MainActivity.this,ActivityMahasiswa.class);
intent.putExtra("Mahasiswa",mahasiswa);
startActivity(intent);
}
});
}
}
Penjelasan program.
private Intent intent;
Baris program ini berfungsi untuk membuat objek Intent
intent = new Intent(MainActivity.this,ActivitySatu.class);
MOBILE PROGRAMMING