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

Retrofit2 学习总结

同时也希望帮助和我一样在学习Retrofit2遇到困难的猿们。...当我在刚开始学习 Retrofit2 的时候并不知道Retrofit2是什么东西,后来逐渐了解 “它可能是一个方便我们网络请求的库 ,可以帮我们让请求网络变得更灵活、易于维护”。...需要注意的是converter-gson和retrofit版本号应为一致,在这里我都用2.1.0 创建Bean 创建一个JavaBean,用于解析服务器返回数据。...还有一些要求较高的请求,请看下节。 Retrofit2 大成 如果看到这里,相信对Retrofit2的基本请求会用了,那么这节就说一说其他的网络请求。...(null, "123456")); 也可以都塞Map里上传,也可以只在Map中上传文件,随你喽~ 文章结尾有参考链接。

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

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

    Retrofit2 是目前Android开发主流的网络库,RxJava2也是目前开发者使用的比较多用来更优雅实现异步的库,因为最近业务需求有用到这两个库,就简单分享下它的一个实际使用场景—上传文件 [TOC...* * @param url 上传接口地址 * @param files 文件列表 * @param fileUploadObserver 文件上传回调...* * @param files 文件列表 * @param fileUploadObserver 文件上传回调 * @return MultipartBody...LogUtil.d(String.valueOf(progress)); } }); 笔者这里是上传到文件服务器,成功会返回对应的...总结 通篇代码实现很多,但可以看到使用Retrofit2和RxJava2的结合起来使用还是挺方便的,再也不用自己去控制线程的切换了,也不用去关注http的具体实现,少写了不少代码,实现起来也优雅不少,希望这篇文章能帮助到大家

    2.6K40

    压力测试和JMeter使用分析

    使用压力测试,我们有希望找到很多种用其他测试方法更难发现的错误。 有两种错误类型是:内存泄漏,并发与同步。 有效的压力测试系统将应用以下这些关键条件:重复,并发,量级,随机变化。...1、性能指标   响应时间(Response Time: RT) 响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响 应结束,整个过程所耗费的时间。...最少响应时间(Mininum ResponseTime) 指用户发出请求或者指令到系统做出反应(响 应)的最少时间。  ...90%响应时间(90% Response Time) 是指所有用户的响应时间进行排序,第 90%的响应时间。...从外部看,性能测试主要关注如下三个指标         吞吐量:每秒钟系统能够处理的请求数、任务数。         响应时间:服务处理一个请求或一个任务的耗时。

    80720

    项目需求讨论 - 后台返回的特殊 JSON 处理系列二

    { "success": true, "msg": "{'公司简称':[],'年份列表':[\"2016\",\"2015\",\"2014\"]}", "obj": null } 没错,这次的需求是,...然后我选择A公司的2016年,就可以给后台,后台再返回给其他内容。 首先我们可以看到,这个返回给我们的JSON真的是一塌糊涂。...我们来说下这种json的问题: 一般来说(可能是我开发到现在的项目是这样)我们都是把主要的数据信息放在obj里面,msg一般会返回一些提示,比如你获取数据失败了。可能提示你原因的文字说明等。...第一步: { "success": true, "msg": "{'公司简称':[],'年份列表':[\"2016\",\"2015\",\"2014\"]}", "obj": null } 我们看到{...Retrofit2 + Rxjava2。

    13210

    java调用百度地图API根据地理位置获取经纬度

    html, ReturnLocationBean.class); } catch (Exception e) { log.error("地理编码[异常],", e); return null...html, ReturnLocationBean.class); } catch (Exception e) { log.error("逆地理编码[异常],", e); return null...; } } 返回信息如下 3,不通源坐标之间的相互转换 之所以会写这个是因为我公众号的经纬度是腾讯提供的。。。。...(post);// 用http连接去执行get请求并且获得http响应 HttpEntity entity = response.getEntity();// 从response中取到响实体...地图、mapabc地图和amap地图所用坐标,国测局(GCJ02)坐标; 4:3中列表地图坐标对应的米制坐标; 5:百度地图采用的经纬度坐标; 6:百度地图采用的米制坐标; 7:mapbar地图坐标

    34810

    SQL函数 $LISTLENGTH

    SQL函数 $LISTLENGTH 返回指定列表中元素数量的列表函数。 大纲 $LISTLENGTH(list) 参数 list- 计算结果为有效列表的表达式。...您可以使用 SQL 或 ObjectScript $LIST 函数从现有列表中提取列表。 描述 $LISTLENGTH 返回列表中元素的数量。 此函数返回 SMALLINT 类型的数据。...示例 以下嵌入式 SQL 示例返回 3,因为列表中有 3 个元素: /// d ##class(PHA.TEST.SQLFunction).ListLength() ClassMethod ListLength...3,因为列表中有 3 个元素: SELECT $LISTLENGTH($LISTBUILD('Red','Blue','Green')) 3 以下嵌入式 SQL 示例也返回 3。...因为它不包含列表元素,所以它的 $LISTLENGTH 计数为 0,如下例所示: DHC-APP> WRITE $LISTLENGTH("") 0 $LISTLENGTH 和嵌套列表 以下嵌入式 SQL

    33740

    SQL函数 $LISTGET

    SQL函数 $LISTGET 返回列表中的元素或指定默认值的列表函数。...大纲 $LISTGET(list[,position[,default]]) 参数 list - 计算结果为有效列表的表达式。列表是包含一个或多个元素的编码字符串。...示例 以下嵌入式 SQL 示例中的 $LISTGET 函数都返回“Red”,即列表中的第一个元素: /// d ##class(PHA.TEST.SQLFunction).ListGet() ClassMethod...The no-default value is 以下嵌入式 SQL 示例中的 $LISTGET 函数都指定了一个大于三元素列表中最后一个元素的位置。第一个返回空字符串,因为未指定默认值。...is The NULL element is 注意 无效的参数值 如果列表参数中的表达式未计算为有效列表,则会发生 SQLCODE -400 致命错误,因为 $LISTGET 返回变量仍未定义。

    55620

    使用嵌入式SQL(三)

    时间戳记值将除去尾随空格,以小数秒为单位的尾随零和(如果没有小数秒的话)尾随的小数点。当SQLCODE = 0时,即返回有效行时,将设置INTO子句中指定的输出主机变量。...例如,SELECT * FROM Sample.Person仅对以逗号分隔的15个主机变量列表有效(非隐藏列的确切数目,具体取决于表定义,该数目可能包含也可能不包含系统生成的RowID) (ID)列)。...NULL和未定义的主机变量如果指定未定义的输入主机变量,则嵌入式SQL将其值视为NULL。...在ODBC和JDBC中,使用ODBC或JDBC接口显式指定NULL值。主机变量的有效性嵌入式SQL永远不会修改输入主机变量。...OutVal的值在从嵌入式SQL返回之后不应该被IF命令引用。

    3K10

    使用Retrofit打印请求日志,过滤改变服务器返回结果,直接获取String字符串直接获取字符串手动解析查看Retrofit请求网络日志自定义Interceptor实现过滤改变请求返回的数据(可使用

    但是自从升级了Retrofit2之后,就可以不用手动导入了,因为已经自己引入了。...short.class || type == Short.class) { return ScalarRequestBodyConverter.INSTANCE; } 这里会自动根据返回数据转换成你泛型里写的类型的数据...TimeUnit.SECONDS)//网络请求超时时间单位为秒 .build(); .addInterceptor()可以调用多次 自定义Interceptor实现过滤改变请求返回的数据...getInteger("code") == 500) { /** *这里改变返回的数据...,如果服务器返回的是一个HTML网页, *那么移动端也能拿到一个Json数据,用于保证数据可解析不至于崩溃

    4.4K20

    负载均衡技术全景:理论、实践与案例研究

    当服务器恢复正常后,负载均衡器会再次将其加入到服务列表中。 通过上述步骤,负载均衡器可以有效地将用户的请求分发到多个服务器,从而实现负载的均衡,提升系统的性能和可用性。...,返回 null if (currentWeight == 0) { return null;...public synchronized String getServer() { // 初始化最短响应时间为正无穷大,最短响应时间的服务器为 null int...return minResponseServer; } } 这个伪代码中,getServer 方法每次被调用时,都会遍历服务器列表,找出响应时间最短的服务器,并返回。...这对于处理时间各异的请求非常有效,因为处理时间较长的请求会使得该服务器的响应时间增加,从而减少该服务器被分配新的请求的机会。

    1.4K20

    SQL函数 $LISTSAME

    SQL函数 $LISTSAME 比较两个列表并返回布尔值的列表函数。 大纲 $LISTSAME(list1,list2) 参数 list1 - 计算结果为有效列表的表达式。...list2 - 计算结果为有效列表的表达式。 描述 $LISTSAME 比较两个列表的内容,如果列表相同则返回 1。如果列表不相同,则 $LISTSAME 返回 0。...因此,$LISTSAME 在遇到第一个不匹配的列表元素对时返回值 0;它不检查后续项目以确定它们是否是有效的列表元素。 此函数返回 SMALLINT 类型的数据。...$LISTBUILD(NULL) 或 $LISTBUILD():单元素列表,该元素没有值。 如果列表参数为 NULL,则 $LISTSAME 返回 NULL。...如果列表参数不是有效列表(并且不是 NULL) SQL 会生成 SQLCODE -400 致命错误。

    23130

    Retrofit--合理封装回调能让你的项目高逼格

    Retrofit和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作。同时还封装了网络代码的调用。...(GsonConverterFactory.create())就可以了,但是得保证我们定义的API接口的时候Call里面的bean要和服务器返回的接口一一对应,否则这个字段就会为null,甚至网络请求失败报错...我们都知道服务器返回的结果一般都是下面这种格式的: image.png 一定是有code状态码和返回信息的,我之前的用法和教程一样,说将服务器返回的结果复制下来直接在AS上面利用GsonFormat...转化就OK了,确实很方便,但是这样下来每个bean里面都会有重复的erroe_code和message或者服务器返回其他,所以我是这样做的: public class BaseCallModel...最后分享几个不错的Retrofit博客吧: 你真的会用Retrofit2吗?Retrofit2完全教程 深入浅出 Retrofit,这么牛逼的框架你们还不来看看?

    1.6K10

    Spring Cloud- Ribbon设计原理

    ServerList维护列表可能在运行的过程中动态改变 3.2 ServerStats 作为对应Server 的运行情况统计,一般是服务调用过程中的Server平均响应时间,累计请求失败计数,熔断时间控制等...LoadBalancer 选择服务实例的流程 通过ServerList获取当前可用的服务实例列表; 通过ServerListFilter将步骤1 得到的服务列表进行一次过滤,返回满足过滤器条件的服务实例列表...; 应用Rule规则,结合服务实例的统计信息,返回满足规则的某一个服务实例; 通过上述的流程可以看到,实际上,在服务实例列表选择的过程中,有两次过滤的机会:第一次是首先通过ServerListFilter...,切且有结果返回时 3.4.3.3 定义IRule,从服务实例列表中,选择最合适的Server实例 ?...由上图可见,IRule会从服务列表中,根据自身定义的规则,返回最合适的Server实例,其接口定义如下: public interface IRule{ /* * choose one

    1.5K30

    这些年,你们一起踩过的坑(2)

    这是个很高频的问题【敲黑板!】。很多人在一开始没理解函数的返回值(return)和输出(print)的区别。 函数里 return 后面的东西叫做返回值,它是函数执行的结果,是函数里特有的。...它不影响函数本身的执行过程,是一个独立的行为。(print 本身也是一种函数) 套用刚才的例子,这个小黄鸭机器上有个喇叭(控制台),每次生成出一只小黄鸭,就会响一声(print 输出)。...而小黄鸭成品才是返回值。喇叭可以响很多次,发出各种不同声音(print 各种信息),但每次生成出的小黄鸭只有一个。 函数的返回值可以赋值给变量,之后再被使用。如果没有赋值,那返回值就没有用了。...sorted(lst) 方法是把参数列表里的元素进行排序后,生成一个新列表作为返回值。它不会影响原有的列表。 lst.sort() 则是对列表本身进行排序,改变了原有列表数据。但它没有返回值。...为什么我在函数里修改了变量,但没有效果? ? 函数里修改了 x,但是最终结果并没有变化。类似的还有程序直接报错变量未定义、不想改变的值被修改了等情况。

    60830
    领券