Tugas Pekerjaan Rumah: Pelajaran 2

Daftar Isi:

2.1: Membuat dan Memulai Aktivitas

Membangun dan menjalankan aplikasi

Buka aplikasi HelloToast yang Anda buat pada pelajaran Membuat UI Interaktif Pertama Anda.

  1. Modifikasi tombol toast sehingga itu meluncurkan aktivitas baru untuk menampilkan kata "Hello!" dan penghitungan saat ini, seperti yang ditampilkan di bawah ini.
  2. Ubah teks pada tombol toast. Aplikasi HelloToast yang diperbarui (aktivitas utama dan aktivitas kedua)

Jawablah pertanyaan berikut

Pertanyaan 1

Apakah perintah menu yang Anda gunakan untuk menambahkan aktivitas baru ke dalam aplikasi?

Pertanyaan 2

Apa file yang ditambahkan ketika Anda menambahkan aktivitas baru yang disebut HelloActivity ke dalam aplikasi? Apa perubahan yang dibuat ke file yang sudah ada?

Pertanyaan 3

Apa metode konstruktor yang Anda gunakan untuk membuat maksud eksplisit yang baru?

  • new Intent()
  • new Intent(Context context, Class<?> class)
  • new Intent(String action, Uri uri)
  • new Intent(String action)

Pertanyaan 4

Bagaimana Anda menambahkan nilai hitungan saat ini ke dalam maksud?

  • Sebagai data maksud
  • Sebagai tindakan maksud
  • Sebagai ekstra maksud

Pertanyaan 5

Bagaimana Anda memperbarui hitungan di HelloActivity untuk menampilkan hitungan saat ini?

  • Mendapatkan maksud yang digunakan untuk meluncurkan aktivitas.
  • Mendapatkan nilai hitungan saat ini dari maksud.
  • Memperbarui tampilan teks untuk hitungan.
  • Semua hal di atas.

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • Aplikasi menampilkan tombol Hello sebagai ganti tombol Hello Toast.
  • HelloActivity dimulai ketika tombol Hello ditekan, dan aktivitas baru menampilkan pesan "Hello!" dan hitungan saat ini dari aktivitas utama.
  • File HelloActivity.java dan activity_hello.xml telah ditambahkan ke proyek.
  • File activity_hello.xml berisi dua objek tampilan teks, satu dengan string Hello! dan yang kedua dengan hitungan.
  • Aplikasi mencakup implementasi metode penangan klik untuk tombol Hello (di MainActivity).
  • Aplikasi mencakup implementasi metode onCreate() untuk HelloActivity dan memperbarui TextView hitungan dengan hitungan dari MainActivity.

2.2: Daur Hidup Aktivitas dan Mengelola Status

Membangun dan menjalankan aplikasi

  1. Membuat aplikasi dengan layout yang berisi penghitung, tombol untuk menaikkan hitungan, dan teks edit. Lihat tangkapan layar di bawah sebagai contoh. Anda tidak harus secara persis membuat duplikat layout.
  2. Tambahkan penangan klik untuk tombol yang menaikkan nilai penghitung.
  3. Jalankan aplikasi dan naikkan nilai penghitung. Masukkan beberapa teks ke dalam teks edit.
  4. Putar perangkat. Perhatikan bahwa penghitung akan disetel ulang, namun materi dari teks edit tidak.
  5. Implementasikan onSaveInstanceState() untuk menyimpan keadaan aplikasi saat ini.
  6. Perbarui onCreate() untuk memulihkan keadaan aplikasi.
  7. Putar perangkat dan pastikan bahwa keadaan aplikasi tetap dipertahankan. Aplikasi penghitung sederhana

Jawablah pertanyaan berikut

Pertanyaan 1

Bila Anda memutar perangkat (sebelum Anda mengimplementasikan onSaveInstanceState()), penghitung akan disetel ulang ke 0 namun materi dari teks edit tetap dipertahankan. Mengapa?

Pertanyaan 2

Apa metode daur hidup Aktivitas yang dipanggil ketika terjadi perubahan konfigurasi-perangkat (seperti rotasi) terjadi?

Pertanyaan 3

Kapan onSaveInstanceState() dipanggil dalam daur hidup aktivitas?

Pertanyaan 4

Mana yang merupakan tanda tangan metode yang tepat untuk onSaveInstanceState():

  • void onSaveInstanceState(Bundle outState)
  • void onSaveInstanceState()
  • void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState)

Pertanyaan 5

Apa perbedaan antara memulihkan status aktivitas dalam onCreate() dibandingkan dalam onRestoreInstanceState()?

Pertanyaan 6

Jika Anda menghentikan dan memulai ulang aplikasi, apa yang terjadi pada status Aktivitas?

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • Aplikasi menampilkan penghitung, tombol untuk menaikkan penghitung tersebut, dan sebuah teks edit.
  • Mengeklik tombol akan menaikkan penghitung sebesar 1.
  • Bila perangkat diputar, keadaan penghitung dan teks edit tetap dipertahankan.
  • Implementasi MainActivity.java menggunakan metode onSaveInstanceState() untuk menyimpan nilai penghitung.
  • Implementasi pengujian onCreate() untuk eksistensi bundel outState. Jika bundel tersebut ada, nilai penghitung akan dikembalikan dan disimpan ke tampilan teks.

2.3: Memulai Aktivitas dengan Maksud Implisit

Membangun dan menjalankan aplikasi

Buka aplikasi ImplicitIntents yang Anda buat dalam pelajaran Memulai Aktivitas dengan Maksud Implisit.

  1. Tambahkan tombol lain di bagian bawah layar.
  2. Ketika tombol diklik, luncurkan aplikasi kamera untuk mengambil gambar. (Anda tidak perlu mengembalikan gambar ke aplikasi asli.)
    Catatan: Jika Anda menggunakan emulator Android untuk menguji kamera, buka konfigurasi emulator di Android AVD manager, pilih Advanced Settings, kemudian pilih "Emulated" untuk kamera depan dan belakang. Mulai ulang emulator Anda jika dibutuhkan.

Tombol untuk meluncurkan aplikasi kamera

Jawablah pertanyaan berikut

Pertanyaan 1

Apa metode konstruktor yang Anda gunakan untuk membuat maksud implisit guna meluncurkan aplikasi kamera?

  • new Intent()
  • new Intent(Context context, Class<?> class)
  • new Intent(String action, Uri uri)
  • new Intent(String action)

Pertanyaan 2

Apa tindakan maksud yang Anda gunakan untuk meminta aplikasi kamera?

Mengirimkan aplikasi Anda untuk dinilai

Panduan untuk penilai

Pastikan aplikasi memiliki beberapa fitur berikut:

  • Aplikasi menampilkan tombol "Take a Picture" di bagian bawah aplikasi.
  • Ketika diklik, tombol meluncurkan aplikasi kamera pada perangkat.
  • Metode on click untuk tombol Take a Picture memastikan bahwa tersedia aplikasi pada perangkat (dengan metode resolveActivity() dan getPackageManager()) sebelum mengirim maksud.

results matching ""

    No results matching ""