Retrofit 使用流程
来源:互联网 发布:windows xp outlook 编辑:程序博客网 时间:2024/05/29 14:10
一、接口定义:
get 方法:
public interface ILoginService {
@GET("LoginDataServlet")
@Headers("Cache-Control: public, max-age=30")
Call<BaseResp<RegisterBean>> userLogin(@Query("username") String username, @Query("password") String password);
}
@GET("LoginDataServlet")
@Headers("Cache-Control: public, max-age=30")
Call<BaseResp<RegisterBean>> userLogin(@Query("username") String username, @Query("password") String password);
}
post方法:
@FormUrlEncoded
@POST("user/login.do")
Call<User> login(@Field("username") String userName, @Field("password") String password);
@POST("user/login.do")
Call<User> login(@Field("username") String userName, @Field("password") String password);
其中括号里定义的是接口地址,方法里的参数是要传的参数。
参数定义的格式有好几种,参考链接:http://blog.csdn.net/qq_15602525/article/details/51543429
二、创建Retrofit:
在创建Retrofit之前,先配置拦截器在okhttpclient对象中,然后再配置转换器converter。如果不适用okhttp可以不用配置拦截器。(不要忘记配置接口的url)
mRetrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(mGson))
.client(mOkHttpClient)
.build();
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(mGson))
.client(mOkHttpClient)
.build();
三、使用:
首先创建service接口对象,就是第一步定义的对象,然后通过service对象得到一个call对象,接着通过call发出网络请求。
RequestSerives requestSerives = retrofit.create(RequestSerives.class);
Call<String> call = requestSerives.getString("userName", "1234"); //传入我们请求的键值对的值
Call<String> call = requestSerives.getString("userName", "1234"); //传入我们请求的键值对的值
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Log.e("成功",response.body().toString());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.e("失败","失败");
}
});
@Override
public void onResponse(Call<String> call, Response<String> response) {
Log.e("成功",response.body().toString());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.e("失败","失败");
}
});
Retrofit的整个使用过程就是这样,当然你也可以进行封装。Retrofit结合着okhttp、RxJava使用起来会更好!
若是想更好地理解Retrofit请阅读以下文章(链接):
https://daidingkang.cc/2016/06/17/Retrofit2-network-framework-parsing/
http://blog.csdn.net/Iamzgx/article/details/51607387(里面有一个dome写的很好!)
http://blog.csdn.net/qq_15602525/article/details/51543429
0 0
- Retrofit 使用流程
- Retrofit流程
- 【Retrofit】Retrofit详解(二)(Retrofit核心流程)
- Retrofit 源码分析流程
- Retrofit使用
- Retrofit使用
- Retrofit使用
- Retrofit使用
- Retrofit使用
- Retrofit使用
- Retrofit使用
- Retrofit详解(二)(Retrofit核心流程)
- Retrofit源码解读(一)--Retrofit简单流程
- 【Retrofit 】Retrofit 基本使用教程
- 《Retrofit系列》Retrofit的基本使用
- 【Android】Retrofit的使用(1)-Retrofit介绍
- Retrofit框架使用笔记
- Retrofit 2 使用教程
- 几种常见排序算法及其效率
- Eclipse中使用Hibernate
- split 分割 字符…
- SubString替换字符,.replac…
- Maven+spring+junit测试,出…
- Retrofit 使用流程
- 经典排序算法-堆排序HeapSort
- 内排序-归并排序
- 入门视频采集与处理(视频分辨率介绍)
- [leetcode]224. Basic Calculator --JavaScript 代码
- c++中的输入输出流重载函数实现
- 数据处理
- c#事件和委托
- Linux 3.2.60 网络协议栈分析之网络层(一)