利用Retrofit执行Post、Get请求,通俗易懂
来源:互联网 发布:手机控制wifi软件 编辑:程序博客网 时间:2024/06/05 05:42
1 Get请求
1.1 创建实体
1.2 创建代理接口
public interface MyService {@GET("url")
Call<Contributor> getCall();
}
注意:
a. Get是get,post是post
b. 地址填全部,不能动态写入参数
c. getCall参数为空
1.3 创建Retrofit对象
Retrofit retrofit = new Retrofit.Builder().baseUrl(urlbase)
.addConverterFactory(GsonConverterFactory.create())
.build();
注意:
a. baseUrl的地址填到端口即可,因为代理接口那边填了完整地址,这里会无效,但也要写到端口,否则报错
1.4 通过retrofit获取动态服务代理对象
MyService myService = retrofit.create(MyService.class);1.5 通过实体调用请求方法,空参数,获取Call对象
//【5.创建call对象请求】执行github.contributors()完这里的时候,因为github是动态代理对象,会执行retrofit.create的创建方法,这个方法里面就创建了http请求对象也就是MethodHandler,里面包括了okhttpclient和request(就等于volley的request)Converter:数据转换器,这样创建了http请求,就可以交给call.enqueue来发送这个请求了Call<MyEntity> call = myService.getCall();
1.6 Call执行异步请求
call.enqueue(new retrofit.Callback<MyEntity>() {@Override
public void onResponse(retrofit.Response<MyEntity> response, Retrofit retrofit) {
Log.i("tan6458", "response大小:" + response.body().getHomeCraImgList().size());
}
@Override
public void onFailure(Throwable throwable) {
}
});
2 Post请求
2.1 创建实体
2.2 创建代理接口
public interface MyService2 {@POST("url")
Call<MyEntity2> getCall(@Query("tel") String phone);
}
注意:
d. Get是get,post是post
e. 地址填到问号前,
f. getCall参数用@Query+(”接口变量字段“)+String +形参
2.3 创建Retrofit对象
Retrofit retrofit = new Retrofit.Builder().baseUrl(urlbase)
.addConverterFactory(GsonConverterFactory.create())
.build();
注意:
b. baseUrl的地址填到端口即可,因为代理接口那边填了完整地址,这里会无效,但也要写到端口,否则报错
2.4 通过retrofit获取动态服务代理对象
MyService2 myService2 = retrofit.create(MyService2.class);2.5 通过实体调用请求方法,填入对应字段参数,获取Call对象
Call<MyEntity2> call = github2.getCall("18813145555");
2.6 Call执行异步请求
call.enqueue(new retrofit.Callback<MyEntity2>() {@Override
public void onResponse(retrofit.Response<MyEntity2> response, Retrofit retrofit) {
Log.i("tan6458", "response大小:" + response.body().getHomeCraImgList().size());
}
@Override
public void onFailure(Throwable throwable) {
}
});
源码
0 0
- 利用Retrofit执行Post、Get请求,通俗易懂
- 利用Retrofit执行Post、Get请求,通俗易懂
- Retrofit的Get与Post请求
- Retrofit的基本post,get请求
- Retrofit基础之:GET与POST请求
- Retrofit get、post请求用法整理
- Okhttp和Retrofit的get,post请求
- retrofit的 get post 请求 + log日志
- 通俗易懂的请求方式get与post两者的区别
- 两行代码搞定发送 Retrofit GET/POST 请求
- Retrofit基础(get/post请求,上传图片,注册)
- Retrofit结合RxJava简单get/post请求(传参)
- 使用Retrofit结合RxJava实现Get与Post网络请求
- 初学者---Android (简单总结)Retrofit请求方式之get,post
- Retrofit一GET,POST
- 利用fsocket模拟GET和POST请求
- Java利用Http 模拟POST、GET请求
- 利用HttpClient发送Get和Post请求
- List问题总结
- glDrawElements
- 获取android手机的相关信息
- 内容提供器Demo
- Xutils3使用心得
- 利用Retrofit执行Post、Get请求,通俗易懂
- 竞赛于 2016-4-19 T1,公司控制(usaco 原题)
- iOS基于B站的IJKPlayer框架的流媒体探究
- Android 日历控件WeekCalendar
- Matlab之fopen、fprintf函数
- C++新特性学习笔记
- 配置Log4j(很详细)
- Android 驱动开发系列三
- SP共享数据(程序B读取程序A的SP数据)