# Ch 1.
## Melayout UI
Buka `app/res/layout/activity_quiz.xml`. Jika Anda melihat preview grafis dari file, pilih tab `Text` pada bagian bawah untuk melihat kode XML.
Saat ini, `activity_quiz.xml` mendefinisikan layout activity default. Default ini sering berubah pada versi Android Studio tetapi XML-nya akan terlihat seperti berikut:
```
```
### Widget Attribute
Mari kita lihat attribute-attribute yang digunakan untuk mengkonfigurasi widget:
#### `android:layout_width` dan `android:layout_height`
Attribute `android:layout_width` dan `android:layout_height` dibutuhkan untuk hampir semua tipe widget. Mereka umumnya ditetapkan ke `match_parent` atau `wrap_content`:
- `match_parent`: tampilkan akan sebesar parent
- `wrap_content`: tampilan akan sebesar yang dibutuhkan isi
(Anda mungkin akan melihat `fill_parent` di beberapa tempat. Ini adalah nilai deprecated (yang akan dihilangkan) yang ekuivalen dengan `match_parent`)
Dari root `LinearLayout`, nilai dari kedua attribute height dan width adalah `match_parent`. `LinearLayout` adalah element root, tetapi ia masih mempunyai sebuah parent - view yang Android sediakan untuk hirarki app Anda untuk hidup.
Widget yang lainnya dalam layout kita mempunyai width dan height yang ditetapkan ke `wrap_content`. Anda dapat melihat di Gambar 1.10 bagaimaan ini menentukan ukuran-ukurannya.
`TextView` sedikuit lebih besar dari teks yang berada di dalamnya karena attribute `android:padding="24dp"`. Attribute ini memberitahukan widget untuk menambahkan jumlah spasi tertentu ke isinya ketika menentukan ukurannya. Anda menggunakan ini untuk memberikan ruang bernafas antara pertanyaan dan button. (Unit `dp` adalah density-independent pixel, yang akan kita pelajari di Bab 9.)
#### `android:orientation`
### Menjalankan Emulator
Untuk menjalankan aplikasi Android, Anda memerlukan sebuah device - entah itu hardware atau sebuah *virtual device*. Virtual device ditenagai oleh emulator Android, yang disertakan dalam tools developer.
Untuk membuat Android virtual device (AVD), pilih `Tools --> Android --> AVD Manager`. Saat AVD Manager tampil, klik tombol `+Create Vritual Device...` di bagian kiri bawah dari window.
### Bagaimana Proses Build Android
#### Android Build Tool
Semua build yang kita lihat sejauh ini dieksekusi dari dalam Android Studio. Build ini terintegrasi dengan IDE yang menginvokasi standard Android build tool seperti `aapt`, tetapi proses build sendiri dikelola oleh Android Studio.
Kita mungkin, untuk suatu alasan tertentu, ingin melakukan build dari luar Android Studio. Cara paling mudah untuk melakukan ini adalah dengan menggunakan command-line build tool. Modern Android build menggunakan sebuah tool bernama Gradle.
Untuk menggunakan Gradle dari command line, navigasi ke direktori project dan jalankan perintah berikut:
```
$ ./gradlew tasks
```
Pada windows, perintahnya sedikit