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的依赖。
基本介绍接着写,以后会补充些更高级的应用。