Working in the background (Services, Thread, Handler, Alert, Toast, Notification) Android Studio

studio
Android Tutorial,sumber foto http://cdn.mobilesiri.com/wp-content/uploads/2016/03/Android-Studio.png
Android memberikan kelas layanan untuk membuat sebuah komponen aplikasi yang bertugas untuk menangani berbagai aktivitas fungsi dan operasi yang dijalankan oleh suatu perangkat android secara tersembunyi. Ketika sebuah aktivitas program dijalankan pada sebuah perangkat android, dan aktivitas tersebut dinilai lebih penting, maka layanan android akan segera memprioritaskan aktivitas tersebut dan mematikan aktivitas lain yang dinilai tidak penting. Salah satu contoh dari layanan yang berjalan dibelakang layar misalnya dapat ditemukan pada aplikasi sosial media, aplikasi-aplikasi tersebut memiliki layanan yang berjalan pada background dan bertugas untuk bersiaga menerima segala bentuk aktivitas yang ditujukan ke penggunanya lalu diteruskan dalam bentuk notifikasi agar penggunanya dapat mengetahui aktivitas-aktivitas tersebut.
§  Services
Service adalah sebuah komponen dari Android yang berjalan di belakang layar tanpa adanya interaksi dari pengguna. Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas sampai pada saat service dimatikan. Komponen service yang diproses tidak terlihat dan digunakan untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika Activity utama digantikan oleh Activity lainnya.
Service dibagi menjadi dua jenis yaitu
1.      Unbound
Jenis layanan/service ini tidak dibatasi untuk setiap komponennya. Jadi setelah service dimulai, service tersebut akan berjalan di latar belakang tanpa batas waktu dan akan berhenti dengan sendirinya setelah service tersebut selesai melakukan tugasnya.
2.      Bound
Jenis layanan/service ini memiliki keterikatan atau dibatasi dengan komponen lain. Setelah service dimulai, service akan berjalan di latar belakang sampai komponen yang dibatasi berjalan.
Service mempunyai 4 method utama pada LifeCycle nya yaitu:
1.      onCreate()
Method onCreate digunakan sebagai wadah ketika kita ingin membuat dan akan menjalankan sebuah service. Pada prinsipnya method ini kita gunakan sebagai pendeklarasian ketika service akan dibuat.
2.      onStartCommand(Intent intent, int flags, int startId)
Method onStartCommand digunakan untuk menjalankan service, dengan syarat service sudah dibuat melalui method onCreate.
3.      onDestroy()
Method onDestroy digunakan untuk mematikan service yang berjalan di balik aplikasi yang kita buat.
4.      Ibinder onBind(Intent intent)
Method onBind digunakan untuk menghubungkan activity yang ada ke layanan service.

Contoh Service:
1.      Sebuah activity memulai layanan/service untuk mengupload sejumlah gambar ke website. sebuah activity baru dimulai dan terhubung pada service yang ada untuk menentukan file mana yang sedang diupload dan menampilkan gambar ke layar
2.      Sebuah Activity menyediakan jalan bagi pengguna untuk memilih file music, yang kemudian memulai sebuah layanan/service untuk menjalankan lagu tersebut.

Untuk dapat menggunakan layanan Service, maka harus dideklarasikan terlebih dahulu pada AndroidManifest.xml dengan cara:



§  Thread
Sebuah aplikasi secara default berjalan pada proses tunggal yang sudah mencakup seluruh tugas yang dimiliki oleh aplikasi tersebut. Tetapi terkadang sebuah aplikasi membutuhkan kemampuan untuk menjalankan beberapa proses dengan waktu yang bersamaan, dengan menggunakan Thread proses-proses tersebut dapat dikendalikan dengan baik. Ketika aplikasi sedang menjalankan proses yang panjang seperti proses membuka file, mengakses data dari internet maka UI dari aplikasi android anda akan terblok sampai proses yang panjang tadi selesai, sehingga proses ini harus dialihkan ke proses di belakang layar yang terpisah menggunakan Thread. Untuk menjalankan sebuah Thread menggunakan method start().

