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

Retrofit2 & RxJava2实现单文件多文件上传

Retrofit2 是目前Android开发主流的网络库,RxJava2也是目前开发者使用的比较多用来更优雅实现异步的库,因为最近业务需求有用到这两个库,就简单分享下它的一个实际使用场景—上传文件 [TOC...] 集成RxJava2Retrofit2 // Rx compile rootProject.ext.dependencies["rxjava"] compile rootProject.ext.dependencies...builder.build(); } } 自定义RequestBody 构造MultipartBody是需要去创建每个文件对应的ReqeustBody,但我们这边需要监听到文件上传成功、失败进度的状态...的Observer的抽象类,主要是用来收到Rxjava2的事件: /** * 上传文件的RxJava2回调...总结 通篇代码实现很多,但可以看到使用Retrofit2RxJava2的结合起来使用还是挺方便的,再也不用自己去控制线程的切换了,也不用去关注http的具体实现,少写了不少代码,实现起来也优雅不少,希望这篇文章能帮助到大家

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

使用 ETag Last-Modified 报头减轻服务器压力(转)

介绍 你的网站在并发访问很大并且无法承受压力的情况下,你会选择如何优化?...Last-Modified: Fri, 12 May 2006 18:53:33 GMT 客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头...Last-ModifiedEtags如何帮助提高性能? 聪明的开发者会把Last-Modified ETags请求的http报头一起使用,这样可利用客户端(例如浏览器)的缓存。...示例代码 下面的例子描述如何使用服务器端代码去操作客户端缓存: Code: //默认缓存的秒数 int secondsTime = 100; //判断最后修改时间是否在要求的时间内 //如果服务器端的文件没有被修改过...response.Cache.SetMaxAge(new TimeSpan(7, 0, 0, 0)); response.Cache.SetSlidingExpiration(true); } 结论 我们已经看了如何使用客户端缓存减少带宽和计算的方法

41010

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

