Android Retrofit的基本使用

Posted 森然献凉i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Retrofit的基本使用相关的知识,希望对你有一定的参考价值。

说明:网络请求框架Retrofit的基本使用

Retrofit:Android网络请求的框架的封装,底层基于OkHttp。它的网络请求是由OkHttp完成,而Retrofit则是负责网络请求接口的封装。

添加依赖

implementation "com.squareup.retrofit2:retrofit:2.9.0"

一 .根据Http接口创建Java接口

HttpbinService.java
package com.cdw.studyokhttp;

import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

//根据Http接口创建Java接口
public interface HttpbinService 

    //call使用retrofit2的包,ResponseBody使用okhttp3的包,否则报错
    @POST("post")
    @FormUrlEncoded
    Call<ResponseBody>post(@Field("username") String userName, @Field("password")String pwd);

    @GET("get")
    Call<ResponseBody>get(@Query("username") String userName, @Query("password") String pwd);


二.创建Retorfit对象,并生成接口实现类对象

        //构建者
        retrofit = new Retrofit.Builder().baseUrl("https://www.httpbin.org/").build();
        //创建httpbinService对象
        httpbinService =retrofit.create(HttpbinService.class);

三.接口实现类对象调用对应方法获得响应

        retrofit2.Call<ResponseBody> call = httpbinService.post("sr", "123");
        call.enqueue(new retrofit2.Callback<ResponseBody>() 
            //请求完成
            @Override
            public void onResponse(retrofit2.Call<ResponseBody> call, retrofit2.Response<ResponseBody> response) 
                try 
                    Log.i(TAG, "onResponse: "+response.body().string());
                 catch (IOException e) 
                    e.printStackTrace();
                

            
            //请求失败
            @Override
            public void onFailure(retrofit2.Call<ResponseBody> call, Throwable t) 

            
        );

结束

以上是关于Android Retrofit的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

Android Retrofit的基本使用

Retrofit基本使用

[Android] Retrofit 源码分析之 Retrofit 对象

Android实战——RxJava2+Retrofit+RxBinding解锁各种新姿势

Andorid基础知识——Retrofit的基本使用

Android - 改造 - 基本网址中缺少查询参数