1. π Pengertian Activity
7
π Penjelasan
Activity adalah komponen utama dalam aplikasi Android yang merepresentasikan satu layar (screen) yang dapat berinteraksi dengan pengguna.
π§ Narasi
Dalam sebuah aplikasi mobile, setiap tampilan yang dilihat pengguna biasanya direpresentasikan oleh satu Activity. Misalnya:
- Halaman login
- Halaman dashboard
- Halaman profil
Setiap halaman tersebut adalah Activity yang berbeda namun saling terhubung.
2. π§± Peran Activity dalam Aplikasi
7
π Fungsi Activity
- Menampilkan UI ke pengguna
- Menerima input pengguna
- Mengelola interaksi pengguna
- Mengontrol alur navigasi aplikasi
π§ Narasi
Activity bertindak sebagai penghubung antara user interface dan logika aplikasi. Semua interaksi pengguna akan diproses melalui Activity.
3. βοΈ Struktur Dasar Activity (Kotlin)
7
π Contoh Kode
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
π Penjelasan
AppCompatActivityβ kelas dasar ActivityonCreate()β dipanggil saat Activity dibuatsetContentView()β menentukan layout
π§ Narasi
Activity dimulai dari method onCreate() yang berfungsi untuk menginisialisasi tampilan dan data awal.
4. π Lifecycle Activity
7
π Tahapan Lifecycle
| Method | Fungsi |
|---|---|
| onCreate() | Inisialisasi awal |
| onStart() | Activity mulai terlihat |
| onResume() | Activity aktif (interaksi) |
| onPause() | Activity sebagian tertutup |
| onStop() | Activity tidak terlihat |
| onDestroy() | Activity dihancurkan |
π§ Narasi
Lifecycle Activity menggambarkan siklus hidup Activity dari dibuat hingga dihancurkan. Pemahaman lifecycle sangat penting untuk mengelola resource dan menjaga performa aplikasi.
5. π Penjelasan Detail Lifecycle
πΉ onCreate()
- Dipanggil saat Activity pertama kali dibuat
- Digunakan untuk inisialisasi UI dan data
πΉ onStart()
- Activity mulai terlihat oleh pengguna
πΉ onResume()
- Activity siap digunakan (aktif)
πΉ onPause()
- Activity kehilangan fokus (misalnya ada notifikasi)
πΉ onStop()
- Activity tidak terlihat lagi
πΉ onDestroy()
- Activity dihapus dari memori
π§ Narasi
Setiap metode lifecycle memiliki peran penting dalam mengatur bagaimana aplikasi berperilaku saat berpindah antar layar atau saat terjadi gangguan (misalnya panggilan masuk).
6. π Intent dan Navigasi Antar Activity
7
π Jenis Intent
- Explicit Intent β antar Activity dalam aplikasi
- Implicit Intent β memanggil aplikasi lain
π Contoh
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
π§ Narasi
Intent digunakan untuk berpindah dari satu Activity ke Activity lain. Ini adalah dasar dari navigasi dalam aplikasi Android.
7. π¦ Pengiriman Data Antar Activity
5
π Contoh Kirim Data
intent.putExtra("nama", "Budi")
π Ambil Data
val nama = intent.getStringExtra("nama")
π§ Narasi
Data dapat dikirim antar Activity menggunakan Intent dengan format key-value.
8. π Back Stack Activity
7
π Penjelasan
Back Stack adalah tumpukan Activity yang menyimpan riwayat navigasi pengguna.
π§ Narasi
Setiap Activity yang dibuka akan masuk ke dalam stack. Saat pengguna menekan tombol βBackβ, Activity terakhir akan ditutup.
9. β οΈ Permasalahan Umum Lifecycle
6
π Masalah Umum
- Memory leak
- Activity restart saat rotasi layar
- Data hilang saat lifecycle berubah
π§ Narasi
Kesalahan dalam menangani lifecycle dapat menyebabkan aplikasi crash atau kehilangan data.
10. π‘ Best Practice Penggunaan Activity
π Tips
- Gunakan lifecycle dengan benar
- Simpan state menggunakan
onSaveInstanceState() - Hindari proses berat di
onCreate() - Gunakan ViewModel untuk data
π§ Narasi
Mengikuti best practice akan membantu membuat aplikasi lebih stabil, efisien, dan mudah dikembangkan.
π Kesimpulan
Activity adalah komponen utama dalam aplikasi Android yang mengatur tampilan dan interaksi pengguna. Lifecycle Activity membantu mengelola siklus hidup aplikasi secara efisien. Pemahaman yang baik tentang Activity dan lifecycle sangat penting untuk membangun aplikasi yang stabil dan profesional.
π― Latihan / Tugas
- Buat 2 Activity dan navigasi antar keduanya
- Kirim data dari Activity A ke B
- Implementasikan lifecycle log (Log.d)
- Uji perubahan lifecycle saat rotasi layar