Restrofit简单入门

本文详细介绍使用Retrofit2进行网络请求的具体步骤,包括环境配置、接口定义及请求调用等,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先我们需要进行环境配置
(1) gradle配置

    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'//Retrofit2所需要的包
    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'//ConverterFactory的Gson依赖包
    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4'//CallAdapterFactory的Rx依赖包
    compile 'com.squareup.retrofit2:converter-scalars:2.0.0-beta4'//ConverterFactory的String依赖包

(2)权限的配置(很容易忽略但必须要有的配置)

 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2.接下来我们需要定义一个接口用于接收处理请求这里把它起名字为RequestSerives
设置如下:

public interface RequestSerives {
    @POST("aass.do")
    @FormUrlEncoded
    Call<String> getString(@Field("currentVersion") String curVersion,
                           @Field("checkVersion") String checkVersion,
                           @Field("loginName") String loginName,
                           @Field("userName") String userName,
                           @Field("farmName") String farmName,
                           @Field("fw.excute.event") String eventId
    );
}

3.接下来就是调用部分了
(1)首先来看Retrofit 的初始化

Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://192.165.1.42/")
                //增加返回值为String的支持
                .addConverterFactory(ScalarsConverterFactory.create())
                //增加返回值为Gson的支持(以实体类返回)
                .addConverterFactory(GsonConverterFactory.create())
                //增加返回值为Oservable<T>的支持
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();

(2)之后就是根据retrofit 对象创建请求对象

 RequestSerives requestSerives = retrofit.create(RequestSerives.class);
   Call<String> call = requestSerives.getString(version, version, loginName, userName, farmName,"30313A3A303A");//要跟上面参数一一对应

(3)最终通过call发送请求并处理接收结果

call.enqueue(new Callback<String>() {
            @Override
            public void onResponse(Call<String> call, Response<String> response) {
               String result=response.body();//处理返回结果
            }
            @Override
            public void onFailure(Call<String> call, Throwable t) {
                t.printStackTrace();//打印错误日志
            }
        });

这里需要注意的地方
1.我们请求的全部URL=Retrofit.Builder..baseUrl(“http://192.165.1.42/“) + @POST(“aass.do”)
即 URL=http://192.165.1.42/aass.do (url 跟参数是自己编设计公司隐私接口跟URL就不便透漏)
2.retrofit会自动集成OKHttp所以不需要在工程中再添加对于OKHttp的依赖。
基本介绍接着写,以后会补充些更高级的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值