文章目录
Retrofit
- Retrofit是一个RESTful的HTTP网络请求框架的封装。
- Retrofit是基于OkHttp的二次封装,网络请求的本质是由OkHttp完成,Retrofit仅负责网络请求接口的封装。
APP <==> Retrofit <==> OkHttp <==> 服务器
注解说明
//添加Retrofit依赖implementation 'com.squareup.retrofit2:retrofit:2.6.0'//用Gson解析json的转换器implementation 'com.squareup.retrofit2:converter-gson:2.0.2'//支持RxJavaimplementation 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
<uses-permission android:name="android.permission.INTERNET" />
网络请求方法
类型 | 注解名称 | 说明 |
网络请求方式 | @GET | 请求方法 |
@POST |
@PUT |
@DELETE |
@PATH |
@HEAD |
@OPTIONS |
@HTTP | 用于替换以上7种方式 |
标记
类型 | 注解名称 | 说明 |
标记类 | @FormUrlEncoded | 请求体是一个Form表单,用@Filed注解键名 |
@Multipart | 请求体是一个支持文件上传的Form表单,用@Part注解键名 |
@Streaming | 表示返回的数据以流的形式返回,适用于返回数据较大的场景 |
网络请求参数
类型 | 注解名称 | 说明 |
网络请求参数 | @Headers | 添加请求头 |
@Header | 添加不固定值的Header |
@Body | 以Post方式提交自定义数据类型 |
@Field | 发送Post请求提交表单字段,与@FormURLEncoded配合使用 |
@FieldMap |
@Part | 发送Post请求,适用于文件上传,与@Multipart配合使用 |
@PartMap |
@Query | 向URL上传入参数 |
@QueryMap |
@Path | URL地址的缺省值 |
@URL | URL地址的设置 |
基本使用
public interface Api { @GET("article/list/0/json") Call<Result> getData(@Query("cid") int cid);}
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://www.wanandroid.com/") .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build();Api api = retrofit.create(Api.class);Call<Result> call = api.getData(60);call.enqueue(new Callback<Result>() { @Override public void onResponse(Call<Result> call, Response<Result> response) { Log.e("TAG", response.body().toString()); } @Override public void onFailure(Call<Result> call, Throwable t) { Log.e("TAG", "失败"); }});
- Android(安卓)NoHttp源码阅读指导
- Android(安卓)Post请求SQL数据库
- [android]android自动化测试三之设定AVD各项参数
- Android(安卓)使用Post与Get方法进行表单提交数据
- android 获得手机号相关
- 录音权限(Android(安卓)8.0)
- Android(安卓)Studio 插件简介
- Android开发指南(42) —— Adding Custom Suggestions
- android网络-GoogleMap之GPS定位
随机推荐
-
Android 开源项目列表
-
Android调用外部程序
-
关于广播接受者的问题
-
Android小项目——简易备忘录
-
android获取通知权限
-
VisionMobile:2014年Q1移动开发者经济报告
-
基于android的音乐APP大作业和设计指导项
-
android studio 实现再按一次返回键退出
-
Cordova + vue 打包安卓(Android) apk 及
-
android短信监听