Intent & Navigasi
Navigasikan antar-Activity dengan Intent eksplisit, teruskan data menggunakan putExtra/getExtra, dan luncurkan aplikasi eksternal dengan Intent implisit.
Intent & Navigasi adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 5 dari 7. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 7 pelajaran total.
Apa Itu Intent?
Intent adalah pesan yang memberi tahu Android untuk melakukan sesuatu:
- Intent Eksplisit — menjalankan Aktivitas tertentu dalam aplikasi Anda
- Intent Implisit — meminta Android menemukan aplikasi yang dapat menangani tindakan tersebut (membuka URL, menelepon nomor, membagikan teks)
Intent adalah cara utama bagi Aktivitas untuk berkomunikasi satu sama lain.
Intent Eksplisit: Membuka Layar
Jalankan Aktivitas lain dalam aplikasi Anda:
// In your button click listener:
binding.btnGoToDetail.setOnClickListener {
val intent = Intent(this, DetailActivity::class.java)
startActivity(intent)
}
// To also close the current screen after navigating:
binding.btnLogin.setOnClickListener {
val intent = Intent(this, HomeActivity::class.java)
startActivity(intent)
finish() // removes LoginActivity from back stack
}Meneruskan Data dengan Ekstra
Gunakan ekstra untuk meneruskan data ke Aktivitas berikutnya:
intent.putExtra("key", value)— melampirkan dataintent.getStringExtra("key")— mengambil Stringintent.getIntExtra("key", defaultValue)— mengambil Int
Gunakan konstanta untuk kunci agar terhindar dari kesalahan ketik.
Meneruskan & Menerima Ekstra
Kirim data dari satu Aktivitas dan baca data tersebut di Aktivitas berikutnya:
// Sending Activity:
val intent = Intent(this, DetailActivity::class.java)
intent.putExtra("PRODUCT_ID", 42)
intent.putExtra("PRODUCT_NAME", "Laptop")
startActivity(intent)
// DetailActivity — receiving:
class DetailActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detail)
val id = intent.getIntExtra("PRODUCT_ID", -1)
val name = intent.getStringExtra("PRODUCT_NAME") ?: ""
// Use id and name to load data
}
}Intent Implisit
Intent implisit memungkinkan aplikasi Anda menggunakan fitur dari aplikasi lain yang terpasang tanpa mengetahui aplikasi mana yang menanganinya:
- Membuka URL web di peramban
- Menelepon nomor telepon
- Mengirim email
- Membagikan teks ke aplikasi apa pun
Android menampilkan pemilih jika beberapa aplikasi dapat menangani intent tersebut.
Intent Implisit Umum
Jalankan tindakan sistem dengan Intent implisit:
import android.content.Intent
import android.net.Uri
// Open a web page
val webIntent = Intent(Intent.ACTION_VIEW,
Uri.parse("https://developer.android.com"))
startActivity(webIntent)
// Dial a phone number
val dialIntent = Intent(Intent.ACTION_DIAL,
Uri.parse("tel:+15551234567"))
startActivity(dialIntent)
// Share text
val shareIntent = Intent(Intent.ACTION_SEND).apply {
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, "Check out this app!")
}
startActivity(Intent.createChooser(shareIntent, "Share via"))Mendapatkan Hasil
Saat Anda memerlukan hasil dari layar lain (misalnya pemilih gambar atau formulir), gunakan API Hasil Aktivitas:
- Daftarkan peluncur dengan
registerForActivityResult - Jalankan saat diperlukan
- Tangani hasilnya dalam callback
Ini menggantikan pola lama startActivityForResult / onActivityResult.
Contoh API Hasil
Minta foto dari galeri dan dapatkan hasilnya:
import androidx.activity.result.contract.ActivityResultContracts
class MainActivity : AppCompatActivity() {
private val pickImage = registerForActivityResult(
ActivityResultContracts.GetContent()
) { uri ->
// 'uri' is the selected image URI, or null if cancelled
if (uri != null) {
binding.ivPhoto.setImageURI(uri)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
binding.btnPickPhoto.setOnClickListener {
pickImage.launch("image/*")
}
}
}Tautan Dalam
Tautan dalam adalah URL yang langsung membuka layar tertentu dalam aplikasi Anda — berguna untuk notifikasi push dan tautan pemasaran.
Nyatakan tautan dalam di AndroidManifest.xml menggunakan intent-filter dengan tag data yang menentukan skema dan host URL.
Pemeriksaan Cepat
Jenis Intent apa yang akan Anda gunakan untuk membuka situs web di peramban pengguna?
Ringkasan: Intent & Navigasi
Sekarang Anda dapat berpindah antar layar dan menjalankan fitur sistem:
- Intent Eksplisit — menjalankan Aktivitas tertentu dalam aplikasi Anda
putExtra/getExtra— meneruskan data antar Aktivitas- Intent Implisit — membuka URL, menelepon nomor, dan membagikan konten
- API Hasil Aktivitas — menerima data dari Aktivitas lain
Berikutnya: menampilkan daftar dinamis dengan RecyclerView.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Intent & Navigasi” gratis?
Ya — teks lengkap “Intent & Navigasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 7 pelajaran total.
Apa yang akan aku pelajari di “Intent & Navigasi”?
Navigasikan antar-Activity dengan Intent eksplisit, teruskan data menggunakan putExtra/getExtra, dan luncurkan aplikasi eksternal dengan Intent implisit. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 5 dari 7.
Berapa lama pelajaran “Intent & Navigasi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Struktur Proyek & Manifest
- Activity & Siklus Hidup
- Tata Letak & Tampilan
- Menangani Masukan Pengguna
- Intent & Navigasi
- Fragment
- Izin & Permintaan Saat Runtime