Tugas Pekerjaan Rumah: Pelajaran 3 & 4

Daftar Isi:

3.1: Debugging

Membangun dan menjalankan aplikasi

Buka aplikasi SimpleCalc dari pelajaran Menggunakan Debugger.

  1. Dalam MainActivity, tempatkan breakpoint pada baris pertama dari metode onAdd().
  2. Jalankan aplikasi di debugger. Lakukan operasi tambah di aplikasi. Eksekusi berhenti di breakpoint.
  3. Gunakan tombol Step Into untuk mengikuti langkah demi langkah eksekusi aplikasi. Perhatikan bahwa Step Into membuka dan menjalankan file dari kerangka kerja Android, memungkinkan Anda untuk melihat bagaimana Android beroperasi pada kode Anda.
  4. Periksa bagaimana jendela debugger berubah saat Anda melangkah melalui kode dalam bingkai tumpukan dan variabel lokal saat ini.
  5. Periksa bagaimana kode tersebut beranotasi di jendela editor ketika setiap baris dieksekusi.
  6. Gunakan tombol Step Out untuk kembali ke aplikasi Anda jika tumpukan eksekusi terlalu dalam untuk dipahami.

Jawablah pertanyaan berikut

Pertanyaan 1

Apa perbedaan antara Step Over dan Step Into?

Pertanyaan 2

Bagaimana setiap bagian dari tampilan debugger berubah ketika Anda masuk ke metode yang baru?

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Tidak ada aplikasi untuk mengirimkan tugas pekerjaan rumah ini.


3.2: Pengujian

Membangun dan menjalankan aplikasi

Buka aplikasi SimpleCalcTest yang Anda buat dalam pelajaran Menguji Aplikasi dengan Pengujian Unit. Anda akan menambahkan tombol POW ke layout. Tombol ini menghitung operand pertama yang diberi pangkat operand kedua. Misalnya, saat diberikan operand 5 dan 4, aplikasi menghitung 5 pangkat 4, atau 625.

SEBELUM Anda menulis implementasi tombol daya, pertimbangkan jenis pengujian yang ingin Anda lakukan dengan penghitungan ini. Apa nilai-nilai tidak biasa yang bisa muncul dalam penghitungan ini?

  1. Perbarui kelas Kalkulator di aplikasi agar menyertakan metode pow(). (Petunjuk: Bacalah dokumentasi kelas java.lang.Math.)
  2. Perbarui kelas MainActivity untuk menghubungkan tombol POW ke dalam penghitungan.
  3. Tulis masing-masing pengujian ke metode pow() Anda. Jalankan suite pengujian setiap kali Anda menulis pengujian, dan memperbaiki penghitungan awal dalam aplikasi bila diperlukan.
    • Pengujian dengan operand integer positif.
    • Pengujian dengan integer negatif sebagai operand pertama.
    • Pengujian dengan integer negatif sebagai operand kedua.
    • Pengujian dengan 0 sebagai operand pertama dan integer positif sebagai operand kedua.
    • Pengujian dengan 0 sebagai operand kedua.
    • Pengujian dengan 0 sebagai operand pertama dan -1 sebagai operand kedua. (Petunjuk: baca dokumentasi untuk Double.POSITIVE_INFINITY.)
    • Pengujian dengan -0 sebagai operand pertama dan semua angka negatif sebagai operand kedua.

Jawablah pertanyaan berikut

Tidak ada pertanyaan.

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • Aplikasi menampilkan tombol POW yang menyediakan penghitungan eksponensial ("pangkat").
  • Implementasi MainActivity menyertakan metode on click untuk tombol POW.
  • Implementasi Kalkulator menyertakan metode pow() yang melakukan penghitungan.
  • Metode CalculatorTest menyertakan metode pengujian terpisah untuk metode pow() pada kelas Kalkulator yang melakukan pengujian untuk operand negatif dan 0, dan saat 0 dan -1 bertindak sebagai operand.

