Course content

Latihan: Mengurai data di Kotlin

Click on the "Edit" button in the top corner of the screen to edit your slide content.

Gambaran Umum

Sebelumnya Anda telah mempelajari tentang library ktor dan cara mem-parsing data JSON menjadi objek Kotlin. Pada aktivitas ini, Anda akan berlatih memuat data dari URL jarak jauh dan menguraikannya. Ketika Anda menyelesaikan aktivitas ini, Anda akan dapat membuat kode yang mengubah string JSON menjadi objek Kotlin. Hal ini akan memungkinkan Anda, dalam karier Anda sebagai pengembang Android, untuk mengembangkan aplikasi yang memuat data dari server jarak jauh.

Skenario

Adrian mengelola restoran Little Lemon. Untuk menampilkan menu restoran, dia ingin aplikasi Little Lemon melakukan panggilan HTTP untuk mengambil data yang dibutuhkan dari server. Anda telah diminta untuk mengimplementasikan kode yang mengambil data dari server dan menampilkannya di layar.untuk berlatih membaca data dari URL jarak jauh, Anda akan membuat dan menggunakan pustaka Ktor dengan serialisasi JSON. Ketika aplikasi dijalankan, aplikasi akan mulai mengambil data dari URL jarak jauh.setelah data diambil, Anda akan mengonversinya menjadi objek Kotlin dan menampilkannya di layar. Ini akan membantu Anda meyakinkan Little Lemon bahwa mereka memiliki kemampuan untuk memuat data eksternal.

Petunjuk

Langkah 1: Unduh aplikasi pengeditan menu

Mulailah dengan mengunduh dan membuka ritsleting proyek awal dalam file Zip di bawah ini. Buka proyek di Android Studio. Jika Anda menjalankan proyek, Anda akan melihat layar kosong.

Download file melalui link berikut :  https://drive.google.com/file/d/1pzfwgmXX9diLOp-jC9_8AIow-Cuao2BF/view?usp=sharing

Langkah 2: Tambahkan dependensi Ktor ke Gradle

Buka file aplikasi build.gradle dan tambahkan dependensi Ktor ke dalamnya. Ini termasuk

  • ktor-client-core,
  • ktor-client-android,
  • dan ktor-client-content-negotiation.
implementation "io.ktor:ktor-client-core:2.1.3"
implementation "io.ktor:ktor-client-android:2.1.3"
implementation "io.ktor:ktor-client-content-negotiation:2.1.3" 

Ini akan memberikan akses ke pustaka Ktor kepada proyek.

Langkah 3: Membuat HttpClient

  • Di MainActivity, tambahkan bidang client pribadi. Atur ke instance Ktor HttpClient . Instal 'ContentNegotiation' yang memanggil fungsi json untuk menambahkan dukungan untuk pemrosesan JSON. Berikan argumen - "text" sebagai tipe konten dan "plain" sebagai subtipe konten.

Langkah 4: Tentukan menuItemsLiveData

  • Buat variabel `menuItemsLiveData` dan inisialisasi dengan MutableLiveData yang diparameterkan dengan daftar String.

Langkah 5: Tentukan metode getMenumethod

  • Buat fungsi 'suspended' bernama 'getMenu' di dalam kelas 'MainActivity'. Buat private dan atur untuk mengharapkan string 'category' dan kembalikan daftar string ‘menu item name’.
  • Di dalam tanda kurung kurawal, deklarasikan sebuah variabel bernama `response` bertipe `Map` dengan kunci string dan nilai `MenuCategory`. Ini akan menampung respons dari fungsi 'get'.
  • Sekarang untuk mengoper URL "https://raw.githubusercontent.com/Meta-Mobile-Developer-PC/Working-With-Data-API/main/littleLemonMenu.json" untuk menu Little Lemon ke fungsi 'get'.
  • Panggil fungsi 'body' untuk mendapatkan ‘response body’ untuk mendapatkan item yang diuraikan.
  • Kembalikan item yang diambil dari 'response' dengan menggunakan tombol kategori atau daftar kosong jika item pada tombol ini kosong.

Langkah 6: Mengambil item menu dari jaringan

  • Di bagian atas fungsi 'onCreate' tetapkan variabel 'menuItems' dan tetapkan pemanggilan metode 'getMenu' dengan argumen "Salad". Ingatlah bahwa 'getMenu' harus dipanggil dari dalam lingkup co-routine.
  • Tetapkan 'menuItems' ke nilai 'menuItemsLiveData'. Perhatikan bahwa penugasan ini harus dilakukan pada thread utama.

Langkah 7: Menampilkan item menu

  • Di dalam Colum composable, definisikan variabel items dan tetapkan nilainya ke observed state dari `menuItemsLiveData`. Gunakan empty list sebagai nilai status default.
  • Buatlah 'MenuItems' yang dapat dikomposisikan dan berikan nilai items sebagai argumen.

Kesimpulan

Dengan menyelesaikan latihan ini, Anda telah menunjukkan kemampuan Anda untuk membaca data dari sumber data eksternal dan mengubahnya menjadi objek Kotlin. Bekerja dengan sumber data eksternal adalah keterampilan pengembang yang penting karena ada banyak kesempatan ketika Anda perlu mengambil data dari server jarak jauh, seperti daftar item menu, preferensi pengguna, konfigurasi aplikasi, dan lain sebagainya

Rating
0 0

There are no comments for now.

to be the first to leave a comment.