首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Carson带你学Android:这是一份详细的 Retrofit使用教程(含实例讲解)

前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,我将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢...// 区别在于使用场景和使用方式 // 1. 使用场景:@Header用于添加不固定的请求头,@Headers用于添加固定的请求头 // 2....@Part & @PartMap 作用:发送 Post请求 时提交请求的表单字段 与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景 具体使用:与...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖...Retrofit 的拓展使用 Retrofit的使用场景非常丰富,如支持RxJava和Prototocobuff 具体设置也非常简单 & 方便: 对象中设置 --> Retrofit

3.6K20

这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解) - 简书

开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 ?...App应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求参数、Header、Url 等信息,之后由 OkHttp 完成后续的请求操作 在服务端返回数据之后,OkHttp...// 区别在于使用场景和使用方式 // 1. 使用场景:@Header用于添加不固定的请求头,@Headers用于添加固定的请求头 // 2....@Part & @PartMap 作用:发送 Post请求 时提交请求的表单字段 与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景 具体使用:与 @Multipart...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖

9.4K72
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)

    前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 ?...App应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求参数、Header、Url 等信息,之后由 OkHttp 完成后续的请求操作 在服务端返回数据之后,OkHttp...// 区别在于使用场景和使用方式 // 1. 使用场景:@Header用于添加不固定的请求头,@Headers用于添加固定的请求头 // 2....@Part & @PartMap 作用:发送 Post请求 时提交请求的表单字段 与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景 具体使用:...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖

    3.3K31

    Carson带你学Android:这是一份详细的 Retrofit使用教程(含实例讲解)

    前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,我将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢...// 区别在于使用场景和使用方式 // 1. 使用场景:@Header用于添加不固定的请求头,@Headers用于添加固定的请求头 // 2....@Part & @PartMap 作用:发送 Post请求 时提交请求的表单字段 与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景 具体使用:与...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用的是 Android 默认的 CallAdapter,则不需要添加网络请求适配器的依赖...Retrofit 的拓展使用 Retrofit的使用场景非常丰富,如支持RxJava和Prototocobuff 具体设置也非常简单 & 方便: 对象中设置 --> Retrofit

    2.2K10

    Android使用Retrofit进行网络请求及和Kotlin结合使用

    ,而是共同存在 @Header 作为方法的参数传入,用于添加不固定的header,它会更新已有请求头 请求参数注解 请求参数注解 说明 @Body 多用于Post请求发送非表达数据,根据转换方式将实例对象转化为对应字符串传递参数...,比如使用Post发送Json数据,添加GsonConverterFactory则是将body转化为json字符串进行传递 @Filed 多用于Post方式传递参数,需要结合@FromUrlEncoded...使用,即以表单的形式传递参数 @FiledMap 多用于Post请求中的表单字段,需要结合@FromUrlEncoded使用 @Part 用于表单字段,Part和PartMap与@multipart注解结合使用...@Filed注解 @Multipart 表示请求发送form_encoded数据(使用于有文件上传的场景),每个键值对需要用@Part来注解键名,随后的对象需要提供值 @Streaming 表示响应用字节流的形式返回...,如果没有使用注解,默认会把数据全部载入到内存中,该注解在下载大文件时特别有用 参数示例 URL上的参数 @GET("user") Call getData2(@Query

    2.2K11

    Django之json、Ajax简介及实例介绍

    为false会对数据进行深层次迭代; response参数 dataType: 预期服务器返回的数据类型,服务器端返回的数据会根据这个值解析后,传递给回调函数。...进行一个json格式的转换,if转换成功,我们在success的回调函数里就会得到一个json格式 的对象;转换失败就会触发error这个回调函数。...,所以返回的是String;但如果我们想要一个json对象 设定dataType:"json"即可,相当于告诉ajax方法把服务器返回的数据转成json对象发送到前端.结果为object...(dic)) 这其实就是JSONP的简单实现模式,或者说是JSONP的原型:创建一个回调函数,然后在远程服务上调用这个函数并且将JSON 数据形式作为参数传递,完成回调。...,服务端则会返回以你定义的回调函数名的方法,将获取的json数据传入这个方法完成回调: 将8001的f()改写为: function f(){ addScriptTag("http

    6.7K20

    Django---Ajax

    ,服务器端返回的数据会根据这个值解析后,传递给回调函数。...进行一个json格式的转换,if转换成功,我们在success的回调函数里就会得到一个json格式 的对象;转换失败就会触发error这个回调函数。...,所以返回的是String;但如果我们想要一个json对象 设定dataType:"json"即可,相当于告诉ajax方法把服务器返回的数据转成json对象发送到前端.结果为object...(dic)) 这其实就是JSONP的简单实现模式,或者说是JSONP的原型:创建一个回调函数,然后在远程服务上调用这个函数并且将JSON 数据形式作为参数传递,完成回调。...,服务端则会返回以你定义的回调函数名的方法,将获取的json数据传入这个方法完成回调: 将8001的f()改写为: ?

    4.8K101

    Android学习:OkHttp进行网络请求等

    同步调用,返回Response,会抛出IO异常 同步调用会阻塞主线程,一般不适用 Response response = call.execute(); 异步调用,并设置回调函数 异步调用的回调函数是在子线程...("text/plain;charset=utf-8"),json); //创建一个请求对象 Request request = new Request.Builder(...application/octet-stream表示文件是任意二进制数据流,当然也可以换成更具体的image/png } 同时注意需要在xml文件中添加权限代码: android...:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 进行Post传输表单及联动传输图片、字符串等 我们在网页上经常会遇到用户注册的情况,需要你输入用户名...RequestBody,下面的代码我们会发送一个包含用户民、密码、头像的表单到服务端,同时也需要记得记得在AndroidManifest.xml文件中添加存储卡读写权限。

    35910

    Retrofit2与服务端实例讲解

    ,返回的数据格式有 Json 对象和 Json 数组,需要的参数格式可以由使用者来自由定义 本篇文章不会对 Retrofit2 的用法进行过多介绍,重点在于介绍服务端接口的搭建以及 Retrofit2...值为 userName 的头部信息,而其值不是 leavesC ,则返回的 Json 数据就会提示参数错误 修改 getWithQueryAndHeaders() 方法带有的头部信息的值 /** *...数组 之前的几种请求方式获取到的都是 Json 对象,此处来写一个返回的数据格式是 Josn 数组的接口,每个 Json 对象对应的是如下的 Java Bean /** * 作者:chenZY *...converter-gson 来对服务端返回的 Json 数组进行自动解析,由于 resultJson.js 文件统一了服务端返回的数据格式,为了不每次都写 code 和 msg 这两个参数,此时可以采用泛型来进行封装...系统中运行还有个问题,由于回调函数 Callback 是在主线程中回调的,所以如果直接在回调函数中进行长时间的 IO 读写操作,可能会造成 ANR,此处需要注意 Retrofit2 与 服务端之间的实例讲解到这里也就结束了

    2K30

    「2020 新手必备 」极速入门 Retrofit + OkHttp 网络框架到实战,这一篇就够了!

    它通过基于 REST 的 web 服务检索和上传 JSON (或其他结构化数据)变得相对容易。在使用中,您可以配置用于数据序列化的转换器。...首先你得先将要发送的表单信息封装为 Post 请求的 Body 对象,那么有的同学会问什么是 POST ,什么是 Body?...对象,我们还需要在其中提取相应 JSON 对象,进行类型转换,而在 Retrofit 中,由于使用了数据解析器,所以这一大块代码都省略了 还有很多优点,这里就不唠叨了,我们直接开始学习使用之路吧!...,但是其他博客不照顾新人,从没说清楚 然后就是数据解析器,大家应该还记得刚开始的时候我们导入了一个三方库: // Gson 服务器数据交互 api 'com.google.code.gson:gson:...2.8.6' 我们和服务器的数据,都是以 JSON 的形式交互的,比如 Bing 每日壁纸接口 设置了这个数据解析器,就可以把返回的信息自动封装为相应的对象,明白了吧 具体这个对象怎么获得,大家可以联系后端

    1.3K30

    【愚公系列】2022年01月 Python教学课程 46-Django框架之HttpRequest

    请求体(body)中发送的数据,比如表单数据、json、xml; 在http报文的头(header)中。...2.请求体 请求体数据格式不固定,可以是表单类型字符串,可以是JSON字符串,可以是XML字符串,应区别对待。 可以发送请求体数据的请求方式有POST、PUT、PATCH、DELETE。...前端发送的表单类型的请求体数据,可以通过request.POST属性获取,返回QueryDict对象。...非表单类型的请求体数据,Django无法自动解析,可以通过request.body属性获取最原始的请求体数据,自己按照请求体格式(JSON、XML等)进行解析。...例如要获取请求体中的如下JSON数据 {"a": 1, "b": 2} 可以进行如下方法操作: import json def post_json(request): json_str = request.body

    1K60

    Android 天气APP(三)访问天气API与数据请求

    这个时候就可以用到另一个Android Studio的插件了,GsonFormat 快速将JSON字符串转换成一个Java Bean,免去我们根据JSON字符串手写对应java Bean的过程。...当然安装完之后是要重启Android Studio才能生效的,重启完毕之后来使用找个插件, ? 然后复制刚才的返回值, ? 鼠标点击光标处,Alt + S 弹出一个窗口 ?...3,response.body().string()只能调用一次,在第一次时有返回值,第二次再调用时将会返回null。...4.Get的异步请求 这种方式不用再次开启子线程,但回调方法是执行在子线程中,所以在更新UI时还要跳转到UI线程中。...} }); } 不知道你有没有看懵逼,好了,接下来我们使用异步Get来请求这个APi的数据返回。

    3.8K30

    Android 天气APP(三)访问天气API与数据请求

    这个时候就可以用到另一个Android Studio的插件了,GsonFormat 快速将JSON字符串转换成一个Java Bean,免去我们根据JSON字符串手写对应java Bean的过程。...当然安装完之后是要重启Android Studio才能生效的,重启完毕之后来使用找个插件, 然后复制刚才的返回值, 鼠标点击光标处,Alt + S 弹出一个窗口 框内粘贴返回值...3,response.body().string()只能调用一次,在第一次时有返回值,第二次再调用时将会返回null。...4.Get的异步请求 这种方式不用再次开启子线程,但回调方法是执行在子线程中,所以在更新UI时还要跳转到UI线程中。...} }); } 不知道你有没有看懵逼,好了,接下来我们使用异步Get来请求这个APi的数据返回。

    2.7K20

    OkHttp使用详解

    代码中的application/octet-stream表示我们的文件是任意二进制数据流,当然你也可以换成更具体的image/png 注:最后记得最重要的一点:添加存储卡写权限,在AndroidManifest.xml...文件中添加如下代码: android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 六、OkHttp进行Post...显示文件下载进度 这里只是演示,我只是把进度显示在一个TextView中,至于进度的获取当然是在我们的回调函数onResponse()中去获取 (1)使用response.body().contentLength...RequestBody,然后重写其中的方法,将其中的上传进度通过接口回调暴露出来供我们使用。...RequestBody上包装了一层,最后在我们的使用中在post()方法中传入我们的CountingRequestBody对象即可。

    11.8K40

    【JavaEE初阶】Servlet (二) Servlet中常用的API

    核心方法 方法名称 调用时机 init(初始化) 在 HttpServlet 实例化之后被调用一次 destory(销毁) 在 HttpServlet 实例不再使用的时候调用一次 service 收到...POST,from 对于前端from表单这样的数据结构,后端还是使用GetParameter来获取.注意,from表单也是键值对,和queryString的格式一样,只是这部分内容在body中 使用getparameter既可以获取到queryString键值对,也可以获取到form表单构造的body中的键值对....POST,json json是一种非常主流的数据结构,也是键值对结构 使用Postman构造POST: 下面写PostParameter2服务器代码: import javax.servlet.ServletException...为 json 格式的数据. // 直接把 req 对象里 body 完整的读取出来. // getInputStream // 在流对象中读多少个字节?

    31240

    RxHttp 一款让你眼前一亮的 Http 请求框架

    3.3.3、第三部曲:订阅回调 这一步就很简单了,在第二部曲中,asXxx方法会返回Observable对象,没错,就是RxJava内部的Observable对象,此时我们便可通过subscribe...如需要添加拦截器等其他业务需求,则可调用init方法进行初始化,不初始化或者传入null即代表使用默认OkHttpClient对象,建议在Application中初始化,默认的OkHttpClient对象在...是通过注解指定占位符的,而RxHttp是使用标准的占位符,我们只需要在url中声明占位符,随后在传入url的后面,带上对应的参数即可。...:它负责从Param对象中拿到Request对象,从而执行请求,最终返回Response对象 Parser:它负责将HttpSender返回的Response对象,解析成我们期望的实体类对象,也就是泛型...接着又将Response对象丢给Parser去做数据解析工作,并返回实体类对象T;最后,将T通过回调传给开发者,到此,一个请求就处理完成。

    2K20

    JSON和AJAX知识点整理

    例子2:将服务器获得的数据回显在页面上面 设置接收到的响应数据格式为json对象 Jquery的get和post方法----->不指定type返回的数据类型,默认是text Jquery的getJSON...ajax局部更新网页的原理 JS对象---上文说的JSON对象就是JS对象 JS对象的key的双引号可写可不写,这样就与JSON字符串形式一致了 ajax中function(data),这里的data...接收的是服务器返回给我们的数据,数据由ajax接收,而不是浏览器,,如果服务器转发到一个页面,那么data代表整个页面 默认ajax是异步的,数据的接收和下面方法的执行不冲突 JSON 导入json的依赖...);">发送异步请求 大忽悠 body> ---- Jquery的get和post方法----->不指定type返回的数据类型...,这样就与JSON字符串形式一致了 JS中的对象 ---- ajax中function(data),这里的data接收的是服务器返回给我们的数据,数据由ajax接收,而不是浏览器,,如果服务器转发到一个页面

    1.5K10

    【Java技术指南】「Unirest编程专题」一起认识一下一个“灰常”优秀的Http工具,让Http开发变得如此简单

    请求处理操作所以你可能想知道使用 Unirest 如何使在 Java 中创建请求更容易,这里有一个基本的 POST 请求,它将解释一切:HttpResponse response =...Unirest带有一个默认映射器,它将使用流行的Google Gson库序列化为json。...---文件上传你也可以采用表单的形式发布二进制数据。就像文件一样。此类型请求的内容类型默认为multipart/form-data。...选项有Empty、String、File、Object、byte和Json。响应返回为HttpResponse,其中HttpResponse对象具有所有常见的响应数据,如状态和标头。...可以使用.getBody()方法通过所需类型访问Body(如果存在)。Empty响应体如果你不需要得到结果返回,asEmpty是最简单的选择。但是仍然会得到其他的响应信息。

    2.2K11

    什么是AJAX?

    ajax提交表单有返回结果的有两种实现方式: 1、将form表单数据序列化 $.ajax({ type: "POST",...,对话框又是链接的另外的html页面,如此通过$(“#formid”)的方式是找不到对话框中的form的,因此这种情况下只能使用这种方式提交表单。...另外ajax中封装的get,post请求也都属于有返回结果的一类。 总的来说,无返回结果的和有返回结果的(将form表单数据序列化+通过窗口实现form提交),form表单都必须要有name属性。...在jQuery中,Ajax常见的请求方式主要有一下4种: 1、$.ajax()返回其创建的 XMLHttpRequest 对象。...通过远程 HTTP POST 请求载入信息。 POST请求功能也相对比较简单,请求成功时可调用回调函数。如果需要在出错时执行函数,那么请使用 $.ajax请求。

    1.7K20
    领券