Last Updated on September 16, 2021 by
Android Intent adalah objek perpesanan yang digunakan untuk meminta komponen aplikasi lain untuk melakukan suatu tindakan. Intent memfasilitasi pengguna untuk berkomunikasi dengan komponen aplikasi melalui beberapa cara seperti memulai aktivitas, memulai layanan, mengirimkan penerima siaran dan lain sebagainya.
Pada artikel kali ini, Codekey akan membahas tentang cara membuat Kotlin Intent di Android serta tutorial membuatnya. Jika Anda tertarik dengan pembahasan tentang Kotlin Intent, simak terus artikel ini sampai akhir.
Table of Contents
Kotlin Intent di Android
Intent adalah pesan asinkron yang memungkinkan komponen aplikasi meminta fungsionalitas dari komponen Android lainnya. Misalnya, suatu aktivitas dapat memulai aktivitas eksternal untuk mengambil gambar.
Anda bisa membuat Android Intent dengan menggunakan Kotlin. Membuat Kotlin Intent lebih mudah dibanding dengan Android Intent dengan bahasa pemrograman lainnya seperti Java, karena Kotlin memang bahasa pemrograman yang dirancang untuk bahasa pemrograman Kotlin.
Intent adalah objek dari tipe android.content.Intent. Kode Anda dapat mengirimkannya ke sistem Android yang menentukan komponen yang Anda targetkan. Misalnya, melalui metode startActivity() Anda bisa menentukan bahwa maksud harus digunakan untuk memulai aktivitas.
Berikut ini adalah beberapa hal yang bisa dilakukan dengan Android Intent:
- Mulai layanan
- Meluncurkan aktivitas
- Menampilkan halaman web
- Menampilkan daftar kontak
- Menyiarkan pesan
- Menghubungi panggilan telepon, dan lain sebagainya.
Ada dua jenis Android Intent yang bisa di buat di Android, masing-masing akan dijelaskan sebagai berikut.
Kotlin Intent : Explicit Intent
Intent Kotlin ini memenuhi permintaan dalam komponen aplikasi. Dibutuhkan nama kelas yang memenuhi syarat dari kegiatan atau layanan yang ingin dimulai. Berikut adalah syntax Intent Kotlin dengan jenis explicit intent :
1. intent = Intent(applicationContext, SecondActivity::class.java) 2. startActivity(intent)
Dalam contoh ini, Codekey akan memanggil kelas aktivitas lain dari kelas aktivitas lain menggunakan maksud eksplisit. Menggunakan maksud, kami akan mengirim data dari kelas aktivitas pertama ke kelas aktivitas kedua.
Kelas aktivitas kedua mendapatkan data ini dan menampilkannya dalam pesan toast. Kemudian berikut adalah contoh penerapan Explicit Intent Kotlin yang ditambahkan ke dalam activity_main.xml
1. <?xml version="1.0" encoding="utf-8"?> 2. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3. xmlns:app="http://schemas.android.com/apk/res-auto" 4. xmlns:tools="http://schemas.android.com/tools" 5. android:layout_width="match_parent" 6. android:layout_height="match_parent" 7. tools:context="example.javatpoint.com.kotlinexplicitintent.MainActivity"> 8. 9. <TextView 10. android:id="@+id/textView" 11. android:layout_width="wrap_content" 12. android:layout_height="wrap_content" 13. android:layout_marginBottom="8dp" 14. android:layout_marginTop="8dp" 15. android:text="First Activity" 16. android:textSize="18sp" 17. app:layout_constraintBottom_toBottomOf="parent" 18. app:layout_constraintHorizontal_bias="0.501" 19. app:layout_constraintLeft_toLeftOf="parent" 20. app:layout_constraintRight_toRightOf="parent" 21. app:layout_constraintTop_toTopOf="parent" 22. app:layout_constraintVertical_bias="0.172" /> 23. 24. <Button 25. android:id="@+id/button" 26. android:layout_width="wrap_content" 27. android:layout_height="wrap_content" 28. android:layout_marginBottom="8dp" 29. android:layout_marginEnd="8dp" 30. android:layout_marginStart="8dp" 31. android:layout_marginTop="8dp" 32. android:text="Click" 33. app:layout_constraintBottom_toBottomOf="parent" 34. app:layout_constraintEnd_toEndOf="parent" 35. app:layout_constraintStart_toStartOf="parent" 36. app:layout_constraintTop_toBottomOf="@+id/textView" 37. app:layout_constraintVertical_bias="0.77" /> 38. 39. </android.support.constraint.ConstraintLayout>
Kotlin Intent dengan Kelas MainActivity.kt class
Tambahkan kode berikut di kelas MainActivity.kt. Di kelas ini, kita membuat instance kelas Android Intent dan memanggil kelas aktivitas komponen SecondActivity.kt. Metode putExtra(key, value) dari kelas Intent mengirim data ke kelas SecondActivity.kt. Metode startActivity() memulai Intent.
1. package example.javatpoint.com.kotlinexplicitintent 2. 3. import android.content.Intent 4. import android.support.v7.app.AppCompatActivity 5. import android.os.Bundle 6. import kotlinx.android.synthetic.main.activity_main.* 7. 8. class MainActivity : AppCompatActivity() { 9. val id:Int = 10 10. val language:String = "kotlin" 11. override fun onCreate(savedInstanceState: Bundle?) { 12. super.onCreate(savedInstanceState) 13. setContentView(R.layout.activity_main) 14. 15. button.setOnClickListener() { 16. intent = Intent(this, SecondActivity::class.java) 17. intent.putExtra("id_value", id) 18. intent.putExtra("language_value", language) 19. startActivity(intent) 20. } 21. } 22. }
Membuat Intent Kotlin dengan SecondActivity
Anda juga bisa membuat kelas aktivitas lain yang dinamai dengan SecondActivity. Tambahkan kode di bawah ini ke dalam file second_activity.xml:
1. <?xml version="1.0" encoding="utf-8"?> 2. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3. xmlns:app="http://schemas.android.com/apk/res-auto" 4. xmlns:tools="http://schemas.android.com/tools" 5. android:layout_width="match_parent" 6. android:layout_height="match_parent" 7. tools:context="example.javatpoint.com.kotlinexplicitintent.SecondActivity"> 8. 9. <TextView 10. android:id="@+id/textView2" 11. android:layout_width="wrap_content" 12. android:layout_height="wrap_content" 13. android:layout_marginBottom="8dp" 14. android:layout_marginEnd="8dp" 15. android:layout_marginStart="8dp" 16. android:layout_marginTop="8dp" 17. android:text="SecondActivity" 18. android:textSize="18sp" 19. app:layout_constraintBottom_toBottomOf="parent" 20. app:layout_constraintEnd_toEndOf="parent" 21. app:layout_constraintStart_toStartOf="parent" 22. app:layout_constraintTop_toTopOf="parent" 23. app:layout_constraintVertical_bias="0.107" /> 24. 25. <Button 26. android:id="@+id/button2" 27. android:layout_width="wrap_content" 28. android:layout_height="wrap_content" 29. android:layout_marginBottom="8dp" 30. android:layout_marginEnd="8dp" 31. android:layout_marginStart="8dp" 32. android:layout_marginTop="8dp" 33. android:text="back" 34. app:layout_constraintBottom_toBottomOf="parent" 35. app:layout_constraintEnd_toEndOf="parent" 36. app:layout_constraintStart_toStartOf="parent" 37. app:layout_constraintTop_toTopOf="parent" 38. app:layout_constraintVertical_bias="0.774" /> 39. </android.support.constraint.ConstraintLayout>
Kemudian Anda bisa membuatnya dalam SecondActivity.kt. Tambahkan kode berikut di kelas SecondActivity.kt. Di kelas ini, kami menerima data maksud menggunakan pembuatan instance di kelas Bundle menggunakan intent.extras dan menampilkan data dalam pesan toast. Dengan mengklik tombol, kita memanggil Intent untuk memanggil kelas MainActivity.kt.
1. package example.javatpoint.com.kotlinexplicitintent 2. 3. import android.content.Intent 4. import android.support.v7.app.AppCompatActivity 5. import android.os.Bundle 6. import android.widget.Toast 7. import kotlinx.android.synthetic.main.activity_second.* 8. 9. class SecondActivity : AppCompatActivity() { 10. 11. override fun onCreate(savedInstanceState: Bundle?) { 12. super.onCreate(savedInstanceState) 13. setContentView(R.layout.activity_second) 14. 15. val bundle:Bundle = intent.extras 16. val id = bundle.get("id_value") 17. val language = bundle.get("language_value") 18. Toast.makeText(applicationContext,id.toString()+" "+language,Toast.LENGTH_LONG).show() 19. button2.setOnClickListener(){ 20. intent = Intent(this,MainActivity::class.java) 21. startActivity(intent) 22. } 23. } 24. }
Intent Kotlin : Implicit Intent
Android Implicit Intent memanggil komponen aplikasi lain untuk menangani permintaan. Itu tidak menentukan nama komponen secara khusus. Intent ini tidak menentukan nama komponen. Mereka memanggil komponen aplikasi lain untuk menanganinya. Berikut ini adalah contoh Implicit Intent Kotlin:
1. intent = Intent(Intent.ACTION_VIEW) 2. intent.setData(Uri.parse("https://www.javatpoint.com/")) 3. startActivity(intent) 4. 5. intent= Intent(Intent.ACTION_VIEW, Uri.parse("https://www.javatpoint.com/")) 6. startActivity(intent)
Implicit Intent Kotlin dengan Invoking URL
Pada contoh di bawah ini kita akan invoke URL menggunakan implicit intent dengan klik pada tombolnya. Tambahkan kode di bawah ini di dalam activity_main.xml file.
- <?xmlversion=”1.0″ encoding=”utf-8″?>
- <android.support.constraint.ConstraintLayoutxmlns: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=”example.javatpoint.com.kotlinimplicitintent.MainActivity”>
- <TextView
- android:id=”@+id/textView”
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_marginBottom=”8dp”
- android:layout_marginTop=”8dp”
- android:text=”Your First Activity”
- android:textSize=”18sp”
- app:layout_constraintBottom_toBottomOf=”parent”
- app:layout_constraintHorizontal_bias=”0.501″
- app:layout_constraintLeft_toLeftOf=”parent”
- app:layout_constraintRight_toRightOf=”parent”
- app:layout_constraintTop_toTopOf=”parent”
- app:layout_constraintVertical_bias=”0.172″/>
- <Button
- android:id=”@+id/button”
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_marginBottom=”8dp”
- android:layout_marginEnd=”8dp”
- android:layout_marginStart=”8dp”
- android:layout_marginTop=”8dp”
- android:text=”click to invoke intent”
- app:layout_constraintBottom_toBottomOf=”parent”
- app:layout_constraintEnd_toEndOf=”parent”
- app:layout_constraintStart_toStartOf=”parent”
- app:layout_constraintTop_toBottomOf=”@+id/textView”
- app:layout_constraintVertical_bias=”0.77″/>
- </android.support.constraint.ConstraintLayout>
Membuat Kotlin Intent ke dalam MainActivity
Tambahkan kode berikut di kelas MainActivity.kt. Di kelas ini, Codekey memanggil URL saat mengklik tombol menggunakan Intent Implicit. Untuk memanggil maksud ini, kami meneruskan tipe tindakan dan URL. Metode startActivity() digunakan untuk memulai Intent.
1. package example.javatpoint.com.kotlinimplicitintent 2. 3. import android.content.Intent 4. import android.net.Uri 5. import android.support.v7.app.AppCompatActivity 6. import android.os.Bundle 7. import kotlinx.android.synthetic.main.activity_main.* 8. 9. class MainActivity : AppCompatActivity() { 10. 11. override fun onCreate(savedInstanceState: Bundle?) { 12. super.onCreate(savedInstanceState) 13. setContentView(R.layout.activity_main) 14. 15. button.setOnClickListener(){ 16. intent = Intent(Intent.ACTION_VIEW) 17. intent.setData(Uri.parse("https://www.javatpoint.com/")) 18. startActivity(intent) 19. /* intent= Intent(Intent.ACTION_VIEW, Uri.parse("https://www.javatpoint.com/")) 20. startActivity(intent)*/ 21. } 22. } 23. }
Demikianlah penjelasan tentang Android Intent Kotlin yang bisa Anda buat dengan mudah untuk aplikasi Android Anda. Jika Anda tertarik untuk tahu lebih banyak tentang bahasa pemrograman Kotlin maupun bahasa pemrograman lainnya seperti java dan Python, pastikan Anda mengunjungi https://codekey.id/ dan belajar bahasa pemrograman secara gratis kapan saja dan di mana saja.
Codekey adalah media untuk Anda belajar pemrograman yang bisa Anda coba. Codekey memiliki berbagai materi, pembahasan, tutorial, tips, dan trik untuk belajar bahasa pemrograman.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.