首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Retrofit 高级使用与原理

    简介 在 Android 开发中,网络请求是一个极为关键的部分。Retrofit 作为一个强大的网络请求库,能够简化开发流程,提供高效的网络请求能力。...Retrofit 与 RxJava 结合使用,能够更好地处理异步操作和错误。我们可以使用 RxJava 的 Observable 来包装 Call,并利用其强大的错误处理能力。...} @Override public void onComplete() { } }); 文件上传和下载 Retrofit 支持文件上传和下载功能...我们可以使用 @Multipart 注解来发送文件上传请求,使用 @Streaming 注解来处理大文件的下载。...这样,我们可以在编译时期进行错误检查和优化,提高了代码的可靠性和性能。 OkHttp 的使用 Retrofit 底层使用 OkHttp 来发送实际的网络请求。

    76630

    springboot配合retrofit上传图片文字 完整教学

    需求 用springboot配合retrofit上传图片和文字 目录 了解http的multipart/form-data 学习retrofit上传文件的方法 学习springboot接收multipart...为了验证,我特意用fiddler模拟了一次文件上传请求。 请求中要上传的信息有:{"auth": "qq", "openId": "...", "accessToken": "......学习retrofit上传文件的方法 可以先看看Retrofit2 multpart多文件上传详解和Retrofit实现文件上传(二) 接口设置可以分为以下几种: 使用@Multipart 使用@PartMap...org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=... not supported错误...[额外问题] 设置springboot文件传输大小的限制 springboot的文件上传大小默认限制为1MB, 当传输较大的图片时,可能会有以下错误: org.apache.tomcat.util.http.fileupload.FileUploadBase

    2.1K50

    打造自己的 APP「冰与火百科」(二):接口、索引页

    刚开始我上传到了 GitHub,但发现经常会发生灵异事件,导致数据无法访问或者速度超慢,后来又上传到了九牛云。 这部分内容大家看一下就好了,毕竟不是常规的做法。...DataBinding 的一些更高级的用法这里就不赘述了,网上的教程很多,大家可以多搜索了解一下。 动画 为了让索引页的字更生动,我打算加一个渐变放大的动画效果。...} @Override public void onAnimationEnd(Animation animation) { SystemClock.sleep(500...初始化 需要通过 Retrofit.Builder 初始化 Retrofit,调用 baseUrl 设置基础域名: Retrofit retrofit = new Retrofit.Builder()...mRealm.beginTransaction() mRealm.copyFromRealm(data) data.num = 666 mRealm.commitTransaction()复制代码 小结 就先到这吧,一个索引页都能扯这么多。

    58320

    深入浅出Retrofit2.x(二)

    上一篇文章深入浅出Retrofit2.x(一)中,我们讲解了 Retrofit 的最基本用法,以及 GET 请求示例,非常简单,相信大家都已经会使用了,本篇文章将继续介绍 Retrofit 的一些其他的一些常用用法...Map 参数集合等等都是可以的,看似我们没有序列化,其实内部已经帮我自动实现了序列化的过程,对于不同的参数类型,我们索性就定义一个比较通用的 ApiService 接口,然后把常用的各种请求方式、文件的上传下载等...") String url, @Part("image\"; filename=\"image.jpg") RequestBody requestBody); // 多文件...@PartMap 用于表单字段,默认接受的类型是 Map,可用于实现多文件上传 @Path 用于 url 中的占位符 @Query 用于 GET 请求的 url 中指定 key=value 参数 @QueryMap...最常用最基本的用法来展开讲解的,相信大部分读者看完都已经会用了,大家可能已经看出来这样的代码还是不太好用,没有一些设计的思想,代码比较冗余,下一篇文章将开始讲解如何进行封装一个通用的 Retrofit

    1.4K10

    Retrofit2与服务端实例讲解

    这样就造成了在学习 Retrofit2 的过程中,对某些参数的作用并不能直观感受到,所以这里我就尝试着用 Nodejs 搭建了一个本地服务器,提供了几个接口用于支持 Get、Post 模式访问调用,支持文件上传和文件下载功能...引入对 Retrofit2 和 converter-gson 的支持 implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation...多文件上传 这里来实现多个文件同时上传 由于此处客户端在实现多文件上传时使用了不同的参数配置,所以服务端需要采用不同的数据解析方式,因为新开了一个接口 app.post('/uploadFileDouble...items.push(item); } resultJson.onSuccess(res, items); } }); }); 客户端上传多文件的接口方法使用.../leavesC/Retrofit2Samples

    2K30

    安卓上如何优雅地使用网络请求丨深入浅出Retrofit2.x(二)

    上一篇文章深入浅出Retrofit2.x(一)中,我们讲解了 Retrofit 的最基本用法,以及 GET 请求示例,非常简单,相信大家都已经会使用了,本篇文章将继续介绍 Retrofit 的一些其他的一些常用用法...Map 参数集合等等都是可以的,看似我们没有序列化,其实内部已经帮我自动实现了序列化的过程,对于不同的参数类型,我们索性就定义一个比较通用的 ApiService 接口,然后把常用的各种请求方式、文件的上传下载等...") String url, @Part("image\"; filename=\"image.jpg") RequestBody requestBody); // 多文件...@PartMap用于表单字段,默认接受的类型是 Map,可用于实现多文件上传@Path用于 url 中的占位符@Query用于 GET 请求的 url 中指定 key=value 参数@QueryMap...最常用最基本的用法来展开讲解的,相信大部分读者看完都已经会用了,大家可能已经看出来这样的代码还是不太好用,没有一些设计的思想,代码比较冗余,下一篇文章将开始讲解如何进行封装一个通用的 Retrofit

    1.1K10

    Android网络库:Volley、Retrofit、OkHttp和HttpURLConnection的比较与应用

    在Android开发中,网络通信是一个不可或缺的部分。有许多优秀的网络库可以帮助我们简化网络编程的过程。...3.2 缺点 API相对底层:OkHttp的API相对底层,使用起来可能不如Volley和Retrofit方便。 3.3 适用场景 对性能要求较高的网络请求 处理大文件下载和上传任务。...4.1 主要特性 标准Java库的一部分:不需要额外的库依赖,使用简单,适合Android及Java应用。...功能有限:不支持HTTP/2,没有内置的缓存机制,错误处理和连接复用也不如现代网络库灵活和强大。...API相对底层,使用不如Volley和Retrofit方便。 性能要求高的网络请求,大文件下载和上传,需要HTTP/2或WebSocket支持的应用。

    38010

    关于 Kotlin Coroutines, 你可能会犯的 7 个错误

    错误的使用 SupervisorJob 有时候你会使用 SupervisorJob 来达到下面的效果: 在 job 继承体系中停止异常向上传播 当一个协程失败时不影响其他的同级协程 由于协程构建器 launch...一些开发者认为当调用协程时,就应该切换到后台调度器,例如,进行网络请求的 Retrofit 的 suspend 函数,进行数据库操作的 Room 的 suspend 函数。 这并不是必须的。...因为所有的挂起函数都应该是主线程安全的,Retrofit 和 Room 都遵循了这一约定。你可以阅读我的 这篇文章[7] 以了解更多内容。 5....尝试使用 try/catch 来处理协程的异常 协程的异常处理很复杂,我花了相当多的时间才完全理解,并通过 博客[8] 和 讲座[9] 向其他开发者进行了解释。...如果你了解其他常见错误,欢迎在评论区留言! 另外,不要忘记向其他开发者分享这篇文章以免发生这样的错误。Thanks !

    99720

    retrofit-helper 简洁的封装retrofit,优雅的取消请求

    他负责网络请求接口的封装,底层实现是OkHttp,它的一个特点是包含了特别多注解,方便简化你的代码量,CallAdapter.Factory 和Converter.Factory可以很灵活的扩展你的请求.../** * 通用的错误信息,一般请求是失败只需要弹出一些错误信息即可,like{@link retrofit2.HttpException} * Created by chengxin on 2017...</li> * <li>original json: 原始的json</li> * <li>{@link retrofit2.Response}:错误响应体...null"); this.call = call; this.tag = tag; } } } 2.8 ProgressInterceptor 拦截器监听下载和上传进度...继承okhttp3.Interceptor ,构造方法中传入ProgressListener监听进度 /** * 创建时间:2018/8/2 * 编写人: chengxin * 功能描述:上传或下载进度监听拦截器

    2.9K20

    深入浅出 Retrofit,这么牛逼的框架你们还不来看看?

    Retrofit 2.0 开始内置 OkHttp,前者专注于接口的封装,后者专注于网络请求的高效,二者分工协作,宛如古人的『你耕地来我织布』,小日子别提多幸福了。 ?...话说当年用 HttpClient 上传个文件老费劲了,一会儿编码不对,一会儿参数错误(也怪那时段位太低吧TT)。。。...我们看到,我们上传的文件的内容出现在请求当中了。如果你需要上传多个文件,就声明多个 Part 参数,或者试试 PartMap。...1.5 Converter,让你的入参和返回类型丰富起来 1.5.1 RequestBodyConverter 1.4.3 当中,我为大家展示了如何用 Retrofit 上传文件,这个上传的过程其实。。...3.1 继续简化文件上传的接口 在 1.5.1 当中我们曾试图简化文件上传接口的使用,尽管我们已经给出了相应的 File -> RequestBody 的 Converter,不过基于 Retrofit

    1.4K60

    Carson带你学Android:最全面解析图片加载库Glide用法

    set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:duration="500...//如果原始图像有 1000x1000 像素,那么缩略图将会有 100x100 像素。...相比其他图片加载库(Picasso & Fresco) 对比Picasso Glide 是在Picasso 基础之上进行的二次开发做了不少改进,不过这也导致包比 Picasso 大不少,不过也就不到 500k...(Picasso 是100多k),用法较为复杂,不过毕竟级别还是蛮小的,影响不是很大 对比Fresco 使用较Fresco简单,但性能(加载速度 & 缓存)却比不上Fresco 6....) Carson带你学Android:网络请求库Retrofit使用教程 Carson带你学Android:网络请求库Retrofit源码分析 Carson带你学Android:图片加载库Glide

    88020

    HTTP 的基础概念

    以上定义中 Hyper 有拓展的一层意思,互联网创始之初,人们就在思考如何更加方便的在互联网传输信息,最初这些信息都是以文本形式进行传输,随着互联网信息越积约多,就急需一种让文件之间互相关联起来的方式来提高信息查找效率...URL 和 HTTP 报文 URL 格式 三部分:协议类型、服务器地址(和端口号)、路径(Path) 组成结构:协议类型://服务器地址[:端口号]路径 eg....Content-Type: application/x-www-form-urlencoded Content-Length: 13 name=rengwuxian&gender=male 对应的 Retrofit...api.github.com Content-Type: application/x-www-form-urlencoded Content-Length: 13 gender=female 对应的 Retrofit...4xx:客户端错误;400(客户端请求出错)、401(认证失败)、403(被禁止)、404(找不到内容)。 5xx:服务器错误;500(服务器内部错误)、502(网关错误)。

    84410

    网络请求库全面对比和优缺点分析

    3.2 缺点 API相对底层:OkHttp的API相对底层,使用起来可能不如Volley和Retrofit方便。 3.3 适用场景 对性能要求较高的网络请求 处理大文件下载和上传任务。...这是Java标准库中的一部分,因此在所有使用Java的平台上都可用,包括Android。...4.1 主要特性 标准Java库的一部分:不需要额外的库依赖,使用简单,适合Android及Java应用。...强大的错误处理:Curl提供了详细的错误信息,方便开发者进行调试和问题排查。 支持异步请求:通过libcurl的多线程支持,Curl可以实现异步请求,适合高并发场景。...API相对底层,使用不如Volley和Retrofit方便。 性能要求高的网络请求,大文件下载和上传,需要HTTP/2或WebSocket支持的应用。

    12410

    深入浅出 Retrofit,这么牛逼的框架你们还不来看看?

    Retrofit 2.0 开始内置 OkHttp,前者专注于接口的封装,后者专注于网络请求的高效,二者分工协作,宛如古人的『你耕地来我织布』,小日子别提多幸福了。 ?...话说当年用 HttpClient 上传个文件老费劲了,一会儿编码不对,一会儿参数错误(也怪那时段位太低吧TT)。。。...我们看到,我们上传的文件的内容出现在请求当中了。如果你需要上传多个文件,就声明多个 Part 参数,或者试试 PartMap。...1.5 Converter,让你的入参和返回类型丰富起来 1.5.1 RequestBodyConverter 1.4.3 当中,我为大家展示了如何用 Retrofit 上传文件,这个上传的过程其实。。...3.1 继续简化文件上传的接口 在 1.5.1 当中我们曾试图简化文件上传接口的使用,尽管我们已经给出了相应的 File -> RequestBody 的 Converter,不过基于 Retrofit

    1.8K50

    Android Studio 上传aar(Library)到JCenter

    变成了注册一个组织,注册地址是 https://bintray.com/signup 提交aar的时候就会出现Unauthorized这个错误 注意:个人的注册地址为https://bintray.com...project homepage def gitUrl = 'https://github.com/Javen205/JPay.git' // project git 4、定义Group 举个例子,当我们引用retrofit...的时候是这样的: compile 'com.squareup.retrofit2:retrofit:2.1.0 引号内字符串以冒号分割为三部分,第一部分就是group,第二部分是name, 第三部分是上面定义的...Paste_Image.png 出现这个错误的原因是执行脚本时并没有默认生成pom-default.xml以及相关的文档和jar,添加到JCenter又必须需要,以下是解决方案 ?.../gradlew clean build bintrayUpload 可能会遇到的错误 Fix the issues identified by lint, or add the following

    1.3K10
    领券