3.3: Pustaka Dukungan dan Kompatibilitas Mundur

Menjalankan aplikasi

Buka aplikasi HelloCompat yang dibuat dalam pelajaran Menggunakan Pustaka Dukungan Android.

  1. Setel breakpoint debugger pada baris dalam metode changeColor() yang benar-benar mengubah warna:
    int colorRes = ContextCompat.getColor(this, colorResourceName);
    
  2. Jalankan aplikasi dalam mode debug pada perangkat atau emulator yang menjalankan versi API 23 atau yang lebih tinggi. Melangkah masuk ke metode getColor(), mengikuti panggilan metode yang masuk lebih dalam ke tumpukan. Periksa bagaimana kelas ContextCompat menentukan cara mendapatkan warna dari sumber daya, dan kelas kerangka kerja lain yang digunakannya.

    Catatan: Beberapa kelas mungkin menghasilkan peringatan "source code does not match the bytecode." Klik Step Out untuk kembali ke file sumber yang dikenal, atau terus mengeklik Step Into sampai debugger kembali dengan sendirinya.
  3. Ulangi langkah sebelumnya untuk perangkat atau emulator yang menjalankan versi API lebih rendah dari 23. Perhatikan jalur berbeda yang digunakan kerangka kerja untuk mendapatkan warna.

Jawablah pertanyaan berikut

Pertanyaan 1

Berdasarkan eksplorasi Anda di debugger, bagaimana platform Android memutuskan implementasi yang akan digunakan dalam kelas Compat?

Pertanyaan 2

Selain perbedaan dalam tanda tangan metode, apa perbedaan di antara implementasi tersebut? Mengapa kelas kompatibilitas diperlukan?

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Tidak ada aplikasi untuk mengirimkan tugas pekerjaan rumah ini.


4.1: Kontrol Masukan Pengguna

Membangun dan menjalankan aplikasi

  1. Buat aplikasi dengan 5 kotak centang dan tombol Show Toast, seperti yang ditampilkan di bawah ini.
  2. Ketika pengguna mengeklik satu kotak centang kemudian Show Toast, tampilkan pesan toast yang menampilkan kotak centang yang dipilih.
  3. Bila pengguna memilih lebih dari satu kotak centang kemudian Show Toast, tampilkan toast yang memuat pesan untuk semua kotak centang yang dipilih, seperti yang ditunjukkan pada gambar di bawah ini. Kotak centang dan pesan toast

Jawablah pertanyaan berikut

Pertanyaan 1

Apa perbedaan paling penting antara kotak centang dan RadioGroup pada tombol radio? Pilih salah satu:

  • Satu-satunya perbedaan adalah bagaimana semuanya terlihat: kotak centang menampilkan tanda centang saat dipilih, sementara tombol "radio" bundar akan terisi warna saat dipilih.
  • Elemen CheckBox dalam layout bisa menggunakan atribut android:onClick untuk memanggil penangan saat dipilih.
  • Perbedaan utamanya adalah bahwa kotak centang memungkinkan beberapa pilihan, sementara RadioGroup hanya mengizinkan satu pilihan.

Pertanyaan 2

Grup layout manakah yang lebih disukai untuk menyelaraskan kumpulan elemen CheckBox secara vertikal? Pilih salah satu:

  • RelativeLayout
  • LinearLayout
  • ScrollView

Pertanyaan 3

Apa metode antarmuka Checkable yang Anda gunakan untuk memeriksa keadaan kotak centang (apakah dicentang atau tidak)?

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • Layout memuat lima tampilan CheckBox yang sejajar secara vertikal di layar, dan tombol Show Toast.
  • Metode onSubmit() menentukan kotak centang yang dicentang dengan menggunakan findViewById() bersama isChecked().
  • String yang menjelaskan topping digabungkan menjadi pesan toast.

4.2: Menu

