android retrofit的基本使用

原创 2016年08月29日 22:56:25

本文记录一下基本的retrofit使用,入门级别的.

首先在项目下依赖

compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'

############################   get请求   ################################

//请求实体<pre name="code" class="java">public class Repo {

    public String login;
    public int contributions;

    public Repo(String login, int contributions) {
        this.login = login;
        this.contributions = contributions;
    }

}


//业务接口
public interface APIService {

    @GET("/repos/square/retrofit/contributors")
    Call<List<Repo>> loadRepo();

}
//测试类
public class TestRetrofit1 {
    public static final String API_URL = "https://api.github.com";


    public static void main(String[] args) throws IOException {

        Retrofit mRetrofit = new Retrofit.Builder()
                .baseUrl(API_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        APIService service = mRetrofit.create(APIService.class);

        Call<List<Repo>> repoCall = service.loadRepo();
        /*
        下面表示同步请求,需要写到一个线程中
        List<Repo> mRepo = repoCall.execute().body();
        for (int i = 0; i < mRepo.size(); i++) {
            System.out.println(""+mRepo.get(i).login);
        }*/
        /***
         * 下边为异步请求
         */
        repoCall.enqueue(new Callback<List<Repo>>() {
            @Override
            public void onResponse(Call<List<Repo>> call, Response<List<Repo>> response) {
                if(response.isSuccessful()){
                    List<Repo> mRepo = response.body();
                    if(mRepo != null && !mRepo.isEmpty()){
                        for (int i = 0; i < mRepo.size(); i++) {
                            System.out.println(""+mRepo.get(i).login);
                        }
                    }
                }
            }

            @Override
            public void onFailure(Call<List<Repo>> call, Throwable t) {

            }
        });
    }
}

另外需要注意:


       (1)当请求参数是在链接后面的时候
       http://api.douban.com/v2/movie/top250?start=5&count=20
       业务bean需要这样写
        
@GET("/v2/movie/top250")
        Call<MovieRespBase> loadMovieData(
             @Query("start")int start,
             @Query("count")int count
        );

(2)当请求链接是动态的时候
       https://api.github.com/repos/square/retrofit/contributors 
       业务bean需要这样写
@GET("/repos/{square}/{retrofit}/contributors")
    Call<List<Repo>> loadRepo(
            @Path("square")String square,
            @Path("retrofit")String retrofit
    );

附上一个链接
http://wuxiaolong.me/2016/01/15/retrofit/


还有一篇讲的很详细的注解

http://blog.csdn.net/guiman/article/details/51480497

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android应用架构之Retrofit使用

Retrofit:Square提供的开源产品,为Android平台的应用提供一个类型安全的REST客户端         https://github.com/square/retrofit Rx...
  • liuhongwei123888
  • liuhongwei123888
  • 2015年12月21日 23:42
  • 96576

Android网络编程(九)Retrofit2前篇[基本使用]

Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,而OkHttp现在已经得到Google官方认可,不了解OKHttp的请查看本...
  • itachi85
  • itachi85
  • 2016年09月11日 17:37
  • 6603

Retrofit的使用,及介绍,Retrofit中的各种方法的详细描述简单案例,三分钟学会Retrofit

Retrofit的使用,及介绍: 一,概念描述及理解: Retrofit的底层是封装的okhttp是对okhttp的封装其内置okhttp框架,说retrfit是网络请求的框架在这里是不准确的,其实在...
  • qq_35681180
  • qq_35681180
  • 2016年11月11日 19:22
  • 2178

Retrofit 基本使用教程

Retrofit 查询参数查询参数是一种很常见的客户端往服务端传递数据的方式,比如我们需要传一个idg=给服务端,那么URL可能是这样的:https://api.example.com/tasks?i...
  • jiangxuqaz
  • jiangxuqaz
  • 2016年02月28日 12:01
  • 8881

Retrofit使用教程(一)- Retrofit入门详解

本篇博客主要讲解以下问题 - Retrofit简介 - Retrofit的简单使用例子 - Retrofit的get请求 - Retrofit的put请求(提交表单数据) - 如何为 retrofit...
  • gdutxiaoxu
  • gdutxiaoxu
  • 2016年10月06日 20:38
  • 2711

android 介绍Retrofit的简单使用

android 介绍Retrofit的简单使用
  • bitian123
  • bitian123
  • 2016年07月13日 17:18
  • 111327

Android 网络请求库Retrofit简单使用

载请标明出处: http://blog.csdn.net/u011974987/article/details/50895633; 什么是 Retrofit ?Retrofit 是一套 RESTfu...
  • u011974987
  • u011974987
  • 2016年03月15日 13:19
  • 5919

Retrofit项目封装使用

一、概述1、Retrofit开源项目地址2、Retrofit项目官网上官网可能要梯子,大家自备,官网上有它的一系列基本用法,以及他的介绍:A type-safe HTTP client for And...
  • Zzz_Zzz_Z
  • Zzz_Zzz_Z
  • 2016年07月13日 00:15
  • 4584

Android实战——Retrofit2的使用和封装

Retrofit2的使用和封装 本篇文章包含以下内容: Retrofit2是什么 Retrofit2工具类的演示(基于Retrofit2工具类的封装) Retrofit2工...
  • qq_30379689
  • qq_30379689
  • 2016年11月08日 20:46
  • 5559

【Android - 框架】之Retrofit+RxJava的使用

前几天分别对Retrofit和RxJava进行了总结,这个帖子打算把Retrofit结合RxJava使用的方法总结以下。有还不了解Retrofit或RxJava的朋友可以参考下面的帖子学习~ 【An...
  • ITGungnir
  • ITGungnir
  • 2016年11月13日 10:37
  • 1804
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android retrofit的基本使用
举报原因:
原因补充:

(最多只允许输入30个字)