KOMPONEN DASAR ANDROID -ACTIVITY
Pengertian Activity
Activity merupakan satu komponen yang berhubungan dengan pengguna.
Activity menangani window (tampilan) mana yang akan di tampilkan ke dalam
interface (antarmuka).
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
1. 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.
2. 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).
3. 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
Tujuan
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.
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:
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.
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.
Jika terdapat baris merah seperti ini :
Jangan khawatir! Silakan klik di atas baris merah tersebut
dan klik pada ikon bola lampu. Atau dengan tekan tombol Alt + Enter lalu
pilih implements method.
Setelah selesai, silakan jalankan aplikasi dengan memilih
menu Run →
Run ‘app’ dari menu bar.
Selanjutnya saya akan mencoba membuat sebuah aplikasi untuk menghitung sebuah bangun datar :
1. Pilih start a new Android Studio Project.
2. Pilih jenis Templatenya disini saya menggunakan Empty Activity.
3. Konfigurasikan project sesuai dengan yang kita inginkan.
4. Masukkan source code untuk layout activity_main.xml. Seperti dibawah ini.
5. Pada saat kita makukkan source code maka ada @dimen/activity_horizontal_margin & @dimen/activity_vertical_margin akan berwarna
merah seperti gambar dibawah ini.
Dan jika kita running maka akan terjadi error seperti ini.
Itu juga dikarenakan layout dimens.xml belum terbuat. Seperti gambar dibawah ini.
6. Untuk mengatasi error tersebut maka kita harus membuat
layout dimens.xml. Lakukan double klik
pada @dimen/activity_horizontal_margin & @dimen/activity_vertical_margin.
Seperti gambar dibawah ini.
Lalu tekan Alt+Enter untuk membuat layout dimens.xml secara otomatis
jika sudah dilakukan maka akan muncul seperti gambar dibawah ini.
Jika sudah maka layout dimens.xml akan terbuat secara otomatis seperti gambar dibawah ini. 16dp
adalah value yang kita masukkan tadi pada Resource value.
7. Selanjutnya tampilkan layout strings.xml maka hanya ada beberapa source code saja.
Nah untuk itu kita perlu menambahkan beberapa source code kedalam
layout strings.xml. Kita perlu tampilkan
kembali layout activity_main.xml.
Pada atribut android:text pada layout tersebut. Ini karena kita melakukan hardcoding pada
nilai string-nya. Mari kita buat dengan menekan Alt+Enter pada
attribut android:text.
Lakukan kembali pada semua atribut android:text.
9. Selanjutnya kita masukkan source code pada MainActivity.java seperti gambar dibawah ini.
10. Selanjutnya kita coba running. Saya menggunakan emulator untuk
proses running-nya.
Komentar
Posting Komentar