本文实例为大家分享了Retrofit2 RxJava2实现Android App自动更新,具体内容如下 功能解析 自动更新可以说已经是App的标配了,很多第三方平台也都支持这个功能,最近手头上的项目需要加入这个...App自动更新,考虑到项目里有用到Retrofit2RxJava2,于是打算使用它俩自己实现这个功能。...,这也是为什么我用Retrofit2RxJva2实现的原因。...(自定义继承OKHttp的ResponseBody的类)重点 4.RxBus(使用RxJava实现的‘EventBus’)重点 5.UpdateApkService(更新服务,在这里开启下载订阅下载进度...总结 通过Retrofit2+RxJava2实现了App自动更新,加深了我对这两个框架的理解使用技巧,也扩展了自己的思路,记得以前自己写自动更新的时候,思绪混乱,代码不堪入目。。

1.3K10

RxJava系列七(最佳实践)

前段时间公司实行996,所以也没什么时间精力来更新博客(好吧~我承认是我懒~)。因此这篇文章只是简单的通过两个例子介绍了RxJava在生产环境中的使用。不过本篇中的每个例子我都配上了完整的代码。...示例一、获取手机上已安装的App 第一个例子我们需要在Android设备上展示已安装的第三方app列表,关于环境搭建、依赖配置、RecyclerView的使用等这些基础内容我就不做陈述了。...这里我主要讲讲如何通过RxJava实现核心功能。 首选我们需要调用系统api来获取所有已安装的app,所以在OnSubscribe的call方法中调用getApplicationInfoList()。...源码地址:https://github.com/BaronZ88/HelloRxAndroid 示例二、RxJava+Retrofit2实现获取天气数据 RxJava + Retrofit2几乎是Android...在使用RxJava过程中有任何疑问也欢迎大家和我交流。共同学习!共同进步! 好啦,我们RxJava2见!~ ---- 如果大家喜欢这一系列的文章,欢迎关注我的知乎专栏GitHub。

981130

如何获取Go最新动态使用最新特性

热爱Go语言,一直使用着、关注着。那么如何获取Go最新动态,使用它最新的特性能? 1、获取最新动态 获取Go语言的最新动态有以下几种方法。...clone Go tip 代码,Windows 下建议使用 TortoiseHg,管理、查看都很方便。 2.1、编译 tip 版本 使用 tip 版本,只能自己编译。...MinGW 比 Cygwin 轻,下载地址:去下载 安装好 MinGW后(保证命令行能使用 gcc),可以跟 Unix 下一样编译 Go 了。多版本并存问题,请参考《Go语言:安装多版本》。...2.3、使用新特性 安装了 tip 版,就可以使用 Go 的最新特性了,尽情享受 Go 带给你的快了吧! 注:以上不少网址可能都被墙了,程序员应该学会访问外国网站!...发现了一个 go 源码的 github 只读镜像,代码几乎官方同步,不用访问外国网站可以看Go最新变化了。https://github.com/jnwhiteh/golang

2.1K100

不可错过的几款GitHub开源项目

如何快速开发一款结构清晰、可扩展性强的Android Application。...探索函数式编程 使用 Retrofit2 进行网络请求 开机自启动 Android 6.0 自定义文本操作栏 效果图: ?...使用Material Design控件动画 使用MVP架构整个项目,对应于model、ui、presenter三个包 使用Realm做阅读记录收藏记录的增、删、查、改 使用Glide做图片的处理和加载...https://github.com/GeekGhost/Ghost 7.GeekNews 极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava2 + Retrofit...技术点: 使用RxJava配合Retrofit2做网络请求 使用RxUtil对线程操作和网络请求结果处理做了封装 使用RxPresenter对订阅的生命周期做管理 使用RxBus来方便组件间的通信 使用

1.8K20

如何使用FME获取数据

数据源介绍 地址:https://hub.arcgis.com 介绍:ArcGIS Hub 是一个易于配置的云平台,可以组织人员、数据工具以完成倡议和目标。...数据获取 使用FME获取ArcGIS Server发布出来的数据,可以分为三步:1、寻找数据源;2、请求数据;3、写出数据。...下面我们按照步骤来进行数据的获取 寻找数据源 平台上有非常多的数据,在输入框输入china搜索一下 ? 然后根据内容类型再进行筛选,显示有1173个结果 ?...在找到数据源之后,就可以进行数据的获取了。 获取数据 本次数据获取,以上面找到的数据源链接为准。但接下来所介绍的方法,可以用于任何一个通过此类方式发布出来的数据。...总结 使用FME获取数据非常的方便,没接触过FME的朋友可以通过这个小案例来试着用一用FME。需要特别注意的是,虽然获取比较简单,但敏感数据:不要碰!不要碰!不要碰!

3.1K11

如何使用 Go 语言获取 URL?

在 Web 开发网络爬虫等领域,经常需要获取处理 URL(统一资源定位符)。Go 语言提供了丰富的标准库来处理 URL,使得获取和解析 URL 变得简单而高效。...本文将介绍如何使用 Go 语言获取 URL 的详细步骤,并提供一些实用的示例。图片一、URL 的基本概念在开始之前,我们先来了解 URL 的基本概念。...然后,我们可以通过访问 url.URL 对象的字段来获取 URL 的各个部分。2.2 构建 URL如果我们需要构建一个 URL,可以使用 url.URL 类型的对象其提供的方法来完成。...然后,我们可以通过调用 Get 方法来获取指定参数的值。三、实际示例:使用 Go 获取网页内容现在,我们将结合实际示例来演示如何使用 Go 语言获取网页内容。...总结本文介绍了如何使用 Go 语言获取 URL。我们学习了如何解析构建 URL,以及如何获取 URL 中的各个部分查询参数。此外,我们还提供了一个实际示例,展示了如何使用 Go 语言获取网页内容。

57430

4个步骤:如何使用 SwiftSoup 爬虫代理获取网站视频

摘要/导言在本文中,我们将探讨如何使用 SwiftSoup 库爬虫代理技术来获取网站上的视频资源。我们将介绍一种简洁、可靠的方法,以及实现这一目标所需的步骤。...在本文中,我们将探讨如何利用这两者结合的技术,实现对互联网视频资源的有效获取,为读者带来一次深入的学习实践之旅。...**获取网页内容**使用 SwiftSoup,我们可以轻松地获取网页的 HTML 内容。...SwiftSoup.connect(url).proxy(proxy).get()实例以下是一个完整的示例,演示了如何使用 SwiftSoup 代理来获取网站上的视频链接:import SwiftSouplet...接下来,它确定了视频文件的文件名,并使用FileManager将视频数据写入设备的文档目录中。结论使用 SwiftSoup 爬虫代理技术,我们可以轻松地获取网站上的视频资源。

10210

Android网络编程(十)Retrofit2后篇

前言 在上一篇Android网络编程(九)Retrofit2前篇[基本使用]中我们了解了Retrofit的最基本的GET方式访问网络的写法以及请求参数的简单介绍。...单文件上传是类似的,只是使用Map封装了上传的文件,并用@PartMap注解来标示起来。其他的都一样,这里就不赘述了。...3.消息报头Header Http请求中,为了防止攻击或是过滤掉不安全的访问或是添加特殊加密的访问等等,用来减轻服务器的压力保证请求的安全,通常都会在消息报头中携带一些特殊的消息头处理。...使用@Headers注解添加消息报头,如果想要添加多个消息报头,则可以使用{}包含起来: ? 动态的方式添加消息报头如下所示。 ?...使用@Header注解,可以通过调用getCarType方法来动态的添加消息报头

1K60

如何使用Sqlmap获取数据库

我们在这里这里添加一个通过域名获取IP的命令 Sqlmap是一款开源的命令行自动SQL注入工具。它能够对多种主流数据库进行扫描支持,基于Python环境。...它主要用于自动化地侦测实施SQL注入攻击以及渗透数据库服务器。...id=200 --dbs 此时显示出所有的数据库 第三步:检测出数据库之后,开始获取它里面的表 (batch的意思是不用一直yes,直接运行到底) 这时就检测出来了 第四步:我们来检测一下admin_user...id=200 -C admin_user_name,admin_user_pass -T admin_user -D db363851433 --batch --dump 此时我们就获取到了所有的数据了...,里面包含用户名密码,这时我们就可以进去它的服务器了 最后:输入用户名密码,进入服务器。

4.7K70

flask使用request获取表单提交数据获取url

基本使用 web开发免不了需要获取用户提交的数据,Flask为我们提供了request对象来获取用户提交给服务器的数据。...下面是一个最基本的获取数据的例子: 在templates文件夹下的login.html文件中添加如下代码: <!...获取全部参数 request对象提供了values属性来获取表单提交的全部数据,我们在app.py中添加request.values form flask improt Flask, render_template..., request app = Flask(__name__) # 配置路由,获取用户提交的登录信息 # 指定请求方式,如果不指定,则无法匹配到请求 @app.route("/login", methods...return redirect("/") return "用户名密码错误" app.run(host="0.0.0.0", port=3000, debug=True) 文件上传 使用

2.9K10
领券