Course content

Latihan: Permintaan/Respons HTTP 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 HTTP request dan response serta cara membuat HTTP request di Kotlin menggunakan Ktor. Pada kegiatan ini, Anda akan berlatih membuat panggilan HTTP dan menangani responsnya. Ketika Anda menyelesaikan aktivitas ini, Anda akan dapat menulis kode yang membuat permintaan HTTP dan memproses respons yang sesuai. Hal ini akan memungkinkan Anda, dalam karier Anda sebagai pengembang Android, untuk mengembangkan aplikasi yang membaca konten dinamis dari web.

Skenario

Little Lemon ingin memastikan bahwa aplikasi mereka dapat membaca data dari API dengan benar sehingga mereka dapat melanjutkan untuk mengimplementasikan menu dinamis. Anda telah diminta untuk mengimplementasikan kode yang membaca konten dari endpoint API dan menampilkannya di layar.

Untuk berlatih membaca data melalui HTTP, Anda akan mengakses protokol data https:// . Anda akan membaca data dari endpoint tersebut dan menampilkannya di layar. Hal ini akan membantu Anda meyakinkan Little Lemon bahwa mereka memiliki kemampuan untuk membaca data dari endpoint API jarak jauh.

Langkah-langkah untuk membaca dan menyajikan data API

Anda dapat mengunduh kode awal untuk latihan ini dari file zip ini.

Download zip melalui link berikut : https://drive.google.com/file/d/1hlKHKO6rFk2ilRSF29T2nYaLm9PuoeN5/view?usp=sharing

  1. Mulailah dengan mengekstrak file ZIP yang berisi proyek awal dan buka proyek tersebut di Android Studio.
  2. Di AndroidManifest.xml, tambahkan izin android.permission.INTERNET untuk mengizinkan aplikasi melakukan panggilan jaringan.
  3. Di aplikasi build.gradle, tambahkan ketergantungan pada Ktor: io.ktor:ktor-client-android:2.1.3.
  4. Di MainActivity, tambahkan bidang responseLiveData pribadi. Atur ke instance MutableLiveData dengan menyimpan data String .
  5. Di MainActivity, tambahkan bidang httpClient pribadi. Atur ke instans HttpClient dengan mesin Android .
  6. Selanjutnya, buat fungsi fetchContent yang ditangguhkan secara pribadi.
  7. Di dalam fetchContent, kembalikan String hasil dari pemanggilan get pada httpClient dengan “https://raw.githubusercontent.com/Meta-Mobile-Developer-PC/Working-With-Data-API/main/littleLemonMenu.json” sebagai URL.
  8. Di dalam Surface , definisikan variabel responseState dan amati nilai responseLiveData dari state as .
  9. Perbarui lambda yang diteruskan ke pemanggilan onClick dari tombol Download : tambahkan blok lifecycleScope.launch untuk meluncurkan coroutine.
  10. Di dalam blok lifecycle scope.launch , buatlah variabel response dan tetapkan hasil pemanggilan metode fetchContent ke variabel tersebut.
  11. Di bawah variabel response , buatlah blok runOnUiThread dan tetapkan response ke nilai responseLiveData di dalam blok ini.
  12. Di dalam Column Composable buat Text Composable. baru, ubah responseState menjadi String dan tetapkan ke Text Composable sebagai text parameter.
  13. Jalankan aplikasi, klik tombol Download dan pastikan Anda melihat respons JSON di layar.

Petunjuk: Gunakan metode bodyAsText untuk mendapatkan respons String dari respons httpClient .

Kesimpulan

Dengan menyelesaikan latihan ini, Anda telah menunjukkan kemampuan Anda untuk membuat permintaan HTTP dan membaca responsnya. Ini adalah keterampilan yang penting karena ada tren pengembangan yang terus berlanjut untuk mengambil data dari sumber di luar perangkat aplikasi.

Rating
0 0

There are no comments for now.

to be the first to leave a comment.