okHttp是相当于httpURLConnection、HttpClient同一级别的网络请求方式,而现在的httpURLConnection底层也是通过okHttp来实现的。因此square公司之前出了一个新的框架:Retrofit对okHttp近一步封装。通常我们对网络数据进行请求,联网的时候返回数据,没有网络的时候则无法请求数据。这种效果其实对很多App来说不是很令人满意的。因此,我们希望在
转载 8月前
47阅读
上一篇文章介绍了用Retrofit实现文件的上传与下载,但是我们发现没办法监听上传下载进度,毕竟我们在做开发的时候经常是要显示上传或者下载进度了.虽然Retrofit没有给我们提供现成的api来监听进度,但是Retrofit很灵活,它底层网络访问是用的okhttp实现的,当然我们也可以设置其他第三方网络请求库,因为Retrofit可以设置client,我们可以由此来扩展下载上传的进度监听.本文
转载 11月前
369阅读
RxCache——Retrofit缓存库Retrofit是当下最火的网络请求库,其同门师兄网络请求库okhttp自带缓存,但是okhttp的缓存必须配合Header使用,比较麻烦,也不够灵活;对于Retrofit,RxCache是一款为其量身定制的缓存库。 RxCache使用注解来为Retrofit配置缓存信息,内部使用动态代理和Dagger来实现。Github官方教程:RxCache官方文档,官
Retrofit+RxJava实现文件下载附带进度条项目中需要使用到更新版本,因此研究了一下Retrofit下载文件,和进度条效果,其间也遇到了一些坑,写出来加深一下记忆,也为别的同学提供一下思路。先说一下版本控制吧,通用做法基本上是通过接口获取服务器存储的app版本号,与应用的版本号进行比较,版本较低就去更新,先看一下如何获取应用版本号吧:PackageManager packageManag
声明:本自网络,优秀值得多次转播。 就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是RetrofitRetrofit是针对于Android/Java的、基于okHttp的、一种轻量级且安全的、并使用注解方式的网络请求框架。 2 . 我们为什么要使用Retrofit,它有哪些优势? 首先,Retrofit使用注解方式,
转载 1月前
7阅读
# Android Retrofit上传文件进度Android开发中,我们经常需要使用网络请求来实现文件上传的功能。而使用Retrofit库可以简化我们的网络请求代码。本文将介绍如何使用Retrofit库实现文件上传,并显示上传进度。 ## Retrofit简介 Retrofit是一个用于处理网络请求的库,它基于OkHttp库,可以使我们的网络请求代码更加简洁、可读性更好。Retrofi
原创 8月前
159阅读
前些天有个同学问我会不会使用Retrofit下载文件,我就给了他我项目中使用的方法。发现有很多人还不会用Retrofit实现下载文件,即使会下载,也可能会出现问题,比如:不知道如何获取进度;一旦下载文件就会OOM;不知道如何暂停下载,或者不知道如何实现断点续传等。今天这个demo就是实现上面的几个问题,使用Retrofit+Rxjava来实现,先看效果图:    &nbsp
RxCache官方文档翻译本文翻译自:RxCache官方GitHub地址版本号:RxCache 1.8.1-2.xRxCache基本使用方法、Demo请参阅笔者的相关文章:概述本库的 目标 很简单: 就像Picasso 缓存您的图片一样,毫不费力缓存您的数据对象。每个Android Application都是一个客户端应用程序,这意味着仅仅为缓存数据创建数据库并进行维护毫无意义。事实上,传统方式通
本文链接 下载文件是一个比较常见的需求。给定一个url,我们可以使用URLConnection下载文件。 使用OkHttp也可以通过流来下载文件。 给OkHttp中添加拦截器,即可实现下载进度的监听功能。 使用流来实现下载文件 代码可以参考:https://github.com/RustFisher/android-Basic4/tree/master/appdowloadsample 获...
原创 2021-09-01 16:48:44
1409阅读
"本文链接" 下载文件是一个比较常见的需求。给定一个url,我们可以 "使用URLConnection下载文件" 。 使用OkHttp也可以通过流来下载文件。 给OkHttp中添加拦截器,即可实现下载进度的监听功能。 使用流来实现下载文件 代码可以参考:https://github.com/Rust
转载 2022-01-18 11:28:29
506阅读
下载文件是一个比较常见的需求。给定一个url,我们可以使用URLConnection下载文件。使用OkHttp也可以通过流来下载文件。 网页和很多应用都有显示下载进度的功能。给OkHttp中添加拦截器,也可实现下载进度的监听功能。 获取并使用字节流,需要注意两个要点,一个是服务接口方法的 @Stre
原创 2021-12-01 14:22:13
169阅读
关于android的图片上传有两种方式,一种是以文件流的方式上传,图片转换成二进制上穿。另一种是把图片转成base64方式上传,这篇博客我只介绍文件流,关于base64方式会在下一篇博客中介绍!      首先是安卓端;图片上传我们需要一个图片的路径,同过调用本地相册或者拍照可以返回图片路径,这个在这里就不说了;假设我们获得图片路径为PicPath;下面是安卓代码:首
转载 2023-08-17 16:50:18
103阅读
tjstudy: 写在前面 环境 :android 2.1.1,Retrofit2理解有误,待修改,貌似是php服务器端接收文件的方式有误。。。 链接跳转:个人使用总结1、 导入Retrofit 所需要的包compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.squareup.retrofit2:retrofit:2.1.0'
这两天和新来的同事做一个项目,用到了文件上传,在这里记录下历程Android文件上传有各种各样的Http框架,我也就简单说说我常用的吧,LiteHttp,OkHttp的封装还没做完全,有时间会补上,这里先只列出LiteHttp的封装吧,有点乱七八糟的,大家凑合着看吧,jar我就不往上放了,传文件的时候就把文件做参数给进去就OK,这不是重点,往下看才是重点,把LiteHttp放在这里,只是想做个比较
背景姑且大家都知道现在网络框架多的不可开交,但是很多框架能处理很多事比如即可以请求图片,又可以请求数据接口等等,获取很多初学者认为这是一个很好的事情,但是我觉得并不是,因为功能越多,意味着很难在某个功能上超过专门做这个功能库强,并且bug和维护肯定也不会很好。其实在软件设计领域有一个原则那就是单一职责原则,跟我所说的你需要什么数据就选择专门请求数据的网络框架不谋而合,因为一个库能把一件事做好就很不
Retrofit初步认识 Retrofit作为一个网络框架可以避免我们写多长的代码。1. App应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求参数、Header、Url 等信息,之后由 OkHttp 完成后续的请求操作。 2. 在服务端返回数据之后,OkHttp 将原始的结果交给 RetrofitRetrofit根据用户的需求对结果进行解析。
转载 2月前
418阅读
Android 移动开发当中免不了要访问网络,访问网络的方式相信每个人都会有自己不同的方法,你可以自己封装网络请求,也可以用网上别人开源的框架。如果开源的框架当中,目前最受欢迎的可要数Retrofit了,而使用Retrofit中最麻烦也就是上传图片或者文件了,本文就对如何使用Retrofit同时上传多参数和多图片文件做详细的演示,并贴出相应实例代码。在正式本文的讲解之前,先说明一下,基于现在RxJ
转载 2023-08-17 14:34:37
144阅读
默认情况下,Retrofit在处理结果前会将整个Server Response读进内存,这在JSON或者XML等Response上表现还算良好,但如果是一个非常大的文件,就可能造成OutofMemory异常。因此我们在进行下载文件时需要使用@Streaming注解,使用@Streaming主要作用是把实时下载的字节就立马写入磁盘,而不用把整个文件读入内存。final ExecutorServic
# 实现Android Retrofit上传进度 作为一名经验丰富的开发者,你需要教会一位刚入行的小白如何实现Android Retrofit上传进度。下面是整个流程的步骤: | 步骤 | 操作 | | ---- | ---- | | 1 | 添加Retrofit依赖库 | | 2 | 创建Retrofit实例 | | 3 | 创建RequestBody对象 | | 4 | 实现上传进度监听器
原创 3月前
67阅读
# Android Retrofit 下载文件指南 在Android应用开发中,文件下载是一个常见的需求。Retrofit是一个强大的网络请求库,它使得处理网络请求变得简单而高效。本文将介绍如何使用Retrofit下载文件,并配有具体的代码示例和图表帮助理解。 ## 基本概念 Retrofit是由Square公司开发的网络请求库,提供了一种简便的方式来处理HTTP请求。通过定义接口,可以轻松
原创 23天前
84阅读
  • 1
  • 2
  • 3
  • 4
  • 5