Android杂谈:Retrofit初体验

作者: 我在等你回复可你没回 | 来源:发表于2017-04-14 12:10 被阅读137次
济飞.png

Retrofit是网络请求的一个库,是在okhttp上面有包装了一层,封装了数据转换,get,post等等。我觉得最主要是封装了数据转换吧,什么json数据转换什么的。
大概说个例子吧,下面例子是通过get方法获取我的github账户的所有仓库。

建立数据处理类型

估计是服务器的数据最后都转变成下面这个java类型吧,便于java处理

package com.wenfengtou.retrofitdemo;

/**
 * Created by wenfeng on 2017-04-12.
 */

public class RepositoryBean {

    String full_name;
    String html_url;

    int contributions;

    @Override
    public String toString() {
        return full_name + " (" + contributions + ")";
    }
}

访问服务器

GitHubService是一个接口,据说可以被Retrofit转化成一个类,然后就能调用里面的方法queryUserRepos了,这个方法就是通过get的方式获取数据,返回一个RepositoryBean的数据。

package com.wenfengtou.retrofitdemo;

/**
 * Created by wenfeng on 2017-04-12.
 */

import java.util.List;

import retrofit2.Call;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.http.GET;
import retrofit2.http.Path;
import java.util.List;

import retrofit2.Call;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.http.GET;
import retrofit2.http.Path;

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

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://api.github.com/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();


}

main函数调用

首先通过retrofit.create获取到gitHubService 服务,然后调用这个服务的方法就ok啦。

        GitHubService gitHubService = retrofit.create(GitHubService.class);

        Call<List<RepositoryBean>> call = gitHubService.queryUserRepos("wenfengtou");
结果.png
例子传送门
https://github.com/wenfengtou/RetrofitDemo

参考:
Retrofit

相关文章

网友评论

本文标题:Android杂谈:Retrofit初体验

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