retrofit基本上时目前最好用的网络框架了,他的效率远远高于xutils,volley等一些框架,
用法:
1.你需要写一个接口来存放retrolfit请求所需要的方法,如下,
请求的方法会返回一个Call,Call后面的泛型时你解析返回的json的实体类,
注解的get是请求的方式,get后的api时请求的路径。
这样一个简单的接口就写好了
TakeoutInterface { (Api.) Call<ResponseInfo> ()}
2.接口写好了,现在还不能用,我们需要初始化:
如下初始化retrofit,
我们起码需要配置请求的主机地址,配置解析数据的解析工具,比如gson,
最后调用build来初始化,但是还是不能使用,因为我们要把刚才创建的请求接口配置给build,不然人家怎么知道具体干什们,怎们请求,请求神门东西,
调用
sTakeoutInterface = build.create(TakeoutInterface.class);
这句话就可以了
HttpUtils { TakeoutInterface TakeoutInterface () { (== ) { Retrofit build = Retrofit.Builder() .baseUrl(Api.) .addConverterFactory(GsonConverterFactory.(Gson())) .build()= build.create(TakeoutInterface.)} { } }
3.然后就可以在我们的类中使用了,如下
TakeoutInterface http = HttpUtils.()Call<ResponseInfo> call = http.getHomeDate()call.enqueue(Callback<ResponseInfo>() { (Call<ResponseInfo> callResponse<ResponseInfo> response) { Toast.(MainActivity.response.body().toString()Toast.).show()} (Call<ResponseInfo> callThrowable t) { Toast.(MainActivity.t.toString()Toast.).show()} })}
最后时我们需要添加的依赖:
compile compile compile
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。