美文网首页
Retrofit2.0的简单使用

Retrofit2.0的简单使用

作者: mercuryli | 来源:发表于2018-02-25 11:03 被阅读0次

Retrofit A type-safe HTTP client for Android and Java .

Retrofit 是Square公司开发的基于Android 的网络请求框架,Retrofit2是基于okhttp实现的。使用注解配置网络请求参数,支持RxJava,支持多种数据格式的解析,支持同步和异步的网络请求。

使用之前可以先看一下Retrofit官方教程以及Retrofit Github地址.

1.添加依赖

下载jar包引入或在gradle 文件中添加

compile 'com.squareup.retrofit2:retrofit:(insert latest version)'

记得要在Menifest.xml文件中添加网络权限 

<uses-permission android :name="android.permission.INTERNET" />

2.写result的实体类

public class AirResponse{

    Stringname;

    Stringpinyin;

    ......

}

3.写service接口

public interface TestService {

@GET("air/airCities")

CallgetAirResponse(@Query("key")String key);

}

4.创建retrofit实例

Retrofitretrofit=new Retrofit.Builder()

.baseUrl("http://web.juhe.cn:8080/environment/")  // baseurl 一定要以/结尾

        .addConverterFactory(GsonConverterFactory.create())  //  添加数据解析器用来处理result

        .build();

TestService service=retrofit.create(TestService.class);

Call responseCall=service.getAirResponse(key);

这里用到了GsonConverterFactory和gson 因此我们要添加如下依赖

compile'com.google.code.gson:gson:2.8.2'

compile'com.squareup.retrofit2:converter-gson:2.2.0'

5.发送异步或同步请求

// AirResponse response=responseCall.execute().body();//同步请求,不能在主线程中运行

//异步请求

responseCall.enqueue(new Callback() {

@Override

    public void onResponse(Call call, Response response) {

        if(response!=null){

                if(response.body().getResult()!=null){

                        textView.setText(""+response.body().getResult().size());

                }

       }

 }

@Override

    public void onFailure(Call call, Throwable t) {

        Toast.makeText(getApplicationContext(),t.getMessage().toString(),Toast.LENGTH_LONG).show();

    }

});

以上就是retrofit的简单使用

7.注解

Every method must have an HTTP annotation that provides the request method and relative URL. There are five built-in annotations: GET, POST, PUT, DELETE, and HEAD

每个方法都不许有http注解来支持请求方法和URL,有5种注解 GET, POST, PUT, DELETE, and HEAD

网络请求注解如下图所示

最常用的注解以及使用场景

最常用的注解以及使用场景

8.数据解析器

Gson: com.squareup.retrofit2:converter-gson

Jackson: com.squareup.retrofit2:converter-jackson

Moshi: com.squareup.retrofit2:converter-moshi

Protobuf: com.squareup.retrofit2:converter-protobuf

Wire: com.squareup.retrofit2:converter-wire

Simple XML: com.squareup.retrofit2:converter-simplexml

Scalars (primitives, boxed, and String): com.squareup.retrofit2:converter-scalars

支持多种数据格式,需要添加依赖

引用和参考:

Android Retrofit 2.0 的详细 使用攻略(含实例讲解)

相关文章

  • Retrofit+RxJava总结

    上次发布的文章Retrofit2.0+RxJava初步 简单介绍了Retrofit2.0与RxJava结合使用, ...

  • Retrofit2.0中注解使用套路

    个人博客地址 http://dandanlove.com/ 之前有讲过Retrofit2.0的简单使用和解析。最近...

  • Retrofit2.0的简单使用

    Retrofit A type-safeHTTP clientfor Android and Java . Ret...

  • Retrofit+Okhttp+Rxjava项目应用

    Retrofit出来之后,就曾学习过它的使用方法,也做过简单Demo。但是这次在项目中应用Retrofit2.0的...

  • Retrofit2.0的简单使用例子

    既然你已经想到了Retrofit,那么想必你也已经知道了OkHttp。Retrofit和OkHttp来自于同一家公...

  • Android网络之Retrofit2.0使用和解析

    个人博客地址 http://dandanlove.com/ Android网络之Retrofit2.0使用和解析 ...

  • Retrofit2的使用

    不怕跌倒,所以飞翔 参考文献:Retrofit2.0使用详解Retrofit 2.0 注解篇 1.Retrofit...

  • Retrofit2.0 使用

    一、搭建联网框架 使用Retrofit2搭建项目的网络请求框架之前,我们需要先导入相关的三方库 1、发起请求 Re...

  • Retrofit2.0使用

    Retrofit项目Github主页:点击打开链接 Retrofit项目官方文档 :点击打开链接 1.设置 (1...

  • Retrofit2.0项目中实践

    前言 项目中开始使用retrofit2.0作为网络框架,注解的形式使用起来确实简洁。2.0版本相比之前有了比较大的...

网友评论

      本文标题:Retrofit2.0的简单使用

      本文链接:https://www.haomeiwen.com/subject/aupttftx.html