Membangun dan menjalankan aplikasi

Buka aplikasi ScrollingText yang Anda buat dalam pelajaran Bekerja dengan Elemen TextView.

  1. Tambahkan menu konteks mengambang untuk menunjukkan tiga pilihan menu: Edit, Share, dan Delete, seperti yang terlihat pada gambar di bawah ini. Menu akan muncul ketika pengguna melakukan klik lama pada TextView.
  2. Tambahkan pesan log untuk menampilkan item menu yang diklik. Menu konteks

Jawablah pertanyaan berikut

Pertanyaan 1

Apa nama dan lokasi file yang menjadi tempat Anda membuat item menu konteks?

Pertanyaan 2

Apa yang terjadi ketika ketuk lama (juga dikenal sebagai klik lama) terjadi? Pilih salah satu:

  • Bila tampilan menerima kejadian klik-lama, sistem akan memanggil metode onCreateContextMenu(), yang tidak bisa Anda ubah.
  • Bila tampilan yang telah didaftarkan menerima kejadian klik-lama, sistem akan memanggil metode onCreateContextMenu() yang bisa Anda ganti dalam aktivitas atau fragmen.
  • Bila tampilan yang telah didaftarkan menerima kejadian klik-lama, sistem akan memanggil metode onContextItemSelected() yang bisa Anda ganti dalam aktivitas atau fragmen.

Pertanyaan 3

Di mana Anda mendaftarkan menu konteks untuk tampilan? Pilih salah satu:

  • Menggunakan registerForContextMenu() dalam metode onCreate().
  • Menggunakan registerForContextMenu() dalam metode onCreateContextMenu().
  • Menggunakan getMenuInflater() dalam metode onCreateContextMenu().

Pertanyaan 4

Di mana Anda mengembangkan menu konteks menggunakan MenuInflater? Pilih salah satu:

  • Dalam metode onCreate().
  • Dalam metode onCreateContextMenu().
  • Dalam metode onContextItemSelected().

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • Metode onCreateContextMenu() diimplementasikan dalam kelas MainActivity dan menggunakan MenuInflater untuk mengembangkan menu konteks.
  • File menu_context.xml memuat tiga pilihan: Edit, Share, dan Delete.
  • Metode onContextItemSelected() diimplementasikan dan menggunakan getItemId() untuk menentukan item menu yang dipilih.

4.3: Navigasi Layar

Membangun dan menjalankan aplikasi

Membuat aplikasi dengan sebuah aktivitas utama dan minimal tiga aktivitas lainnya. Semua aktivitas memiliki menu Opsi dasar dan menggunakan Bilah Alat pustaka dukungan v7 appcompat sebagai bilah aplikasi, seperti yang ditampilkan di bawah ini.

  1. Pada aktivitas utama, bangun layout grid dengan gambar pilihan Anda sendiri (atau menggunakan gambar dalam 4_1_P_starter_images.zip). Ubah ukuran gambar sehingga ketiganya pas secara horizontal pada layar dalam layout grid.
  2. Aktifkan setiap gambar agar menyediakan navigasi ke aktivitas lain.
    • Bila pengguna mengetuk gambar, itu akan memulai aktivitas lainnya.
    • Dari aktivitas lain, pengguna bisa mengetuk tombol Up dalam bilah aplikasi (disorot dalam gambar di bawah ini) untuk kembali ke aktivitas utama. Tombol Up untuk navigasi naik

Jawablah pertanyaan berikut

Pertanyaan 1

Template manakah yang menyediakan aktivitas dengan menu opsi, tombol Up, dan Bilah Alat pustaka dukungan v7 appcompat sebagai bilah aplikasi?

Pertanyaan 2

Mengapa Anda menggunakan GridLayout dibandingkan dengan LinearLayout atau RelativeLayout untuk menyediakan navigasi menggunakan gambar?

Pertanyaan 3

