0Pricing
Android Academy · Pelajaran

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 data
  • intent.getStringExtra("key") — mengambil String
  • intent.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

  1. Struktur Proyek & Manifest
  2. Activity & Siklus Hidup
  3. Tata Letak & Tampilan
  4. Menangani Masukan Pengguna
  5. Intent & Navigasi
  6. Fragment
  7. Izin & Permintaan Saat Runtime
← Kembali ke Android Academy