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

Retrofit解析2之使用简介

: A type-safe HTTP client for Android and Java 我简单翻译一下就是: 一个类型安全Android或者Java客户端 通过使用注解去描述一个HTTP...@Body 注解定义参数不能为null 当你发送一个post或put请求,但是又不想作为请求参数或表单方式发送请求时,使用该注解定义参数可以直接传入一个实体类,retrofit会通过convert...你需要考虑网络状态,需要在请求失败后重试,需要处理HTTPS等问题,二这些事情让你很苦恼,而Retrofit可以将你从这些头疼事情中解放出来。...二Retrofit2中,Retrofit与OkHttp强耦合,使得更好地利用OkHttp,包括使用OkHttp解决一些棘手问题。...,在发邮件时候要设置这种编码类型,否则会出现接受时编码混乱问题

4.7K30

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

前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热一个网络请求库 今天,我将献上一份非常详细Retrofit v2.0使用教程,希望你们会喜欢...Android:网络请求库Retrofit使用教程 Carson带你学Android:网络请求库Retrofit源码分析 Carson带你学Android:图片加载库Glide使用教程 Carson...@Field & @FieldMap 作用:发送 Post请求 时提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 时提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:与...2 实现功能:将 英文 翻译成 中文 实现方法:采用Post方法对 有道API 发送网络请求 采用 Gson 进行数据解析 使用步骤 步骤1:添加Retrofit依赖 步骤2:创建 接收服务器返回数据

3.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Retrofit是如何创建?为什么要用动态代理

Retrofit出现让Android网络请求变得异常简单,同时可以很好配合后台REST接口。非常值得我们去探究一下它原理。...Retrofit使用 通常我们是Retrofit是和Rxjava配合使用,这里我们不做用法上过多研究,主要看原理,所以下面的代码都是Retrofit自身API,没有用Rxjava。...} }); Retrofit核心-动态代理 Retrofit是如何将我们定义接口方法最后转化成请求发送出去呢,这里就到源码去看看 创建者模式 首先来看Retrofit...在Retrofit中,内置了两种平台,一种是Android,一种是Java8。不同平台,处理方式不同。...总结 Retrofit在创建过程中,有这么一些东西需要我们注意 platform 这个是Retrofit支持平台,里面有Android和Java8,这里自然是Android callFactory

2.3K00

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

前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热一个网络请求库 今天,我将献上一份非常详细Retrofit v2.0使用教程,希望你们会喜欢...Android:网络请求库Retrofit使用教程 Carson带你学Android:网络请求库Retrofit源码分析 Carson带你学Android:图片加载库Glide使用教程 Carson...@Field & @FieldMap 作用:发送 Post请求 时提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 时提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:与...实例2 实现功能:将 英文 翻译成 中文 实现方法:采用Post方法对 有道API 发送网络请求 采用 Gson 进行数据解析 使用步骤 步骤1:添加Retrofit依赖 步骤2:创建

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 表示响应用字节流形式返回...> getPsotData3(@FieldMap Map map); Post请求-JSON形式 @POST("user/emails") Call<ResponseBody

61310

深入浅出Retrofit2.x(二)

上一篇文章深入浅出Retrofit2.x(一)中,我们讲解了 Retrofit 最基本用法,以及 GET 请求示例,非常简单,相信大家都已经会使用了,本篇文章将继续介绍 Retrofit 一些其他一些常用用法...,主要围绕如何使用 POST 请求提交表单数据,提交 json 字符串作为请求体,还有一些 Retrofit 相关注解介绍等。...RequestBody 必须要设置 encoded = true, 否则 url 有编码问题 // 使用@Path时,path对应路径不能包含”/”,否则会将其转化为%2F,在遇到想动态拼接多节...new Gson().toJson(object)); } } 我们来个请求示例: Retrofit retrofit = new Retrofit.Builder()...猜你喜欢: 给大家推荐一个神器 深入浅出Retrofit2.x(一) 不得不会10点Java基础知识 Android 最全 Intent 传递数据姿势

1.3K10

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

将原始结果交给 RetrofitRetrofit根据用户需求对结果进行解析 除了Retrofit,如今Android中主流网络请求框架有: Android-Async-Http Volley...@Field & @FieldMap 作用:发送 Post请求 时提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 时提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:与 @Multipart...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用Android 默认 CallAdapter,则不需要添加网络请求适配器依赖...看完本文,相信你已经非常熟悉 Retrofit 2.0 使用 如果你希望继续阅读 Retrofit 2.0 源码,请看我写文章:Android:手把手带你深入剖析 Retrofit 2.0 源码

8.2K72

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

