这个网上讲的很多,也都很详细,这里我就浅谈一下Retrofit.为了更好地能让大家上手,我们一步一步的来:
1.在gradle脚本中添加:
compile ‘com.squareup.retrofit:converter-gson:2.0.0-beta2’
2.将http api转化为java接口
public interface GitInfoApi {
@FormUrlEncoded
@POST("/convenience.html")
Call<ConverVo>getNewsParams(
@Query("appId") String appId,
@Query("sessionId") String sessionId,
@Field("token") String token);
}
不要被什么@符号迷惑,感觉看起来好困难,其实你就把它当做一个标识,就行了。
3.具体的实现:
这样就行了,其实,就这么简单:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Retrofit retrofit=new Retrofit.Builder().baseUrl("http://222.180.239.90:38083")
.addConverterFactory(GsonConverterFactory.create())
.build();
GitInfoApi gitInfoApi= retrofit.create(GitInfoApi.class);
Call<ConverVo> call=gitInfoApi.getNewsParams("41","","");
call.enqueue(new Callback<ConverVo>() {
@Override
public void onResponse(retrofit.Response<ConverVo> response, Retrofit retrofit) {
System.out.println("========"+response.body().getData().getDataList().get(0).getName());
}
@Override
public void onFailure(Throwable t) {
System.out.println("==============="+t.toString());
}
});
}
}
上面ConverVo是联网成功后,返回的JSON数据对应的一个Bean实体。其实,熟悉OkHttp的话就会发现,何其相似,其实都是square提供的开源框架。
下面我们就来讲讲:
Android Retrofit网络请求@Path、@Query、@QueryMap、@Field,@FieldMap ,@Body的使用,链接地址如下:
http://blog.csdn.net/jdsjlzx/article/details/51607867
最后,当然是Demo链接:
http://download.csdn.net/detail/jimtrency/9678729