§  Handler
Handler bertujuan mengatur alur dari proses-proses yang berjalan pada suatu aplikasi android, dalam hal ini adalah Thread. Dengan begitu, Handler akan menghandle proses dari Thread yang bersangkutan, seperti contohnya memberi tahu pengguna saat suatu Thread telah selesai melakukan tugasnya. Untuk menghandle pesan dari Thread menggunakan method handleMessage(Message msg), dengan parameter Message adalah tipe data untuk melakukan pertukaran data antar Thread dan Handler.

§  Alert
Alert memberikan suatu pesan cepat kepada pengguna yang ditampilkan pada tampilan utama antarmuka suatu aplikasi. Jenis Alert bermacam-macam, tetapi pada umumnya yang sering digunakan adalah Toast dan Alert Dialog. Toast memberikan pesan dicetak ke layar dengan satu baris code Sedangkan untuk Alert Dialog hampir mirip dengan kotak dialog, jadi pesan peringatan atau isi dari Alert Dialog akan ditampilkan dalam bentuk pilihan Dialog Box.

Alert Dialog
Cara paling mudah untuk membangun sebuah Alert Dialog adalah dengan menggunakan kelas Builder. Builder menawarkan serangkaian method untuk mengkonfigurasi Alert Dialog, dengan method create() untuk membangun Alert Dialog dan method show() untuk menampilkan kotak dialog.

Konfigurasi method yang umum digunakan pada Builder meliputi:
•    setMessage() jika Anda ingin “body” atau isi dari dialog menjadi pesan tekstual sederhana, baik dari String disediakan atau melalui string resource ID.
•    setTitle() dan setIcon() untuk mengkonfigurasi teks dan/atau ikon muncul dalam Title Bar dari Alert Dialog.
•     setPositiveButton(), setNeutralButton(), dan setNegativeButton() untuk membuat tombol yang akan muncul di bagian bawah dialog, di mana mereka harus diposisikan (kiri, tengah, dan kanan), nama tombol atau text dari tombolnya, dan perintah yang akan dipanggil ketika tombol tersebut diklik.
Toast

Toast merupakan pesan/notifikasi kecil yang ditampilkan di layar tanpa menutupi aplikasi yang sedang berjalan. Pesan toast hanya ditampilkan dalam jangka waktu atau durasi tertentu dan tidak memerlukan interaksi pengguna untuk menutupnya. Cara pendeklarasian toast adalah:
dasd
Toast

 Notification
Seperti halnya Alert Dialog dan Toast, Notification juga berguna sebagai salah satu media untuk menampilkan pesan/peringatan secara cepat kepad pengguna. Perbedaan Notification dengan Alert Dialog dan Toast adalah pada posisi letak media ini ditampilkan, untuk Notification ditampilkan didalam Status Bar. Notification juga memiliki aksi ketika diklik.
Cara paling mudah untuk membangun sebuah Alert Dialog adalah dengan menggunakan kelas Builder. Builder menawarkan serangkaian method untuk mengkonfigurasi Alert Dialog, dan method show() untuk menampilkan kotak dialog.

Adapun komponen-komponen yang digunakan untuk membentuk sebuah Notification, yaitu:
•    NotificationManager, yaitu sebuah kelas yang menyediakan akses ke NOTIFICATION_SERVICE agar dapat menggunakan notifikasi.
•    Notification, sebuah kelas yang digunakan untuk menentukan komponen-komponen dari sebuah notifikasi. Seperti Alert Dialog, cara paling mudah untuk membangun sebuah Notification adalah dengan menggunakan kelas Builder dengan method build() untuk membangun sebuah Notification dan notify() untuk memunculkan Notification. Konfigurasi method yang digunakan dalam kelas ini adalah:
o   setTicker() untuk menampilkan text semacam Toast tetapi ditampilkan pada Status Bar saat notifikasi pertama kali muncul.
o   setContentInfo(), setContentTitle(), dan setContentText() digunakan untuk memberi teks pada info, judul, dan isi notifikasi.
o   setDefaults digunakan untuk mengisi notifikasi dengan kemampuan dasar Android seperti getar dan suara notifikasi bawaan Android.
o   setSmallIcon untuk memberi icon notifikasi di Status Bar.
o   setContentIntent untuk memberi aksi dari notifikasi saat diklik.
o   setAutoCancel untuk menghapus notifikasi jika pengguna telah mengeklik notifikasi yang bersangkutan.

1 comment