Quantcast
Channel: Java, Android, Virtual, Social, International, and News
Viewing all articles
Browse latest Browse all 2972

Tutorial Belajar Menggunakan Retrofit 2 di Android (HTTP GET Primary)

$
0
0

Halo semua. 😀 Kali ini kita akan belajar untuk melakukan permintaan jaringan HTTP (SISA API) menggunakan Retrofit 2 di Android. Awalnya kita akan belajar menggunakan HTTP GET pertama, sederhana, sederhana dan tanpa parameter :). Kita hanya perlu untuk menembak URL. Sementara JSON knowledge penggunaan sehari-hari diambil dari randomuser.me, layanan net yang menyediakan JSON API free of charge.

Sebelum kita beralih ke cara menggunakan Retrofit 2 untuk SISA API, yang ada yang tidak tahu tentang Retrofit? Retrofit adalah library shopper untuk Android SISA API endpoint adalah mengubah Anda menjadi Java layanan antarmuka API. Pada awal pembelajaran memang terlihat rumit, tetapi jika Anda sudah terbiasa pasti Anda akan menyadari kegunaan Retrofit dan fleksibilitas yang memungkinkan kita untuk membuat layanan kustom seperti yang kita inginkan. Retrofit sudah terkenal dan banyak digunakan aplikasi Android yang populer.

Pra-syarat

  • Membuat Venture Baru Android di Android Studio

Android SISA API klien menggunakan Retrofit

Pertama-tama , membuat Android dalam proyek Android Studio. Setelah itu, meningkatkan dependensi seperti berikut di construct.gradle proyek Anda:

 kompilasi 'com.google.code.gson: gson: 2.6.2' kompilasi 'com.squareup. retrofit2: retrofit: 2.zero.2 'kompilasi' com.squareup.retrofit2: converter-gson: 2.zero.2 '

Perpustakaan-gson converter digunakan untuk mengkonversi JSON ke objek Java, sedangan Gson sendiri JSON parser perpustakaan dirilis oleh Google.

