(Sebagian) Konsep dasar yang harus dikuasai pemrogram Android pemula: Application Component


smartphone
source: unsplash.com

Program Android Studio sudah kamu buka. Puluhan baris kode siap dijalankan. Lalu kamu tekan tombol segitiga hijau di bagian menu. Tak seberapa lama (tergantung spesifikasi komputernya), program Hello world pun muncul di emulatormu. Selamat, kamu resmi sebagai pemrogram Android!

Lalu, setelah ini apa?

Menjadi pemrogram yang baik memang susah-susah gampang. Tak hanya harus mempelajari berbagai macam sintaks dan logika pemrograman, memahami konsep dasar pun menjadi hal yang cukup penting. Termasuk bagi pemula.

Ketika awal belajar, mungkin kita akan baca-baca dulu tentang konsep-konsep dasar ini. Sayangnya, ketika semakin lama berkutat di baris kode, sebagian dari kita (setidaknya saya) mulai melupakan konsep dasar ini.

Sebelum lanjut, mau disclaimer dulu. Tulisan ini dibuat untuk mengingatkan saya agar kembali mempelajari konsep dasar pemrograman di Android. Tak hanya melulu belajar Kotlin dan turunannya, namun juga hal-hal mendasar yang kadang terlupakan.

(Rangkaian) tulisan ini pun tidak akan membahas panjang lebar tentang topik yang sedang dibahas, namun hanya ringkasan saja. Nantinya saya akan menyertakan artikel/sumber terkait yang membahas topik terkait secara lebih mendalam.

Tulisan ini dibuat setelah saya ikut beberapa kali sesi interview calon kolega dan menyadari kalau pengetahuan saya di bidang Android ini mulai menumpul. Sumber tulisan ini sebagian besar (hasil terjemahan bebas) dari dokumentasi resmi Android.

***

Ok, mari kita mulai dari komponen dasar dari Android. Kalau kita tanya apa saja komponen dasar aplikasi Android, sebagian besar biasanya hanya menjawab activity. Jawabannya tidak salah, tapi ada beberapa komponen dasar lain yang patut diketahui.

Dalam dokumentasi resminya, ada empat komponen dasar Android yang perlu dipelajari, tidak hanya activity dan turunannya. Tiga lainnya adalah Services, Brodcast receivers, dan Content providers.

Kita mulai tulisan ini dari komponen yang paling banyak dikenal, yaitu activity -atau jamaknya activites.

Activities

Activities merupakan sebuah pintu masuk bagi aplikasi untuk berinteraksi dengan user. Sebuah activity merepresentasikan sebuah screen yang akan dilihat oleh user. Untuk membuat sebuahactivity, kita tinggal membuat sub-kelas dari kelas Activity, lebih tepatnya AppCompatActivity.

class MainActivity : AppCompatActivity() {
    …
}

Untuk mengetahui lebih dalam tentang activity, bisa dibaca di sini.

Services

Sederhananya, sebuah service digunakan agar aplikasi tetap berjalan di belakang layar alias background. Karena itu service tidak menyediakan user interface. Setelah dijalankan, service tersebut akan berjalan untuk sementara waktu di belakang, bahkan ketika user berpindah aplikasi.

Salah satu contoh penggunaan service, misalnya kita bisa tetap mendengarkan musik dari aplikasi Spotify meski sedang membuka aplikasi lain.

Sebuah kelas service adalah implementasi dari sub-kelas Service. Baca di sini untuk mempelajari Service lebih dalam.

Broadcast receivers

Broadcast receiver adalah komponen yang memungkinkan sistem mengirimkan event ke aplikasi di luar flow user, dan memungkinkan aplikasi merespons event tersebut. Sistem bisa mengirimkan event ke aplikasi yang belum berjalan.

Kebanyakan broadcast biasanya dari sistem, seperti peringatan baterai sudah hampir habis, gambar berhasil diambil, dll. Namun tak jarang, aplikasi pun bisa mengirimkan event lewat broadcast receiver.

Bacaan lebih lanjut mengenai broadcast receiver bisa dibaca di sini dan di sini.

Content providers

Sebuah content provider mengatur data yang digunakan oleh aplikasi, yang nantinya akan disimpan di file system, database, atau dikirim ke awan. Aplikasi dapat mengolah data melalui content provider ini, selama memiliki izin.

Contohnya, kita bisa mengakses data kontak telepon yang disediakan oleh sistem melalui content provider, selama aplikasi kita diberi izin untuk mengakses data tersebut. Selain itu, content provider pun digunakan untuk membaca dan menulis data yang hanya bisa diakses oleh aplikasi kita sendiri alias tidak bisa diakses oleh aplikasi lain.

Bacaan lebih lanjut bisa dilihat di sini.

TLDR; Berikut ini merupakan rangkuman dari keempat komponen Android di atas.

Activities: Menangani masalah UI dan interaksi antara user dengan telepon
Services: Menangani masalah proses di background yang berkaitan dengan aplikasi
Broadcast receiver: Menangani komunikasi antara sistem operasi dengan aplikasi
Content providers: Menangani masalah data dan manajemen database

Untuk pembahasan mengenai application component saya cukupkan dulu. Di tulisan selanjutnya akan kita bahas konsep-konsep dasar lainnya. InsyaAllah.

Tabik.


Ada komentar?

This site uses Akismet to reduce spam. Learn how your comment data is processed.