@Field & @FieldMap 作用:发送 Post请求 时提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 时提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:...关于网络请求适配器(CallAdapter) Retrofit支持多种网络请求适配器方式:guava、Java8和rxjava 使用时如使用Android 默认 CallAdapter,则不需要添加网络请求适配器依赖...并 配置网络请求参数 步骤6:发送网络请求(采用最常用异步方式) 封装了 数据转换、线程切换操作 步骤7: 处理服务器返回数据 接下来,我们一步步进行Retrofit使用。...总结 看完本文,相信你已经非常熟悉 Retrofit 2.0 使用 如果你希望继续阅读 Retrofit 2.0 源码,请看我写文章:Android:手把手带你深入剖析 Retrofit 2.0

2.7K31

Android-Retrofit简介

Retrofit 主要定义了 4 个接口: Callback:请求数据返回; Converter:对返回数据进行解析,一般用 GSON ; Call:发送请求,Retrofit...转换器 implementation 'com.squareup.retrofit2:converter-gson:2.0.2' 当然还有网络请求权限: <uses-permission android...3.2 标记 @FormUrlEncoded 使用场景:表示发送form-encoded数据,那么什么是FormUrlEncoded数据呢? ?...使用方式:@Header作用于方法参数;@Headers作用于方法 Body 作用:以 Post方式 传递 自定义数据类型 给服务器 特别注意:如果提交是一个Map,那么作用相当于 @Field...; builder.add("key","value"); @Field & @FieldMap 作用:发送 Post请求 时提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用

1.8K50

Retrofit原理_Retrofit

可以通过注解直接配置请求,可以使用不同http客户端,虽然默认是用http ,可以使用 不同Json Converter 来序列化数据,同时提供对RxJava支持,使用Retrofit + OkHttp...那么这几个问题谁来解决? 对,retrofit!...主要步骤都是:创建网络请求实体client->构建真 正网络请求-> 将网络请求方案与真正网络请求实体结合构成一个请求Call->执行网络请求->处理返回数据->处理 Android 平台线程问题...请看下面的文章 三: Retrofit构建过程 Retrofit通过build模式来生成一个Retrofit对象,通过代码我们知道,Retrofit默认会使用OkHttp来发送网络请求,当 然,我们也可以自己定制...正是这种CallApdate接口设计,使得我们在使用Retrofit时候可以自定义我们想要返回类型。此接口设计也 为RxJava扩展使用做了很好基础!!!

62030

项目需求讨论-Retrofit中文提交及上传头像功能