Di mana Anda menempatkan GridLayout gambar? Pilih salah satu:

  • Pada activity_main.xml untuk MainActivity.
  • Pada content_main.xml untuk MainActivity.
  • Pada file layout XML "utama" untuk setiap aktivitas lainnya.
  • Pada file layout XML "materi" untuk setiap aktivitas lainnya.

Pertanyaan 4

Di mana Anda menetapkan aktivitas aplikasi dan aktivitas induk untuk menyediakan navigasi Up? Pilih salah satu:

  • Untuk menyediakan tombol Up bagi aktivitas layar anak, deklarasikan induk aktivitas anak dalam file activity_main.xml.
  • Untuk menyediakan tombol Up bagi aktivitas layar anak, deklarasikan induk aktivitas dalam file AndroidManifest.xml.
  • Untuk menyediakan tombol Up bagi aktivitas layar anak, deklarasikan induk aktivitas anak dalam file layout XML "utama" untuk aktivitas layar anak.

Pertanyaan 5

Teknik manakah yang Anda gunakan untuk memulai aktivitas lain dari gambar navigasi? Pilih salah satu:

  • Menggunakan atribut android:onClick dengan ImageView dalam layout XML untuk memanggil metode publik dalam aktivitas yang berhubungan dengan layout.
  • Menggunakan kode berikut dalam metode publik (dengan asumsi bahwa aktivitas lain disebut OtherActivity): Intent intent = new Intent(this, OtherActivity.class); startActivity(intent);
  • Kedua hal di atas.

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • GridLayout dalam file content_main.xml.
  • Sebuah Intent baru dan metode startActivity() untuk setiap elemen navigasi dalam grid.
  • Sebuah kelas aktivitas terpisah untuk setiap elemen navigasi dalam grid.

4.4: RecyclerView

Membangun dan menjalankan aplikasi

  1. Membuat aplikasi yang menggunakan RecyclerView untuk menampilkan daftar resep.
    • Setiap item daftar menampilkan nama resep dengan deskripsi singkat. Mengunakan tampilan TextView dan penataan gaya terpisah untuk nama dan deskripsi resep.
  2. Bila pengguna mengetuk resep (item dalam daftar), jalankan aktivitas yang menunjukkan teks resep penuh.
    • Anda bisa menggunakan teks Placeholder untuk resep penuh.
    • Opsional, tambahkan foto masakan untuk setiap resep yang sudah selesai dimasak.
    • Mengeklik tombol up akan membawa pengguna kembali ke daftar resep.

Tangkapan layar di bawah ini menunjukkan contoh implementasi sederhana. Aplikasi Anda bisa terlihat sangat berbeda, asalkan memiliki fungsionalitas yang diperlukan. Contoh layar implementasi untuk aplikasi resep

Jawablah pertanyaan berikut

Pertanyaan 1

Apa saja komponen utama yang Anda butuhkan untuk menampilkan daftar resep? Cek semua yang berlaku.

  • RecyclerView
  • RecyclerView.Adapter
  • RecyclerView.ViewHolder
  • AppCompatActivity

Pertanyaan 2

Apa kelas yang harus Anda implementasikan untuk mendengarkan dan merespons klik pengguna?

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • Mengimplementasikan RecyclerView yang menampilkan daftar judul resep dapat digulir dan deskripsi singkat.
  • Kode yang memperluas atau mengimplementasikan RecyclerView, RecyclerView.Adapter, RecyclerView.ViewHolder, dan View.OnClickListener.
  • Mengeklik pada item daftar akan memulai aktivitas yang menampilkan resep penuh.
  • File manifes mendefinisikan hubungan induk sehingga mengeklik tombol Up dalam tampilan resep akan mengembalikan ke daftar resep.
  • ViewHolder berisi sebuah layout dengan dua TextViews; misalnya, sebuah LinearLayout dengan dua TextViews.

results matching ""

    No results matching ""