文章目录

      • Retrofit
        • 注解说明
          • 网络请求方法
          • 标记
          • 网络请求参数
        • 基本使用

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 retrofit = new Retrofit.Builder()    .baseUrl("https://www.wanandroid.com/")//设置url    .addConverterFactory(GsonConverterFactory.create())//设置数据解析器    .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//支持RxJava    .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", "失败");    }});

更多相关文章

  1. Android(安卓)NoHttp源码阅读指导
  2. Android(安卓)Post请求SQL数据库
  3. [android]android自动化测试三之设定AVD各项参数
  4. Android(安卓)使用Post与Get方法进行表单提交数据
  5. android 获得手机号相关
  6. 录音权限(Android(安卓)8.0)
  7. Android(安卓)Studio 插件简介
  8. Android开发指南(42) —— Adding Custom Suggestions
  9. android网络-GoogleMap之GPS定位

随机推荐

  1. Android 开源项目列表
  2. Android调用外部程序
  3. 关于广播接受者的问题
  4. Android小项目——简易备忘录
  5. android获取通知权限
  6. VisionMobile:2014年Q1移动开发者经济报告
  7. 基于android的音乐APP大作业和设计指导项
  8. android studio 实现再按一次返回键退出
  9. Cordova + vue 打包安卓(Android) apk 及
  10. android短信监听