现在大家项目中一般标配是Rxjava+Retrofit+MVP了吧。反正我现在项目都是用这个套路。(啥!!你这三个都不知道,那可以学习了!!!)其中网络访问部分都是用Retrofit。...一般都是普通post和get请求。 Retrofit基本使用我不会再写很多,因为网上优秀文章太多了。...我直接引用别人Retrofit 入门基础 Retrofit 用法详解 ---- 我们项目中用Retrofit进行post和get时候 比如: 登录: @POST("login/XXXXX.do"...复制代码 然后填了相关信息,按了提交发送给了后台。这时候并没有出现我想要提交成功提示。但是我网络提交的确是成功了。我叫后台帮我看下Log信息,后台给答案是:你这个真实姓名穿了乱码过来。...Android 调用系统功能实现图片选择器,你可能会遇到问题汇总 第三步: private void uploadPic(Bitmap bitmap) { // ...

62730

Retrofit2.0通俗易懂学习姿势,Retrofit2.0 + OkHttp3 + Gson + RxJava

Retrofit,因为其简单与出色性能,也是受到很多人青睐,但是他和以往通信框架还是有点区别,不过放心,因为他本身还是挺简单,所有我相信你看完这篇文章,对基本请求是没什么问题,其实现在网上这样文章也有很多了...我们要使用Retrofit2.0,肯定要先集成进去,把项目这么一新建——RetrofitSample,然后我们看他Github上,支持三种使用方式,这就没必要多说,各位看官想怎么添加就怎么添加 Jar... 四.定义接口 我们要想学会使用,最佳选择肯定是阅读官方文档,第一句就是 “...八.Get参数请求 上面的Get方法是一般接口会这样做,但是有些请求,是有问题,比如我们最上面的这个接口 http://gank.io/api/data/Android/10/1 他并没有像cityname...十二 Retrofit2.0+ RxJava RxJava使用起来会让我们代码更加简洁,高效,那他和Retrofit2.0又会碰到什么样激情呢?

1.6K60

Retrofit解析9之流程解析

Retrofit内部使用了动态代理,方便了使用,通过retrofit.create返回其实是一个动态代理类,所有具体逻辑处理交给ServiceMethod来进行处理。...单一流程.png Retrofit总体使用是外观模式,Retrofit持有所有子系统引用;Retrofit有两个比较重要两个Factory,一个是用来生成对应"Call"CallAdapter...;在okHttp中,Request需要自己进行定义创建,而Retrofit简化了这个操作,进行相应封装,使用注解方式来定义RequestBuilder相关参数信息;注解信息解析则在parseMethodAnnotation...,会直接抛异常,比如你方法注解使用了@Multipart,但是在参数那里使用了注解Field,由于是互斥,所以会抛异常。...如果请求成功则调用parseResponse来解析响应体,解析过程中没有问题则调用callSuccess()方法,如果解析出现问题则调用callFailure()方法,其实callFailure()内调用

2.1K41

Retrofit源码之请求对象转换笔记

之前在Retrofit源码初探一文中我们提出了三个问题: 什么时候开始将注解中参数拼装成http请求信息? 如何产生发起http请求对象? 如何将对象转换成我们在接口中指定返回值?...其中前两个问题在前几篇文章已经做了解答,今天我们探究下最后一个问题: 我们定义接口时,有这样: @GET("hello/world") Call<News getNews(@Query("num"...对于默认返回类型处理CallAdapter,其实是在Retrofit生成时默认加上: public Retrofit build() { //省略部分代码 Executor callbackExecutor...别慌,Retrofitbuild中platform根据不同情况会是不同子类,并不一定是Platform实例,而是它子类: static class Android extends Platform...(r); } } } 我们重点关注Android平台,可以看到这里生成callbackExecutorexecute()方法主要就是用来将操作发送到主线程执行。

42230

抛开理论,从实践中剖析Rertrofit原理

也帮助针对那些项目很稳定,解决迁移API接口带来难度问题。(本文实际上去年7月写),再回过头来去了解retrofit源码想必是小菜一碟。 ?...也帮助针对那些项目很稳定,解决迁移API接口带来难度问题。...回顾 Retrofit2.0是SQUARE美国一家移动支付公司最新发布Android平台上httpresultful访问客户端,具体简单用法列举!...其他注解类没多大技术点,贮备好上图注解类,一个POST 一个Head, 其方式一样,源码就不在列举。...线程池工厂 用来管理和复用线程,避免线程溢出造成内存泄露,不是本次关注点,略去 ---- 实现好了自己Retrofit,接下来再看看怎样使用,观察下和Retrofit用法有什么区别?

48830

Retrofit初探和简单使用

Retrofit简单介绍 Retrofit是Square提供开源产品,为Android平台应用提供一个类型安全REST客户端。...它是基于注解,提供 JSON to POJO(Plain Ordinary Java Object ,简单 Java 对象),POJO to JSON,网络请求(POST,GET, PUT,DELETE...:converter-gson:2.0.0-beta3' compile 'com.google.code.gson:gson:2.3' 数据格式相关使用 今天我们使用聚合数据平台免费一个笑话接口...@Query 是接口查询关键字 封装接口服务包装类 这个接口服务包装类使用了单例模式,如下: package com.loonggg.retrofitdemo; import android.content.Context...然后调用我们请求接口方法getJokeInfoList(); 发送请求,并回调处理结果,call.enqueue(); 到这里基本结束了,是不是非常简单?赶紧试试去吧。

69790

Android技能树 — 网络小结(7)之 Retrofit源码详细解析

Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析 Android技能树 — 网络小结(7)之 Retrofit源码详细解析 ---- 正文 因为我平时使用都是Rxjava2...大家也可以看我前面写Android技能树 — 网络小结之 OkHttp超超超超超超超详细解析, 同时本文不会再去教大家Retrofit基础使用,如果要看一些简单使用,可以看下面的一些推荐博客: Android...Retrofit 2.0 详细 使用攻略(含实例讲解) AndroidRetrofit 结合 RxJava优雅使用(含实例教程) 我们先上一张别的大佬博客中一张图: ?...我更喜欢是跟着源码一步步来画流程图(PS:其实是我水平太差了,无法一下子总结处第三方库各种设计模式使用),所以Retrofit我也画了下面这个图: ?...ServiceMethod serviceMethod = Retrofit.this.loadServiceMethod(method);

1.3K40

基于Retrofit2+RxJava2实现Android App自动更新

本文实例为大家分享了Retrofit2 RxJava2实现Android App自动更新,具体内容如下 功能解析 自动更新可以说已经是App标配了,很多第三方平台也都支持这个功能,最近手头上项目需要加入这个...App自动更新,考虑到项目里有用到Retrofit2和RxJava2,于是打算使用它俩自己实现这个功能。...本次解决问题核心就是在拦截器中拿到下载内容长度并通过自定义RxBus发送事件将下载信息发送出去,然后在合适地方拿到这些下载信息,通过Notification实时展示下载进度。...* * @param obj */ public void post(Object obj) { mBus.onNext(obj); } /** * 暴露出...总结 通过Retrofit2+RxJava2实现了App自动更新,加深了我对这两个框架理解和使用技巧,也扩展了自己思路,记得以前自己写自动更新时候,思绪混乱,代码不堪入目。。

1.3K10
领券