Retrofit2】的更多相关文章

retrofit 英文名字是改装的意思,也就是说他是对网络请求的一种改装,他不负责进行网络请求,他是对请求方式的一种封装.真正进行网络请求的是okhttp. 以下所有内容在Android Studio已经导入retrofit为基础.导入方式如下: compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.re…
就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全的.并使用注解方式的网络请求框架. 2 . 我们为什么要使用Retrofit,它有哪些优势? 首先,Retrofit使用注解方式,大大简化了我们的URL拼写形式,而且注解含义一目了然,简单易懂: 其次,Retrofit使用简单,结构层次分明,每一步都能清晰的表达出之所以要使用的寓意: 再者,Retr…
在retrofit2中使用ssl,刚刚接触,很可能会出现如下错误. java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 究其原因就是没有找到本地的证书.非常简单的错误.只要将证书放在本地就可以了. 可是有时(比如说开发时.或者访问别人的https站点时),我们需要将其忽略. 这时,我们就需要将其忽略. 在iOS开发中,一句代码就可以解决. [operation.…
在构建网络层时会遇到一个问题就是要手动配置Http请求的Headers,写入缓存Cookie,自定义的User-Agent等参数,但是对于有几十个接口的网络层,我才不想用注解配置Headers,目前网上很多文章的方法真对这两个版本都不是很适用,有的给出的方法已经被删除,有的方法会报出异常 :( 方法一: 在翻阅官方API文档整理后的方法如下: 1.  import okhttp3.Interceptor; 2.  import okhttp3.OkHttpClient; 3.  import o…
序 前面一篇文章介绍了Retrofit2的基本使用,这篇文章接着介绍使用Retrofit2实现文件上传和文件下载,以及上传下载过程中如何实现进度的显示. 文件上传 定义接口 1 2 3 @Multipart @POST("fileService") Call<User> uploadFile(@Part MultipartBody.Part file); 构造请求体上传 1 2 3 4 5 File file = new File(filePath); RequestBod…
原文链接:http://bxbxbai.github.io/2015/12/13/retrofit2-analysis/ 公司里最近做的项目中网络框架用的就是Retrofit,用的多了以后觉得这个框架真的非常好用,然后抽了点时间debug了一下源码,觉得不光代码写的非常好,而且设计这个框架的思路都非常特别,收获很多,决定记录下来 本文的源码分析基于Retrofit 2.0,和Retrofit 1.0有较大的不同, 本文主要分为几部分:0.Retrofit 是什么,1.Retrofit 怎么用,2…
Retrofit.Retrofit.Retrofit,越来越多的人在玩这个网络请求框架,这个由squareup公司开源的网络请求框架确实挺好用,今天我们就来看一下这个东东怎么玩! Retrofit作为一个简化的HTTP请求库其实已经有很长一段时间了,只不过在早期的版本里有些地方用的不是特别爽,Retrofit从2.0开始修改了许多之前的痛点,现在不仅更好用而且功能也更加的强大.我们可以在Retrofit中利用接口.方法和注解参数等来声明定义一个请求该如何被创建.同时它还有一个非常鲜明的特点就是支…
本文将顺着构建请求对象→构建请求接口→发起同步/异步请求的流程,分析retrofit2是如何实现的. 组成部分 Retrofit2源码主要分为以下几个部分: retrofit retrofit-adapters retrofit-converters 本篇先分析retrofit部分,也就是retrofit源码的主干部分. 下面顺着retrofit2的使用流程进行分析. Retrofit对象的构建 首先我们看看构建一个Retrofit对象,都需要或者可选哪些配置: 1234567891011121…
eclipse的jar包配置 eclipse中貌似用不了butterknife buildToolsVersion "23.0.2" defaultConfig { applicationId "com.Example.ljd.retrofit" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyE…
简介 官网:http://square.github.io/retrofit/ GitHub:https://github.com/square/retrofit/ compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' 在对Android 开发中,我们都是从原生的 HttpUrlConnection到经典的 Apache公司的HttpClient,…