工作填坑 - Retrofit 上传图片

前言 最近遇到一个很奇怪的接口,说奇怪吧,是因为我使用 Postman 能调试通,使用 xutils 框架也能测试通,单独使用 OkHttp 测试通过。可是唯独使用 Retrofit + Rxjava + OkHttp 这个组合框架一直测试不通过。 先看看接口长啥样子吧。这是上传图片,接口真让我眼前一亮 参数就一句话: Post 的 body 内容是图片的二进制数据,把图片数据读出来直接写入 body 就可以 第二个接口是可以通过返回的字符串,拼接成这个图片...

阅读更多

使用 Python 美化文本,使中文与英文,数字,标点之间添加空格

bolg 也写了一段时间了,可是最近发现,好像排版有点问题,之前一直没注意,因为是码农缘故吧, blog 中会有中文,英文,数字等,可是很多时候没注意,就直接中英文挨着写了,中间没有加空格,导致很多地方不美观。 就如下图所示 很多英文都是紧挨着中文的,个人觉得中英文直接有空格隔开,看起来更舒服。如下图所示。 作为一个码农,要是自己一个一个的修改的话,就会太 low 啊了。 因为之前也学了一点 Python ,就想着用 Python 写个脚本来来处理。 ...

阅读更多

扫盲系列 - layoutInflater中 inflate() 参数总结

动态加载布局 我们都知道加载布局,常用的两种方式 View.inflate() LayoutInflater.from(context).inflate() 两种方式 可是这两个到底有啥不同呢,其实是一样的。只不过View.inflate() 进行了一层封装而已,内部实现原理,还是 通过 LayoutInflater.inflate()方法 //View.java public static View inflate(Context context,...

阅读更多

扫盲系列 - Mac 上 更新 rvm 版本

今天在 启动 Jelly Server 的时候,提示这样一个错误 作为一个玩过一段时间 个人 bolg 的时候,一看就知道,这是没安装 jemoji ,那就安装一下吧,一条命令行的事情 gem install jemoji 可是 还是太嫩了,竟然没搞定, 出现了另外一个错误。 zeitwerk requires Ruby version >= 2.4.4. Ruby 版本过低,不对啊,我记得之前已经升级版本了,就是通过 rvm instal...

阅读更多

工作填坑 - OkHttp 支持 TCP 请求

我们都知道, OkHttp 是我们常用的网络请求框架,可是都是用在了 HTTP 请求上去了,但是我们的项目中既有 HTTP ,又有 TCP 请求,我已经使用了Retrofit+OkHttp+Rxjava的架构,难道再写一套网络请求框架吗,能再这上面改造一下,也同时支持 TCP 请求吗?然后就有了这篇研究。 在这之前,对 OkHttp 了解少的,可以先查阅 源码分析 - OkHttp 对 OkHttp 源码有一个基本认识。 OkHttp 真正请求的地方是 Ca...

阅读更多

源码分析 - OkHttp

前言 把大象放到冰箱里面,一共需要几步。 打开冰箱门 把大象放进去 关上冰箱门 其实 OkHttp 请求也很简单 装配Request(涉及到了请求方法, url , cookie 请求) Client 端发送 Request 请求 接收服务端返回的 Response 数据 so easy OkHttp 的使用请参考 扫盲系列 - OkHttp 基本用法 以下是 OKHTTP 一个常见异步用法实例 OkHttpClient ...

阅读更多

工作填坑 - Retrofit 中对 addCallAdapterFactory() 的理解

使用 Retrofit 的时候, addConverterFactory() 和 addCallAdapterFactory() 好像是必备的, 在上一篇中的 我们知道了 addConverterFactory() 其实就是为了处理请求数据和响应数据的,但是 addCallAdapterFactory() 这个是干嘛的呢,今天就来看一下。 addCallAdapterFactory() 官方给的解释是 Add a call adapter factory f...

阅读更多

工作填坑 - Retrofit 同时支持对 Json 格式和原始数据

最近在封装 HTTP 请求的时候,发现了一个挺悲催的事情,服务端返回的数据,有时候是 json 格式,有时候又不是 json 格式,身为乙方的我,又没办法要求甲方去修改成统一的 json 格式,可是如果统一返回原始数据,又感觉要做太多的无用代码,毕竟使用的是 retrofit + rxjava+ OKhttp ,得充分发挥他们三个的作用才行。 然后就想着自己封装的框架能不能同时兼容 Json 格式和非 Json 格式呢? 感觉应该是可以的,因为我们通常使用 R...

阅读更多