Retrofit adalah library REST client untuk Android yang mengubah API endpoint kalian menjadi sebuah Java interface API service. Pada awal pembelajaran memang terlihat kompleks, namun jika kalian sudah terbiasa pasti kalian akan sadar kegunaan dari Retrofit dan fleksibilitasnya yang memudahkan kita untuk membuat custom service sesuai yang kita inginkan. Retrofit sudah terkenal dan banyak digunakan di aplikasi-aplikasi Android yang populer.
Pertama buat project baru dengan nama Retrofit, lalu buka buka.gradle , tambahkan kode berikut di dependencies nya
Library converter-gson digunakan untuk mengkonversi JSON menjadi Java object, sedangan GSON sendiri adalah library JSON parser yang dikeluarkan oleh Google.
Kita bisa mengecek JSON dari randomuser.me di https://randomuser.me/api. Kita hanya akan menggunakan data �info� yang ada pada JSON tersebut. Selanjutnya, kalian bisa berkunjung ke http://www.jsonschema2pojo.org/ untuk mengkonversi data dari JSON ke POJO (Plain Old Java Object.
Caranya, copy-pastekan JSON berikut :
{
"info": {
"seed": "d59828ae73afb7e7",
"results": 1,
"page": 1,
"version": "1.0"
}}
Lalu klik preview yang ada dibawah
Copykan file tersebut dan buat class baru , nama nya disesuaikan
Info.java
Result.java
MainActivity.java
Penjelasan :
private void initializeRetrofit(){
retrofit = new Retrofit.Builder()
.baseUrl("https://randomuser.me/")
.addConverterFactory(GsonConverterFactory.create())
.build();
}
Method diatas adalah untuk menginisialisasi kan library retrofit dan mengambil url nya
RetrofitAPIEndPointInterface.java
Anotasi @GET, berarti kita akan melakukan GET Request ke URL tersebut. Ada dua fungsi pada kode di atas jika kalian perhatikan, yaitu fungsi dengan balikan Result (getResultInfo()), dan fungsi kedua dengan balikan ResponseBody (getResultAsJSON()).
ResponseBody adalah kelas bawaan dari Retrofit. Fungsi dengan balikan ResponseBody digunakan apabila kalian ingin mendapatkan balikan berupa JSON mentah dari web service. Hal ini berguna apabila kalian belum sempat membuat model/java object untuk JSON kalian.
Sedangkan apabila kalian sudah membuat Java object / model dari JSON yang akan kalian dapat, maka kalian bisa langsung memasukkan model kalian ke dalam Call<T>, seperti contoh di fungsi pertama, getResultInfo().
Layout
Activity_main.xmlConten_main.xml
Terakhir tambahin di AndroidManifest nya supaya bias terkoneksi ke internet
<uses-permission
android:name="android.permission.INTERNET"
/>
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :