Retrofit封装网络请求框架 2017-11-09
·
大约 300 个字
·
预计 1
分钟 读完
Retrofit A type-safe HTTP client for Android and Java
适用于Java和Android的安全的HTTP客户端
Retrofit是一个RESTful的可用于Android和Java的HTTP网络请求框架的封装,使用它可以简化我们的网络操作,提高效率和正确率。它将请求过程和底层代码封装起来只暴露我们业务中的请求和返回数据模型。
值得注意的是,Retrofit并不是完成了网络请求,而是对网络请求框架Okhttp的封装,在Retrofit 2.0开始内置了Okhttp.
开始使用Retrofit,引入依赖:
1
compile 'com.squareup.retrofit2:retrofit:2.0.2'
定义一个Service接口并定义listRepos()
请求。
1
2
3
4
public interface GitHubService {
@GET( "users/{user}/repos" )
Call< List< Repo>> listRepos ( @Path( "user" ) String user);
}
这是一个Retrofit将Rest API(服务端post或get请求)转换为Java接口的例子
每一个由接口返回的Call对象都可以与远程web服务端进行同步或者异步的HTTP请求通信。例如:
1
Call< List< Repo>> repos = service. listRepos ( "octocat" );
Service接口有了,接下来就是初始化(构造)Retrofit:
1
2
3
4
Retrofit retrofit = new Retrofit. Builder ()
. baseUrl ( "https://api.github.com/" )
. build ();
GitHubService service = retrofit. create ( GitHubService. class );
为什么选择Retrofit AsyncTask ,Volley和Retrofit的对比
One Discussion Dashboard( 7 request ) 25 Discussions AsyncTask 941ms 4539ms 13957ms Volley 560ms 2202ms 4275ms Retrofit 312ms 889ms 1059ms
阅读更多