retrofit基本使用

配置:
在app的build.gradle中添加依赖:

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

因为retrofit本身是okhttp的封装,所以导入retrofit内部也导入了okhttp

接口创建:

public interface HttpbinService {

    @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);
}

retrofit使用时基于接口的,书写其中的post、get方法,方法注解xxx,参数注解abc,在请求处的体现就是:https://www.httpbin.org/xxx?abc=username这种形式,可以对照okhttp使用样例对比学习。
可以看做retrofit帮助我们完成了域名请求的字符串拼写。

主函数:

Retrofit retrofit;
HttpbinService httpbinService;

retrofit = new Retrofit.Builder().baseUrl("https://www.httpbin.org/").build();
httpbinService = retrofit.create(HttpbinService.class);

首先根据基础url创建retrofit对象,再依据接口由retrofit创建接口实例。

public void postAsync(View view) {
        retrofit2.Call<ResponseBody> call = httpbinService.post("abc", "123");
        call.enqueue(new retrofit2.Callback<ResponseBody>() {
            @Override
            public void onResponse(retrofit2.Call<ResponseBody> call, retrofit2.Response<ResponseBody> response) {
                try {
                    Log.i("TAG", "postAsync: " + response.body().string());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onFailure(retrofit2.Call<ResponseBody> call, Throwable t) {
                Log.i("TAG", t.toString());

            }
        });

调用可以直接用接口实例调用方法,传入参数,获取call实例。
剩余和okhttp相同,用call的方法对服务器进行请求等操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔幻音

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值