深入解析开源项目之Retrofit(一)使用篇

珍惜作者劳动成果,如需转载,请注明出处。
http://blog.csdn.net/zhengzechuan91/article/details/50337883

Retrofit(Github地址)是square公司一套开源的http框架,简单易用,并且支持okhttp和RxJava,如果你不想为配置繁杂的http请求而写一套自己的网络请求框架,那么这套优雅的框架你不妨试试。

使用

先来说说这个框架的使用:

首先生成RestAdapter代理的接口RealService

RestAdapter adapter =   new RestAdapter.Builder()
        .setClient()
        .setEndpoint()
        .setRequestInterceptor()
        .setConverter()
        .setLogLevel(LogLevel.FULL)
        .build();

RealService real = adapter.create(RealService.class);

然后在接口RealService中定义:

  • 同步
public interface RealService {
   
    @GET("/info/")
    String getString(@Query("id") String id)
}

如果是上面这种没有callback的同步方式,则需注意在非UI线程中调用。

String id = "1";
String info = real.getString(id);
  • 异步
public interface RealService {
   
    @GET("/info")
    void getString(@Query("id") String id, 
        Callback<String> callback)
}

而如果参数中有callback的话,则可以直接在UI线程中调用,而返回值会通过callback返回。

String id = "1";
Callback<String> callback = new Callback() {
    void success(String var1, Response var2);

    void failure(RetrofitError var1);
}
real.getString(id, callback);

这样我们我获取到了API返回的数据,然后再根据这些数据做一些别的处理,使用是不是很简单呢?

上面我们看到参数、Url和请求方式都是通过注解的方式设置的,非常简单方便。

注解

首先来看一些注解的定义,这个在我们添加参数时还是很重要的:

作用于注解的注解

  • RestMethod
@Documented
//这个注解是用于注解上面的
@Target({ElementType.ANNOTATION_TYPE}) 
@Retention(RetentionPolicy.RUNTIME)
public @interface RestMethod {
   
    //请求方式
    String value();
    //是否有body
    boolean hasBody() default false;
}

作用于方法的注解

  • GET<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值