美文网首页Retrofit 2.0RetrofitRetrofit
Retrofit2 浅尝辄止(1):初来乍到,Get请求来一套

Retrofit2 浅尝辄止(1):初来乍到,Get请求来一套

作者: Tony_Chu | 来源:发表于2016-08-13 13:16 被阅读143次

    配置Gradle


    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'

    这里我们需要将请求回来的数据直接转化为实体,恰巧官方提供了gson的转换库,因此我们在依赖retrofit的同时,也要依赖converter-gson。在以后的文章里我会着重说一下这个converterFactory,它其实类似于一个插件集成器,通过它,我们可以集成各种工具来解决我们开发过程中的问题以及实现需求。
    <br />
    废话不多说,让我们快速实现一个普通的get请求。

    开始一个简单请求


    创建一个简单的bean

    这里假设我们要请求apistore上的名人名言接口,因此我们创建了一个FamousInfo的bean

    初始化Retrofit

    <pre>

    .baseUrl("http://apis.baidu.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build();```</pre>
    
    
    #### 创建一个接口
    <pre>
    ```public interface FamousService {  
        @GET("/avatardata/mingrenmingyan/{path}")
        Call<FamousInfo> getFamousResult(@Path("path") String path, 
        @Header("apiKey") String apiKey,
        @Query("keyword") String keyword,
        @Query("page") int page, 
        @Query("rows") int rows);
    }```</pre>
    
    ####初始化这个接口的对象
    
    <pre>
    

    Call<FamousInfo> callback =retrofit.create(FamousService.class)
    .getFamousResult(path,apiKey,page,rows)}

    
    ####使用这个对象获取请求结果
    
    <pre>
    

    callback.enqueue(new Callback<FamousInfo>{
    @Override
    public void onResponse(Call<FamousInfo> call, Response<FamousInfo> response) {
    FamousInfo bean = response.body();
    }
    @Override
    public void onFailure(Call<FamousInfo> call, Throwable t) {
    Toast.makeText(context,t.toString,Toast.LENGTH_SHORT).show();
    }
    });```
    </pre>

    这样一个简单的get请求就完成了。

    相关文章

      网友评论

      本文标题:Retrofit2 浅尝辄止(1):初来乍到,Get请求来一套

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