Retrofit——简介

来源:互联网 发布:腓骨长肌腱滑脱 知乎 编辑:程序博客网 时间:2024/05/29 16:31

实下,当前开发app,网络框架已经不再是AsyncTask、Volley。很多开发者开始用Retrofit、OKHttp等。我们要跟上技术潮流。

笔者本着边学习边分享的态度,开始讲Retrofit,哪里讲的不对,大家多多指导。


今天讲Retrofit的简介,入门章节。

Retrofit,音标['rɛtrofɪt],中文含义是改进、更新、式样翻新。

Retrofit技术是网络请求框架,它的slogan是“A type-safe HTTP client for Android and Java”,意思是一种为Android和Java提供的类型安全的HTTP Client。

我们知道,通常的网络请求,要求框架满足从app端向服务端发送HTTP网络请求,然后获得服务端返回的数据结果,并解析。在这个基础上,要再满足带参数,满足GET、POST等方式,返回的可以使Json个是,可以使Xml格式。返回的Json或Xml最好能够直接解析成实体类对象。还包括处理通用的返回结构,通常是errno、errmsg、data。还有网络错误的情况的处理。

我们通过代码看看,Retrofit是如何实现这个过程的。

步骤1:

Retrofit把HTTP请求以interface的形式表达出来,你需要在你的工程中写上下面的接口,来表示一个和服务端的网络请求。

public interface GitHubService {  @GET("users/{user}/repos")  Call<List<Repo>> listRepos(@Path("user") String user);}

步骤2:

Retrofit框架会帮你生成一个实现这个接口的类,你可以调用Retrofit.java这个类的相关接口完成这个工作。

Retrofit retrofit = new Retrofit.Builder()    .baseUrl("https://api.github.com/")    .build();GitHubService service = retrofit.create(GitHubService.class);


步骤3:

在步骤1中产生的每个Call,都可以向服务端发送一个同步或异步的HTTP请求。

Call<List<Repo>> repos = service.listRepos("octocat");

下面,我们大概说一下Retrofit的特点:

  • 使用注解(annotation)来描述HTTP请求,如上面的描述Get、Post请求类型,参数等;
  • 方便的URL参数替换方式和查询参数的支持;
  • 返回结果转换为对象,支持JSON、protocol buffers等格式;
  • 支持多部分请求体和文件上传;

今天先讲到这里,下一节我们具体讲API定义。



原创粉丝点击