Pengertian
Activity merupakan satu komponen yang berhubungan dengan
pengguna. Activity menangani window (tampilan) mana yang akan di tampilkan ke
dalam interface (antarmuka).
Kemudian akan muncul dialog seperti di bawah ini. Sesuaikan dengan nama yang ada.
Activity merupakan komponen penting dari aplikasi
Android, dan cara aktivitas diluncurkan dan disatukan adalah bagian mendasar
dari model aplikasi platform. Tidak seperti paradigma pemrograman di mana
aplikasi yang diluncurkan dengan metode main(), sistem Android memulai kode
dalam contoh Activity dengan menerapkan metode callback tertentu yang sesuai
dengan tahap-tahap tertentu pada siklus hidup.
Activity merupakan salah satu komponen penting Android
yang memiliki daur hidup (life cycle) dalam sebuah stack pada virtual sandbox
yang disiapkan oleh Dalvik Virtual Machine (DVM) atau Android Runtime (ART)
yang bersifat last in first out.
Pada implementasinya, activity selalu memiliki satu
layout user interface dalam bentuk berkas xml. Suatu aplikasi Android bisa
memiliki lebih dari satu activity dan harus terdaftar di berkas
AndroidManifest.xml sebagai sub aplikasi
Konsep Last In, First Out (LIFO)
Penjelasan
Gambar 1
Jika Anda memiliki sebuah aplikasi yang terdiri dari 2
activity, maka activity pertama akan dijalankan setelah pengguna meluncurkan
aplikasi melalui ikon aplikasi di layar device. Activity yang ada saat ini
berada pada posisi activity running setelah melalui beberapa state onCreate
(created) → onStart (started) → onResume (resumed) dan masuk ke dalam sebuah
stack activity. Bila pada activity pertama Anda menekan sebuah tombol untuk
menjalankan activity kedua, maka posisi state dari activity pertama berada pada
posisi stop. Saat itu, callback onStop() pada activity pertama akan dipanggil.
Ini terjadi karena activity pertama sudah tidak berada pada layar foreground /
tidak lagi ditampilkan. Semua informasi terakhir pada activity pertama akan
disimpan secara otomatis. Sementara itu, activity kedua masuk ke dalam stack
dan menjadi activity terakhir yang masuk.
Gambar 2
Activity kedua sudah muncul di layar sekarang. Ketika Anda
menekan tombol back pada physical button menu utama atau menjalankan metode
finish(), maka activity kedua Anda akan dikeluarkan dari stack. Pada kondisi di
atas, state activity kedua akan berada pada destroy. Oleh karenanya, metode
onDestroy() akan dipanggil. Kejadian keluar dan masuk stack pada proses di atas
menandakan sebuah model Last In, First Out. Activity kedua menjadi yang
terakhir masuk stack (Last In) dan yang paling pertama keluar dari stack (First
Out).
Gambar 3
Activity Pertama akan dimunculkan kembali di layar setelah
melalui beberapa state dengan rangkaian callback method yang terpanggil, onStop
→ onRestart → onStart → onResume.
Latihan Sederhana Penggunaan Activity
bertujuan untuk mengimplementasikan komponen activity pada
aplikasi pertama yang akan bangun. Harapannya aktifitas ini dapat memberi
gambaran yang jelas tentang cara kerja activity.
Logika Dasar
Melakukan input ke dalam obyek
TextBox → melakukan validasi input → melakukan perhitungan volume balok ketika
tombol hitung diklik maka tampil hasil perhitungan. Berikut flow umumnya.
1. Ngoding Layout untuk user
interface aplikasi
2. Ngoding Activity untuk
menambahkan logika aplikasi
1. Silakan klik tab file
activity_main.xml pada workspace Anda(res/Layout/activity_main.xml), dan
tambahkan baris-baris berikut:
Akan muncul warning pada atribut android:text pada layout tersebut. Ini karena kita
melakukan hardcoding pada nilai string-nya. Mari kita hilangkan code warning
tersebut dengan menekan Alt+Enter pada attribut android:text. Akan muncul dialog seperti ini, pilihlah extract string resource.
Kemudian akan muncul dialog seperti di bawah ini. Sesuaikan dengan nama yang ada.
Fungsi extract string resource
akan secara otomatis menambahkan nilai dari android:text
ke dalam berkas res → values → strings.xml.
Lakukan hal yang sama pada view lainnya hingga tidak ada warning lagi. Jika
kita buka berkas strings.xml, maka isinya akan
menjadi seperti ini:
1. <resources>
2. <string
name="app_name">BarVolume</string>
3. <string
name="lebar">Lebar</string>
4. <string
name="tinggi">Tinggi</string>
5. <string
name="hitung">Hitung</string>
6. <string
name="hasil">Hasil</string>
7. <string
name="panjang">panjang</string>
8. </resources>
Jika terjadi kesalahan pada
atribut dimens, maka kita perlu menambahkan
berkas dimens.xml di dalam res → values → dimens.xml. Kesalahan ini disebabkan
karena pada Android Studio 2.3, berkas dimens.xml sudah tidak dibuat secara
otomatis.
Langsung saja tambahkan dengan
cara Klik Kanan pada directory res. Akan muncul
dialog seperti ini.
Jika berkas dimens.xml sudah dibuat, sesuaikan isinya menjadi
seperti berikut.
Menambahkan Kode Logika Sederhana pada MainActivity
Selanjutnya setelah selesai, lanjutkan dengan membuka berkas MainActivity.java dan lanjutkan ngoding baris-baris dibawah ini.
1. <resources>
2. <!-- Default screen margins, per the Android Design
guidelines. -->
3. <dimen
name="activity_horizontal_margin">16dp</dimen>
4. <dimen
name="activity_vertical_margin">16dp</dimen>
5. </resources>
Menambahkan Kode Logika Sederhana pada MainActivity
Selanjutnya setelah selesai, lanjutkan dengan membuka berkas MainActivity.java dan lanjutkan ngoding baris-baris dibawah ini.