0Pricing
Android Academy · Pelajaran

Activity & Siklus Hidup

Pelajari apa itu Activity, pahami callback siklus hidup Activity (onCreate, onStart, onResume, onPause, onStop, onDestroy), dan gunakan ViewBinding.

Activity & Siklus Hidup adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 Activity?

Activity adalah satu layar dalam aplikasi Android Anda.

  • Setiap layar (login, beranda, pengaturan) adalah sebuah Activity
  • Activity mengelola tata letak (XML) dan interaksi pengguna
  • Dideklarasikan dalam AndroidManifest.xml

Anggaplah Activity sebagai padanan Android untuk halaman web — setiap halaman adalah sebuah Activity.

Siklus Hidup Activity

Sebuah Activity melewati serangkaian keadaan siklus hidup saat pengguna menjelajahi aplikasi:

  • Dibuat → Dimulai → Dilanjutkan (terlihat & aktif)
  • Dijeda (sebagian tersembunyi)
  • Dihentikan (sepenuhnya tersembunyi)
  • Dihancurkan (Activity sudah tidak ada)

Anda mengganti metode siklus hidup untuk merespons transisi ini.

Callback Siklus Hidup

Enam callback siklus hidup utama:

  • onCreate() — Activity sedang dibuat. Siapkan tata letak Anda di sini.
  • onStart() — Activity menjadi terlihat.
  • onResume() — Activity berada di latar depan, pengguna dapat berinteraksi.
  • onPause() — Pengguna sedang meninggalkan layar. Simpan data sementara.
  • onStop() — Activity tidak lagi terlihat.
  • onDestroy() — Activity sedang dihancurkan.

Contoh MainActivity

Activity minimal dengan pencatatan siklus hidup:

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

    private val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Log.d(TAG, "onCreate")
    }

    override fun onResume() {
        super.onResume()
        Log.d(TAG, "onResume — user is here")
    }

    override fun onPause() {
        super.onPause()
        Log.d(TAG, "onPause — saving state")
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.d(TAG, "onDestroy")
    }
}

Mengapa Siklus Hidup Penting

Kesalahan umum akibat mengabaikan siklus hidup:

  • Memutar video di onResume tetapi lupa menjedanya di onPause — menguras baterai
  • Mendaftarkan pemantau sensor di onCreate tetapi tidak membatalkan pendaftarannya di onDestroy — kebocoran memori
  • Tidak menyimpan data formulir di onPause — pengguna kehilangan kemajuan saat menerima panggilan telepon

Menyimpan Keadaan: onSaveInstanceState

Saat pengguna memutar ponsel, Activity akan dihancurkan dan dibuat ulang. Keadaan antarmuka pengguna Anda akan hilang.

Simpan keadaan sementara di onSaveInstanceState(bundle) dan pulihkan di onCreate(savedInstanceState).

Menyimpan & Memulihkan Keadaan

Pertahankan data saat terjadi perubahan konfigurasi:

class CounterActivity : AppCompatActivity() {

    private var count = 0

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_counter)

        // Restore saved state after rotation
        count = savedInstanceState?.getInt("count") ?: 0
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putInt("count", count)
    }
}

Tumpukan Kembali

Android mengelola tumpukan kembali yang berisi Activity:

  • Meluncurkan Activity baru akan memasukkannya ke tumpukan
  • Menekan Kembali mengeluarkan Activity teratas dari tumpukan dan menghancurkannya
  • Activity sebelumnya dilanjutkan secara otomatis

Itulah sebabnya Anda tidak seharusnya memanggil finish() secara manual, kecuali memang ingin menghapus layar saat ini dari tumpukan kembali.

Perubahan Konfigurasi

Setiap perubahan konfigurasi (rotasi, perubahan bahasa, keyboard terpasang) secara default akan membuat ulang Activity.

Solusi modernnya adalah menggunakan ViewModel — ViewModel bertahan saat terjadi perubahan konfigurasi dan menyimpan data Anda dengan aman. Anda akan mempelajari ViewModel dalam modul Arsitektur.

Pemeriksaan Singkat

Dalam metode siklus hidup mana Anda harus menyiapkan tata letak (memanggil setContentView)?

Ringkasan: Activity & Siklus Hidup

Sekarang Anda memahami Activity Android:

  • Activity = satu layar dalam aplikasi Anda
  • Siklus hidup: onCreate → onStart → onResume → onPause → onStop → onDestroy
  • Simpan keadaan sementara di onSaveInstanceState
  • Rotasi menghancurkan dan membuat ulang Activity
  • Android mengelola tumpukan kembali secara otomatis

Berikutnya: merancang layar dengan tata letak dan tampilan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Activity & Siklus Hidup” gratis?

Ya — teks lengkap “Activity & Siklus Hidup” 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 “Activity & Siklus Hidup”?

Pelajari apa itu Activity, pahami callback siklus hidup Activity (onCreate, onStart, onResume, onPause, onStop, onDestroy), dan gunakan ViewBinding. 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 2 dari 7.

Berapa lama pelajaran “Activity & Siklus Hidup” 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