Android杂谈:Retrofit初体验

济飞.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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容