1.引入遠程依賴:包括okhttp;retrofit2;retrofit的GSON解析器java
compile'com.squareup.okhttp3:okhttp:3.2.0' compile'com.squareup.retrofit2:retrofit:2.0.2' compile'com.squareup.retrofit2:converter-gson:2.0.2'
2.初始化okhttpclient(能夠設置更多的okhttp參數):git
OkHttpClient client=new OkHttpClient();
若沒有初始化okhttp,retrofit默認也是使用okhttp的github
3.建立Retrofitapi
Retrofit retrofit=new Retrofit.Builder() //設置OKHttpClient .client(client) //設置baseUrl,注意,baseUrl必須後綴"/" .baseUrl("http://api.1396app.com/") //添加Gson轉換器 .addConverterFactory(GsonConverterFactory.create()) .build();
4.建立請求服務接口(一個HTTPGET請求)網絡
public interface GitHubAPI{ @GET("api/app/version")//這裏是跟在baseurl後面的,拼接起來完整的url=http://api.1396app.com/api/app/version Call<AppEntity> retrofitGet(@Query("id") String id); }
說明:@GET:聲明爲HTTPGET訪問方式;@GET()裏面是訪問的url,是跟baseurl合在一塊兒的;AppEntity是一個javabean,存放改接口放回的數據;@Query是Get請求的一種方式;@Query("id"),id是傳入的參數;後面String id,id是參數值。
那麼拼起來完整的URL=http://api.1396app.com/api/app/version?id=203(@Query表示了?pargram=203 ,這種Get請求方式)app
5.在Acitivity中進行網絡請求ide
GitHubAPI gitHubAPI=retrofit.create(GitHubAPI.class); private void httpGet(GitHubAPI gitHubAPI){ Call<AppEntity> httpGet=gitHubAPI.retrofitGet("592"); httpGet.enqueue(new Callback<AppEntity>(){ @Override public void onResponse(Call<AppEntity> call,Response<AppEntity> response){ AppEntity appEntity=response.body(); Log.e("MainActivity",response.toString()); } @Override public void onFailure(Call<AppEntity>call,Throwablet){ Log.e("MainActivity","false"); } }); }
更多:還在繼續學習學習
Retrofit項目主頁: http://square.github.io/retrofit/?spm=5176.100239.blogcont26705.4.HvebZh#introductionui
Retrofit2 徹底解析 探索與okhttp之間的關係:http://blog.csdn.net/lmj623565791/article/details/51304204url