TUGAS 7.2

Mengirimkan permintaan API Books. Buka Google API Explorer dan klik Books API

CTRL+F dan tulis books.volume.list. Lalu klik dan isi seperti berikut

Pastikan switch ‘authorize request using OAuth 2.0 di bagian kanan atas dinonaktifkan. Lalu klik Execute dan gulir ke bawah untuk melihat respons

Buat project baru bernama Who Wrote It? Dan lakukan kodingan dibawah untuk membuat layout aplikasi

Pada MainActivityjava, buat variabel untuk editText, TextView penulis dan judul. Lalu dalam metode searchBooks() buatlah kodingan seperti di bawah

Buat kelas java baru bernama FetchBook dan tulis kodingan di bawah untuk memiliki akses ke textView pada AsyncTask

Untuk membuat kelas NetworkUtils dan membangun URI, tambahakn kodingan di bawah pada fetchBooks.java

Dan untuk membuat permintaan API melalui internet, tambahkan kodingan di bawah pada lokasi yang sama

Untuk menambahkan izin internet, tambahkan kodingan berikut pada androidManifest.xml

Parse string JSON fungsinya untuk mengekstrak informasinya yang igin ditampilkan dalam UI. Lakukan kodingan seperti berikut

Untuk menyembunyikan keyboard agar tak menganggu pengguna dan memperbarui textView, tambahkan kode berikut ke metode searchBooks() di MainActivity.java

Lalu, untuk mengelola status jaringan dan kasus bidang penelusuran kosong jikalau koneksi jaringan tak tersedia, lakukan kodingan berikut agar aplikasi dapat memeriksa apakah jaringan dalam AsyncTask tersedia atau tidak

Jika berhasil, maka tampilan aplikasi akan terlihat seperti berikut

Buat projeck baru bernama Who Wrote it Loader. Agar lebih mudah, copy paste proyek Who Wrote it pada proyect baru ini. Tambahkan implementasi LoaderManager.LoaderCallBacks di MainActivity.java

Implementasikan onCreateLoader() dengan menambahkan kodingan berikut di mainActivity.java

Pastikan kodingan implementasi onLoadFinished() sudah dibuat

Tambahkan kode berikut di onCreate() untuk menghubungkan ulang ke Loader jika sudah ada. LoaderManager sekarang mempertahankan data di semua konfigurasi perangkat

Leave a Reply

Your email address will not be published. Required fields are marked *