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

【Android】Retrofit 2.0 的使用一、概述二、原理二、使用

一、概述 Retrofit是Square公司开发的一个类型安全的Java和Android 的REST客户端库。...关于REST的介绍可以参考维基百科 retrofit模型如下:(来自如何使用Retrofit写一个Android的REST客户端的小教程) retrofit模型...依赖于okhttp,所以需要集成okhttp API返回的数据为JSON格式,在此我使用的是Gson对返回数据解析 添加权限 由于是网络请求,需要在manifest中添加网络请求的权限 android:name="android.permission.INTERNET"/> 创建实体类 这是使用Gson解析,需要创建一个POJO(Java对象)。...Tips: 当返回结果错误,调用response.errorBody().string();可以得到String类型的请求结果,但再次调用response.errorBody().string();得到的结果为

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

    Carson带你学Android:网络请求库Retrofit源码分析

    前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,我将手把手带你深入剖析Retrofit v2.0的源码,希望你们会喜欢...与其他网络请求开源库对比 除了Retrofit,如今Android中主流的网络请求框架有: Android-Async-Http Volley OkHttp 下面是简单介绍: 一图让你了解全部的网络请求库和他们之间的区别...只打算利用OkHttpCall通过ExecutorCallbackCall切换线程;但后来发现使用Rxjava更加方便(不需要Handler来切换线程)。...= 0) { return new Android(); // 此处表示:如果是Android平台,就创建并返回一个Android对象 ->>步骤4 }...支持3个平台:Android平台、Java平台、IOS平台 // 最后返回一个Platform对象(指定了Android平台)给Builder的有参构造方法public Builder(Platform

    1.2K20

    Android MVVM框架搭建(二)OKHttp + Retrofit + RxJava

    Android MVVM框架搭建(二)Retrofit + RxJava 前言 正文 一、引入依赖 二、工具类 三、构建网络框架 1. Base 2. 异常处理 3. 拦截器 4....= null && iNetworkRequiredInfo.isDebug()) { //iNetworkRequiredInfo不为空且处于debug状态下则初始化日志拦截器...= null) { //刚才上面定义的Map中键是String,值是Retrofit,当键不为空时,必然有值,有值则直接返回。...(), retrofit); //最后返回即可 return retrofit; } /** * 配置RxJava 完成线程的切换...做上层网络请求接口的封装,同时将需要的数据解析成实体,同时Retrofit还有对RxJava的支持,这样就可以在请求的时候做线程切换,切换到子线程,在数据返回的时候切换到主线程。

    2.6K62

    Android MVVM框架搭建(二)OKHttp + Retrofit + RxJava

    Android MVVM框架搭建(二)Retrofit + RxJava 前言 正文 一、引入依赖 二、工具类 三、构建网络框架 1. Base 2. 异常处理 3. 拦截器 4....= null && iNetworkRequiredInfo.isDebug()) { //iNetworkRequiredInfo不为空且处于debug状态下则初始化日志拦截器...= null) { //刚才上面定义的Map中键是String,值是Retrofit,当键不为空时,必然有值,有值则直接返回。...(), retrofit); //最后返回即可 return retrofit; } /** * 配置RxJava 完成线程的切换...做上层网络请求接口的封装,同时将需要的数据解析成实体,同时Retrofit还有对RxJava的支持,这样就可以在请求的时候做线程切换,切换到子线程,在数据返回的时候切换到主线程。

    2.5K61

    【建议收藏】Android实现Rxjava2+Retrofit完美封装

    去年的时候学习了Rxjava和Retrofit的基本用法,但一直没有在实际项目中运用。今年开做新项目,果断在新项目中引入了RxJava和Retrofit。...} } RetrofitUtils用来构建Retrofit.Builder,并对OkHttp做以下几个方面的配置: 设置日志拦截器,拦截服务器返回的json数据。...其中code为服务器返回的错误码。我们会事先和服务器约定成功时的code值,比如200表示请求成功。但通常在请求服务器数据过程中免不了会出现各种错误。例如用户登录时密码错误、请求参数错误的情况。...此时服务器会根据错误情况返回对应的错误码。一般来说,我们只关心成功时即code为200时的content数据。而对于code不为200时我们只需要给出对应的Toast提示即可。...*/ abstract public void onSuccess(T response); /** * 服务器返回数据,但响应码不为200 *

    2.1K50

    Android网络访问库 - Retrofit学习(1)基础

    Retrofit是什么 Retrofit是一个类型安全的HTTP客户端,支持Android和Java.它是Square公司开源的项目,当前版本2.0。...同步和异步,和终止 Retrofit 1.x 时,在服务接口的声明中,同步方法需要一个返回值,异步方式需要一个 Callback 的泛型参数作为最后一个参数。...2.x不再以参数和返回值的方式区分异步同步的请求。 “调用”的区别 Retrofit 1.9 时 同步是直接调用。 而异步需要传入回调的实现。在实现里处理成功和失败的方法。...response.code(); // handle request errors yourself ResponseBody errorBody = response.errorBody...你可以使用 Observable 作为接口声明的返回值。 第二个依赖是 AndroidSchedulers 类所需要的,它提供了 在Android主线程的调度方式。

    1K00

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

    Retrofit的出现让Android的网络请求变得异常简单,同时可以很好的配合后台的REST接口。非常值得我们去探究一下它的原理。...在Retrofit中,内置了两种平台,一种是Android,一种是Java8。不同的平台,处理的方式不同。...平台里是返回了MainThreadExecutor,里面提供了一个handler,并且这个handler是传入的主线程的Looper,也就是说在execute方法里面,handler.post实际上是在主线程...method, @Nullable Object[] args) throws Throwable { // 方法定义所在的类,这里我们是定义在接口里面,返回...总结 Retrofit在创建的过程中,有这么一些东西需要我们注意 platform 这个是Retrofit支持的平台,里面有Android和Java8,这里自然是Android callFactory

    2.4K00

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

    Retrofit 早已不是什么新技术了,想必看到这篇博客的大家都早已熟知,这里就不啰嗦了,简单介绍下: Retrofit 是一个针对 Java 和 Android 的设计的 REST 客户机。...是结合 OkHttp 做网络请求用的,所以悉心提醒记得开下网络权限: android:name="android.permission.INTERNET" /> 全面进击...但细心观察发现,第一步 Retrofit 的实例化过程,只要服务器不换代码几乎是不变的,所以我们完全可以将它封装 而且大家有没有发现,如果单单使用 OkHttp 我们的返回值是一个 Response...的使用都已近有了一定的了解,但 Retrofit 的好处并不只是这些,还有很多跟深入的只是需要了解,但本文限于篇幅,无法向大家一一介绍 对于我前面的 FIWKeepApp 这个仓库,我将一步步转换到...Retrofit + OkHttp 的形式下,欢迎大家关注我的 这个仓库,进行学习,也欢迎各位老铁给个 star 后面我还会对 Android 的各种知识点、Framework 层源码,三方库等进行解析

    1.3K30

    源码解析: Retrofit2.5

    引言   Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,我们查看 invoke 可以发现:底层基于OkHttp实现的 ,相比其他网络请求框架...数据解析器工厂集合 callbackExecutor 回调执行,Android平台默认为MainThreadExecutor Platform Retrofit中用来管理多平台的方法,支持Android...RxJavaCallAdapter对象 RxJavaCallAdapter Rxjava平台的设配器,返回observable对象 GsonConverterFactory 数据解析工厂实例,返回了GsonResponseBodyConverter...= null ?...适配器模式 CallAdapter的adapt采用了适配器模式,使得interface的返回对象可以动态扩展,增强了灵活性 CallAdapter的种类 Converter种类 Retrofit支持多种数据解析方式

    78700

    Spring Boot + Android 实现登录功能

    项目配置在 Android 中,我们可以使用 Retrofit 作为网络请求库,并通过 SharedPreferences 来存储 token 信息。...Retrofit 依赖引入在 Android 项目的 build.gradle 文件中添加 Retrofit 及其相关依赖:implementation 'com.squareup.retrofit2:...而 AuthResponse 是服务器返回的响应对象,包含生成的 JWT。4. Android 前端开发接下来,我们将在 Android 中实现登录页面,并与 Spring Boot 后端进行交互。...4.1 使用 Retrofit 进行网络请求Retrofit 是 Android 平台上广泛使用的网络请求库。首先,我们定义一个接口用于请求登录 API。...登录功能虽然看似简单,但其背后涉及的安全性和可扩展性都是我们需要重点关注的。

    18110
    领券