MitraIde

News

Cari Di Situs Ini

Senin, 18 Oktober 2021

Belajar Intent kotlin android studio, dengan paramater atau tanpa parameter

Cara membuat intent pada kotlin android stuido.  langkah mudah membuat intent pada kotlin di android studoi. belajar intent kotlin sederhana di android studio.

Hai teman-teman, selamat malam... berjumpa lagi dengan kak mitra, seperti biasa kali ini kak mitra akan share pengalaman kakak waktu belajar andorid native, tepatnya menggunakan android kotlin. kali ini kita akan belajar sedikit tentng intent. apa itu intent?

Bisa dikatakan Intent adalah fitur atau jembatan yang menghubukan interaksi activity satu ke interaksi yang lain. intent juga dapat digunakan untuk mengirimkan data atau parameter ke activity lain. juga bisa digunakan untuk mengirim data atau parameter ke aplikasi lain atau activity lain


Oke kita langsung saja yaa.. artikel ini akan dibagi menjadi dua bagian, 

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 



Yees, kita sudah berpindah ke activityTwo.. horee berhasil..
sourcode lengkap ada link ini yaah 

github.com/mitraide/intent pada branch main 

-----------------------------------------------------------------------------------------------


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