Terdapat 4 komponen utama dalam membuat aplikasi Android yang harus kalian pahami agar aplikasi Android yang kalian buat dapat memaksimalkan fitur yang terdapat pada framework Android. Memahami 4 komponen utama ini dan mengimplementasikanya secara efektif dalam pembuatan sebuah aplikasi Android dapat meningkatkan User Experience. Bagi kalian yang serius ingin menjadi developer Android 4 komponen ini wajib kalian pahami. Adapun 4 komponen yang dimaksud yaitu:
- Activity = Merupakan User Interface (UI) yang mengatasi interaksi user pada layar smartphone.
- Service = Melakukan proses tertentu pada background thread walaupun user telah keluar dari aplikasi.
- Content Providers = Mengatur komunikasi dengan database.
- Broadcast Receivers = Mengatur komunikasi antara Sistem Operasi Android dengan aplikasi yang kita buat.
4 komponen ini terhubung atau biasa didefinisikan pada file AndroidManifest.xml untuk mendeskripsikan dan mengenali tiap komponen yang terdapat pada aplikasi yang dibuat. Mari kita lihat satu persatu detail dari tiap komponen.
Activity
Sebuah activity menunjukan satu layar dengan user interface, singkatnya activity melakukan aksi pada layar. Oleh karena itu Activity selalu berjalan pada main thread. Karena terdapat User Interface (UI), user dapat berinteraksi dengan activity tersebut seperti menekan tombol, scrolling, dll.
Contohnya sebuah aplikasi pesan memiliki 2 activity yaitu:
- Activity yang menunjukan daftar pesan.
- Activity untuk membalas pesan tertentu.
Karena activity bekerja pada main thread kalian tidak boleh melakukan proses yang dapat menunda atau memblokir main thread seperti network request atau membaca file. Hal itu dapat menyebabkan perlambatan respon dari activity terhadap user dan mengurangi fps (frame per second) < 60 fps ( 60 fps merupakan rekomendasi Google agar interaksi antara user dan aplikasi terlihat mulus/smooth ). Skenario paling parah aplikasi kalian akan dianggap not responding oleh android dan user terpaksa harus menutup paksa (force close) aplikasi kalian.
Contoh implementasi Activity pada pembuatan aplikasi android:
public class MyActivity extends Activity {
//implementasi Activity disini
}
Lihat juga Cara Membuat Activity Baru pada Android.
Service
Sama seperti Activity hanya saja Service tidak memiliki UI sehingga user tidak dapat berinteraksi dengan service. Berbeda dengan Activity jika aplikasi ditutup oleh user maka Activity juka akan berhenti, Service akan tetap berjalan meskipun aplikasi telah ditutup oleh user. Service berjalan di main thread pada Activity yang memulainya, kita harus membuat background threadnya sendiri untuk melakukan proses yang berat.
Pada Service ini kalian dapat melakukan aksi seperti network request, memainkan musik, melakukan sync database pada cloud, menampilkan notifikasi. Ada 3 macam Service pada Android, kalian bisa membaca pada halaman developer android services. Contoh implementasi Service pada android:
public class MyService extends Service {
//implementasi Service disini
}
Content Providers
Content Providers merupakan komponen Android yang membantu mengakses data pada Android seperti database. Content Provider juga dapat digunakan untuk mengakses data pada aplikasi lain jika aplikasi tersebut mengjinkan dan kalian juga dapat share data aplikasi kalian. Content Provider biasa disebut sebagai Abstraction Layer antara layer aplikasi dan layer data. Untuk mengkases Content Provider kita harus menggunakan ContentResolver.
Pada Content Providers kita dapat melakukan verifikasi data terlebih dahulu sebelum mengembalikan hasil yang diminta. Contoh implementasi Content Providers pada Android.
public class MyContentProvider extends ContentProvider {
// Implementasi Content Provider disini
@Override
public boolean onCreate() {
return true;
}
}
Broadcast Receivers
Broadcast Receivers sederhananya merupakan komponen android yang menerima pesan broadcast dari aplikasi lain atau dari sistem Android itu sendiri.
Contoh sebuah aplikasi mengirimkan pesan broadcast bahwa aplikasi tersebut ingin mengirimkan email, maka aplikasi yang memiliki Broadcast Receivers untuk menangani pengiriman email seperti Gmail akan dapat memproses permintaan tersebut.
Contoh lainya sebuah aplikasi wisata mengirimkan pesan broadcast untuk menunjukan lokasi yang diklik oleh user dan ditampilkan pada map. Aplikasi yang memiliki Broadcast Receiver untuk menangani permintaan tersebut seperti Google Maps akan dapat menanganinya. Contoh implementasi Broadcast Receiver pada Android:
public class MyBroadcastReceiver extends BroadcastReceiver {
//Implementasi Broadcast Receivers di bawah ini
@Override
public void onReceive(Context context, Intent intent) {
}
}
Tinggalkan Balasan