Jika Anda memiliki, Anda dapat memeriksa knowledge JSON dari randomuser.me di hyperlink ini. Untuk keperluan tutorial ini, kita hanya akan menggunakan knowledge “Information” yang ada di JSON tersebut. Selanjutnya, Anda dapat menggunakan hyperlink ini untuk mengkonversi knowledge dari JSON ke Object POJO (Plain Previous Java Caranya, copy-paste JSON berikut:.

  "Information":  "Benih": "d59828ae73afb7e7" "Hasil": 1, "Halaman": 1, "Versi": "1.zero" 

ke JSON Converter sebelumnya, dan pilih Sumber Fashion = JSON, dan Anotasi Fashion = Gson, lalu klik> Preview. Anda akan mendapatkan knowledge dalam bentuk dua mannequin yang Java POJO (Information & Hasil) seperti berikut:

Information.java

 id.net.twoh.retrofitsample paket MODEL;. / ** * Dibuat oleh Hafiz Herdi di 2016/01/05 * /com.google.gson.annotations.Expose impor; com.google.gson.annotations.SerializedName impor; public class Information [email protected] ( "benih") @Expose benih swasta String; @SerializedName ( "hasil") @Expose hasil Integer swasta; @SerializedName ( "halaman") halaman pribadi @Expose Integer; @SerializedName ( "versi") @Expose versi personal String; / ** * * @ return * benih * / public String getSeed () benih kembali;  / ** * * @ Param Seed * Benih * / public void setSeed (String biji) this.seed = benih;  / ** * * @ Return * Hasil * / getResults Integer () hasil pulang publik;  / ** * * @ Param Hasil * Hasil * / kekosongan setResults umum (hasil Integer) this.outcomes = hasil;  / ** * * @ Return * Halaman * / getPage Integer () web page pulang publik;  / ** * * @ Param Halaman * Halaman * / public void setPage (Integer halaman) this.web page = halaman;  / ** * * @ Return * Versi * / public String getVersion () versi pulang;  / ** * * @ Param Model * Versi * / public void setVersion (versi String) this.model = versi;  

End result.java

 paket id.net.twoh.retrofitsample.mannequin; / ** * Dibuat oleh Hafiz Herdi di 2016/01/05. * /com.google.gson.annotations.Expose Impor; com.google.gson.annotations.SerializedName impor; public class Hasil [email protected] ( "Information") @Expose Information informasi pribadi; / ** * * @ Return * Informasi * / public getInfo Information () kembali informasi;  / ** * * Informasi @param * Informasi * / public void setInfo (Information Information) this.information = informasi;  

Kode di atas akan digunakan sebagai mannequin dalam aplikasi ini.

Setelah itu Anda perlu mendefinisikan foundation URL dari layanan net Anda, dalam hal ini URL dasar adalah sebagai berikut:

 public static ultimate String BASE_API_URL = "https: //randomuser.me/";

Kemudian, metode onCreate () di MainActivity.java Anda juga dapat menginisialisasi Retrofit perpustakaan seperti ini:

 personal void initializeRetrofit ( ) retrofit retrofit = Retrofit.Builder baru () .baseUrl (Const.BASE_API_URL) .addConverterFactory (GsonConverterFactory.create ()) .construct ();  

Pada kode di atas kita menggunakan GsonConverterFactory karena knowledge yang diperoleh dari layanan net dalam bentuk JSON, yang kemudian akan diubah menjadi Object Java.

Membuat Retrofit2 Antarmuka API Service

Selanjutnya kita akan membuat sebuah Layanan API antarmuka, yang akan memetakan jalan endpoint yang ada pada layanan net. Karena hari ini hanya ada satu titik akhir dalam bentuk / kebakaran, maka kita hanya akan membuat fungsi untuk mengambil knowledge dari endpoint.

 id.net.twoh.retrofitsample.api paket; id.net.twoh.retrofitsample.mannequin.Outcome impor; okhttp3.ResponseBody impor; retrofit2.Name impor; retrofit2.http.GET impor; / ** * Dibuat oleh Hafiz Herdi di 2016/05/15. * / Public antarmuka UserAPIService [email protected] ( "Api") Name  getResultInfo (); @GET ( "Api") Panggilan  getResultAsJSON (); 

Anotasi @GET, berarti bahwa kita akan melakukan permintaan GET ke URL. Ada dua fungsi dalam kode di atas jika Anda perhatikan, bahwa fungsi dari Hasil terbalik ( getResultInfo () ), dan fungsi kedua dengan umpan balik ResponseBody ( getResultAsJSON () ). ResponseBody kelas bawaan Retrofit. Fungsi dengan umpan balik ResponseBody digunakan jika Anda ingin mendapatkan umpan balik dalam bentuk layanan net baku JSON. Hal ini berguna jika Anda tidak punya waktu untuk membuat mannequin / java object JSON untuk Anda.

Sementara itu, jika Anda sudah membuat objek Java / mannequin JSON Anda akan menjadi, maka Anda bisa langsung memasukkan mannequin Anda ke Panggilan , seperti contoh dalam fungsi pertama, getResultInfo () .

Oke, Retrofit sudah diinisialisasi, antarmuka API juga telah dibuat. Langkah selanjutnya adalah kita mencoba untuk menembak layanan net langsung menggunakan Retrofit. Dalam tutorial ini, ada dua cara untuk menembak ke layanan net.

Mendapatkan umpan balik dalam bentuk Java Object Mannequin dari Retrofit Android

Cara pertama adalah jika Anda ingin mendapatkan hasil seperti mannequin java object. Hal ini membuat mudah sehingga Anda tidak perlu parsing JSON 1-1 dalam mannequin objek Anda. Kami menggunakan fungsi Name.enqueue () sehingga menembak ke jaringan dapat dilakukan dalam asynchronous :

 UserAPIService apiService = retrofit.create (UserAPIService.class) ; Sebut  hasil = apiService.getResultInfo (); end result.enqueue (Callback baru  () @ Override public void onResponse (Panggilan  panggilan, Response  respon) attempt Toast.makeText (MainActivity.this, "versi respon" + response.physique ( ..) GetInfo () GetVersion () + " n respon benih" + response.physique () GetInfo () GetSeed (), Toast LENGTH_SHORT) .present ();... System.out.println ( "versi respon output "+ response.physique () GetInfo () GetVersion ());.. System.out.println (" benih respon output "+ response.physique () GetInfo () GetSeed ());.. Catch (Exception e) e.printStackTrace (); @ Override public void onFailure (name  panggilan, Throwable t) t.printStackTrace ();); 

Mendapatkan umpan balik dalam bentuk knowledge mentah JSON dari Retrofit Android

Sedangkan metode kedua digunakan ketika Anda belum membuat mannequin objek java parsing JSON ingin Anda. Sehingga cara kedua Anda bisa mendapatkan umpan balik dalam bentuk knowledge JSON mentah yang Anda dapat memiliki jika mereka senang.

 UserAPIService apiService = retrofit.create (UserAPIService.class); Sebut  hasil = apiService.getResultAsJSON (); end result.enqueue (Callback baru  () @ Override public void onResponse (Panggilan  panggilan, Response  respon) attempt Toast.makeText (MainActivity.this, "versi respon" + response.physique ( ), tali (), Toast.LENGTH_SHORT) .present (); Catch (Exception e) e.printStackTrace (); @ Override kekosongan onFailure publik (name  panggilan, Throwable t) t.printStackTrace ( );); 

Jangan lupa tambahkan izin berikut di Manifest sehingga Retrofit dapat terhubung ke Web.

 

Itu saja. Sekarang kita mengkompilasi dan mencoba untuk menjalankan demo.

Demo

Berikut adalah ketika kita menjalankan fungsi pertama, yang secara otomatis mem-parsing knowledge JSON ke dalam mannequin java object. Nilai yang muncul di Toast berasal dari getter yang ada di mannequin java.

Retrofit Android Model Android Retrofit Mannequin

Sementara itu, jika kita memilih mendapatkan JSON, maka kita akan mendapatkan umpan balik dalam bentuk knowledge JSON mentah yang belum diurai ke objek java. Seperti di bawah ini:

Retrofit Android JSON Retrofit Android JSON

Oke guys, semoga membantu! Untuk kode sumber lengkap Anda dapat melihat langsung di GitHub saya. Jangan lupa untuk mengikuti dan proyek bintangnya ya, silakan komentar jika ada yang kurang dipahami. 🙂

Pos Tutorial Belajar Menggunakan Retrofit 2 dari Android (HTTP GET Dasar) Muncul di Mesin pertama TWOH ini.

author

Source link


Viewing all articles
Browse latest Browse all 2972

Trending Articles