Tanya Jawab: Seputar Teknis UI Android

1. Apa perbedaan antara unit ukuran dp dan px? Yang mana seharusnya kita gunakan untuk menentukan ukuran view?
Unit dp tidak bergantung pada densitas dan 1 dp sama dengan satu pixel pada layar 160 dpi. Unit px berkaitan dengan pixel aktual pada layar. Kita seharusnya menggunakan unit dp karena memungkinkan activity kita untuk berubah-ubah dengan tepat ketika kita menjalankan pada berbagai macam perangkat dengan ukuran layar yang berbeda-beda
2. Mengapa AbsoluteLayout tidak dianjurkan untuk digunakan?
Dengan munculnya berbagao macam perangkat dengan ukuran layar yang berbeda-beda, penggunaan AbsoluteLayout akan menyulitkan app kita untuk menampilkan look and feel yang konsisten dengan berbagai macam perangkat.

3. Apa perbedaan antara method onPause() dan method onSaveInstanceState() ? 
Event onPause() dipicu ketika activity di-kill atau dikirim ke background. Event onSaveInstanceState() sama seperti event onPause(), tetapi tidak selalu dipanggil, misalnya ketika pengguna menekan tombol back untuk men-kill activity. 
4. Sebutkan tiga method yang bisa kita override untuk menyimpan state suatu activity. Dalam contoh seperti apa kita seharusnya menggunakan berbagai method tersebut?
Tiga event tersebut adalah onPause(), onSaveInstanceState(), dan onRetainNonConfigurationInstance(). Kita umumnya akan menggunakan method onPause() untuk mempertahakan state dari activity karena method ini akan selalu dipanggil ketika activity akan di-destroy. Tetapi, untuk mengatasi perubahan orientasi layar, akan lebih mudah bila kita menggunakan method onSaveInstanceState() untuk menyimpan state dari activity dengan menggunakan object Bundle. Method onRetainNonConfigurationInstance() digunakan untuk menyimpan data sementara (misalnya gambar atau file yang di download dari web) yang mungkin akan terlalu besar untuk disimpan dengan object Bundle.
5. Bagaimana kita menambahkan action items ke Action Bar?
Menambahkan action items ke Action Bar sama dengan membuat menu items untuk options menu -- cukup dengan menggunakan event onCreateOptionsMenu() dan onOptionsItemSelected(). 

No comments: