Bagian 1 : Membahas intent (berpidah dari satu activity ke activity yang lain)
Bagian 2 : Membahas intent (berpindah dari satu activity ke activity lain dengan parameter)
oke ... kita bahas dulu bagian yang bagian 1 yaah teman-teman.. maksudnya di sini kita akan berpindah dari satu activity ke activity lain tanpa harus atau tanpa membawa parameter/data. jadi tujuannya hanya berpindah activity,. apabila teman-teman berangkat dari web develper di html kita mengenal tag dom yang namanya <href , naah intent ini mirip mirip dengan href ini, fungsinya bisa berpindah ke halaman satu ke halaman yang lain, bisa menambahkan parameter ataupun tanpa parameter. okee cukup sederhana bukan penjelasan dari kak mitra
1. Buka android studio, dan buat projek baru , kak mitra asumsikan teman-teman sudah melakukan installasi android studio beserta paket-paket lengkapnya. minimal sudah bisa menjalankan program sederhana seperti hello world. apabila teman teman belum melakukan installasi android studio. ada baiknya teman teman mambaca artikel lama kak mitra tentang cara cara melakukan installasi android studio. tunggu hingga proses graddle selesai ya teman teman. setelah proses graddle selesai teman teman dapat melanjutkan ke nomor 2.
2. Buka file MainActivity, sebenarnya MainActivity ini bisa dikatan activity pada android stduio. nah karena kita membutuhkan activity lain lagi maka kita buat activity baru untuk nama teman-teman bisa bebas. di sini kak mitra akan menggunakan menggunakan nama ActivityTwo
Untuk layout XML kita buat yang paling sederhana saja
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"
android:layout_margin="32dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="mainActivity"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Button"
app:layout_constraintTop_toBottomOf="@+id/textView"
tools:layout_editor_absoluteX="149dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
activity_two.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"
android:layout_margin="32dp"
tools:context=".ActivityTwo">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="ActivityTwo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Button"
app:layout_constraintTop_toBottomOf="@+id/textView2"
tools:layout_editor_absoluteX="138dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
3. Untuk trigger pemicu pemindahannya kak mitra akan menggunakan button, yaah agar lebih mudah dilihat proses perpindahan intennya. pasti teman-teman inget artikel kak mitra tentang setOnClickListener pada button kan??, nah kita akan menggunakan itu yaa..
4. Perhatikan file kotlin berikut ini
pada MainActivity.kt :
val btn_click_me = findViewById(R.id.button) as Button
btn_click_me.setOnClickListener {
Log.d("logTag","Tahap 1")
val intent = Intent(this@MainActivity, ActivityTwo::class.java)
startActivity(intent)
Log.d("logTag","Tahap 2")
}
pada ActivityTwo.kt
val btn_click_me = findViewById(R.id.button) as Button
btn_click_me.setOnClickListener {
Log.d("logTag","Activity 2")
val intent = Intent(this@ActivityTwo, MainActivity::class.java)
startActivity(intent)
}
Oke selesai, kita run program maka akan seperti gambar berikut ini
Dari gambar di atas kita masih berada pada mainActivity, coba kita klik tombol button, maka seharusnya kita sudah berpindah activity menjadi
-----------------------------------------------------------------------------------------------
Oke kita akan menginjak pada bagian ke dua, yakni intent namun terdapat parameternya.
apaan itu parameter??, jadi intinya begini ketika proses berpindah activity intent yang lama akan membawa informasi tambahan yang mungkin bisa digunakan pada activity yang baru..
eeem, mungkin sulit dipahami dengan kata-kata.. jadi kita langsung praktek saja, oke cuss yaa masih di file pada bagian 1, untuk lebih aman kita buat branch baru saja yaa.. hohoh
setelah buat branch baru, perhatikan code berikut ini
pada mainActivity.kt :
val btn_click_me = findViewById(R.id.button) as Button
btn_click_me.setOnClickListener {
Log.d("logTag","Tahap 1")
var intent = Intent(this@MainActivity, ActivityTwo::class.java)
intent.putExtra("Username","John Doe")
startActivity(intent)
Log.d("logTag","Tahap 2")
}
pada ActivityTwo.kt
class ActivityTwo : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_two)
Log.d("logTag","Start Activity 2")
val profileName=intent.getStringExtra("Username")
Log.d("logTag",profileName.toString())
val btn_click_me = findViewById(R.id.button) as Button
btn_click_me.setOnClickListener {
Log.d("logTag","Activity 2")
val intent = Intent(this@ActivityTwo, MainActivity::class.java)
startActivity(intent)
}
}
}
ok... kita run hasilnya adalah seperti berikut :
Ada parameter atau data "John Doe".. wkwkwk oke oke selamt teman teman.. untuk code lengkap ada di link github ini yaah
github.com/mitraide/intent pada branch withParam
cukup dulu ya teman-teman, berikut adalah artikel kakak tentang intent, natikan kakak lanjut di artikel selanjutnya ya