konsep umum android


Perangkat berbasis android hanya mempunyai satu layar foreground. Normalnya saat menghidupkan android, yang pertama Kamu lihat adalah home. Kemudian bila Kamu menjalankan sebuah aplikasi catur, User Interfacenya (UI) akan menumpuk diatas layar sebelumnya (home). Kemudian bila melihat help-nya catur, maka UI help akan menimpa UI sebelumnya (catur), begitu seterusnya. Semua proses diatas direkam di application stack oleh sistem Activity manager. Menekan tombol back hanya kembali ke halaman sebelumnya, analoginya mirip dengan browser dimana ketika Kamu meng-klik tombol back browser akan kembali menampilkan halaman sebelumnya. Setiap User Interface diwakili oleh kelas Activity (Activity class). Setiap activity mempunyai siklus, dapat dilihat di gambar  Sebuah aplikasi dapat terdiri dari satu atau lebih activity yang diproses dalam Linux.



Siklus activity Selama siklus ini berjalan, activity bisa mempunyai lebih dari 2 status seperti yang terlihat pada gambar diatas  Kita tidak bisa mengontrol setiap status karena semuanya sudah ditangani oleh sistem. Namun kita akan mendapat pesan saat terjadi perubahan status melalaui method onXX(). Berikut penjelasan setiap status.

onCreate(Bundle)                        Dipanggil saat pertama kali aplikasi dijalankan. Kita dapat                                                                     menggunakan ini untuk deklarasi variabel atau membuat user                                                                 interface.
onStart()                                       Mengindikasikan activity yang ditampilkan ke pengguna (user). onResume()                                  Dipanggil saat applikasi kita mulai berinteraksi dengan pengguna.                                                         Disini sangat cocok untuk meletakkan animasi ataupun musik.
onPause()                                     Dipanggil saat applikasi yang Kita jalankan kembali ke halaman                                                             sebelumnya atau biasanya karena ada activity baru yang dijalankan.                                                       Disini cocok untuk meletakkan algoritma penyimpanan (save).
onStop()                                       Diapnggil saat aplikasi Kita berjalan di belakang layar dalam                                                                 waktu cukup lama.
onRestart()                                    Activity kembali menampilkan user interface setelah status stop. onDestroy()                                  Dipanggil saat aplikasi benar-benar berhenti. onSaveInstanceState(Bu ndle)     Method ini mengijinkan activity untuk menyimpan setiap status                                                            intance. Misalnya dalam mengedit teks, kursor bergerak dari kiri ke                                                         kanan.
onRestoreInstanceState (Bundle) Diapanggil saat activity kembali meng-inisialisasi dari status                                                                  sebelumnya yang disimpan oleh onSaveInstanceState(Bundle).

Sebagai programer, Kamu harus mengetahui beberapa komponen aplikasi yang sangat penting seperti activities, intens, service, dan content providers.



a. Activity

Normalnya setiap activity menampilkan satu buah user interface kepada pengguna. Misalnya sebuah activity menampilkan daftar menu minuman, kemudian pengguna dapat memilih satu jenis minuman. Contoh lainnya pada aplikasi sms, dimana satu activity digunakan untuk menulis pesan, activity berikutnya untuk menampilkan nomor kontak tujuan, atau activity lainnya digunakan untuk menampilkan pesan-pesan lama. Meskipun activity-activity diatas terdapat dalam satu aplikasi sms, namun masing-masing activity berdiri sendiri. Untuk pindah dari satu activity ke activity lainnya dapat melakukan suatu event misalnya tombol diklik atau melalui trigger tertentu.

b. Service

Service tidak memliki user interface, namun berjalan di belakang layar. Misalnya music player, sebuah activity digunakan untuk memilih lagu kemudian di-play. Agar music player bisa berjalan dibelakang aplikasi lain maka harus menggunakan service.

c. Intens 

Intens adalah mekanisme untuk menggambarkan sebuah action secara detail seperti bagaimana cara mengambil sebuah poto.

d. Content 

Providers Menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya kita menggunakan applikasi berbasis peta (MAP). Activity membutuhkan cara untuk mengakses data kontak untuk prosedur navigasi. Disinilah peran content providers.

Resource 

Resource digunakan untuk menyimpan file-file noncoding yang diperlukan pada sebuah aplikasi misalnya file icon, file gambar, file audio, file video atau yang lain. Gambar berformat JPG atu PNG sebuah aplikasi biasanya disimpan dalam folder res/drawable, icon applikasi disimpan dalam res/drawable-ldpi dan file audio disimpan dalam folder res/raw. File XML untuk membentuk sebuah user interface disimpan dalam folder res/layout.