11 门心叼龙

我要认证

江湖人称:门心叼龙,早年从事asp,java开发,后随着移动互联网热潮开始北漂,转战Android开发,10多年软件行业从业经验,热爱技术,崇尚开源,在github开源了多个项目,累计收获近5k stars,曾在北京九五智驾等公司任职,擅长企业应用架构和设计,领导过多个企业级应用的架构设计和开发工作

等级
TA的排名 4k+

Retrofit视频教程,实战开发

本文出自门心叼龙的博客,属于原创类容,未经允许,不得转载。本专栏的同步视频教程已经发布到CSDN学院:https://edu.csdn.net/course/detail/30408Retrofit和OkHttp一样都是Jake Wharton大神的杰作,他们都是网络通讯框架,只不过Retrofit是对OkHttp的进一步封装,使其调用更加简单方便,读书要读经典,学框架也要学经典,之所以能成为经典,因为它经受住了历史的考验,得到了人们的广泛认可,我们不但要学会用,还要学习它的工作原理,学习框架所体现.

2020-09-18 15:59:19

okhttp视频教程,应用详解与源码解析

这期专栏的题目为okhttp的应用详解与源码解析,我们知道okhttp是一个网络通信框架,之所以选择网络通信这个主题,这是因为我们手机上的每个app都离不开这个功能,网通通信已经成为每个app必备的一个最基础的功能,它就像我们日常生活中的水和电一样,如果我们日常生活中没有水和没有电我们生活就没有办法正常进行了,同样道理如果我们的app应用中没有了网络通讯的功能,那么这个app就没有灵魂。csdn视频播放地址:https://edu.csdn.net/course/detail/29076本课程准备从以下

2020-09-18 14:40:54

retrofit应用详解与源码解析--奇技淫巧

本文出自门心叼龙的博客,属于原创类容,未经允许,不得转载。文章目录请求超时设置日志拦截器的设置网络的缓存设置自定义数据转换器单文件上传多文件上传文件的下载带进度条的文件下载动态的切换多个url添加一个HTTPS的请求动态的添加token访问认证RxJava的结合使用RxJava网络错误通用处理与RxLifecycle的结合使用与Deferred的结合使用与Kotlin协程的结合使用请求超时设置请求超时是通过OkHttpClient的建造者设置完成的。Retrofit retrofit = new.

2020-08-08 11:05:35

retrofit应用详解与源码解析--源码解析

retrofit是基于okhttp构建的,它的所有工作都是围绕Request和Response展开的,retrofit可以把一个接口中定义的方法通过注解把它适配成okhttp中所定义的请求命令,有了这个请求命令我们就可以发起一个同步请求和异步请求了文章目录方法注解参数注解其他注解01.用户登录【@GET+@Query】02.用户注册【@POST+@Body】03.用户登录【@GET+@QueryMap】04.用户登录【@POST+@FormURLEncoded+@Field】05.用户登录【@POST.

2020-08-05 18:06:51

retrofit应用详解与源码解析--注解详解

本文出自门心叼龙的博客,属于原创类容,转载请注明出处。文章目录方法注解参数注解其他注解01.用户登录:单个查询参数设置【@GET+@Query】02.用户注册:请求体JSON对象设置【@POST+@Body】03.用户登录:多个查询参数设置【@GET+@QueryMap】04.用户登录:单个表单参数设置【@POST+@FormURLEncoded+@Field】05.用户登录:多个表单参数设置【@POST+@FormURLEncoded+@FieldMap】06.查询用户:动态的URL变参设置【@GE.

2020-07-29 18:14:55

Typora快捷键

引用:输入>之后输入空格标题:ctrl+数字表格:ctrl+t代码块:```+空格 ctrl+alt+f插入图片:直接拖动到指定位置即可或者ctrl+shift+i插入链接:ctrl + k无序列表:输入-之后输入空格有序列表:输入数字+“.”之后输入空格任务列表:-[空格]空格 文字加粗:ctrl+b倾斜:ctrl+i下划线:ctrl+u删除线:alt+shift+5生成目录:选中一整行:ctrl+l选中单词:ctrl+d选中相同格式的文字:ctrl+e跳转到文

2020-07-22 14:09:06

retrofit应用详解与源码解析--小试牛刀

调用更加方便,更加安全,架构清晰,代码简洁,反对臃肿,这是一个好软件永远所追求的目标,今天我们就通过Retrofit来感受一下他的魅力,看看和直接使用OkHttp进行调用到底方便在哪里?在上一篇文章我们主要介绍了Retrofit的一个概况,以及几个Android网络框架他们之间的区别,今天我们就来体验一下Retrofit的使用,我们还是以okhttp专栏中的两个接口为例进行演示,一个用户登录的get请求和一个用户注册的post请求。公用数据实体定义User的定义:public class U.

2020-07-21 17:43:44

retrofit应用详解与源码解析--概述

Retrofit和OkHttp一样都是Jake Wharton大神的杰作,读书要读经典,学框架也要学经典,因为经典它经得起历史的考验,得到了人们的认可,我们不但要学会用,还要学习框架所体现出来的优秀的设计思想,设计原则,设计技巧和设计模式,以及脱离框架类似功能的实现方法,retrofit是基于okhttp构建的,因此retrofit所有的工作都是围绕RequestBody和ResponseBody展开的,Retrofit可以把一个接口里面定义的方法通过注解的方式把它适配成HTTP的请求命令

2020-07-10 17:19:59

okhttp的应用详解与源码解析--数据缓存机制

文章目录配置缓存拦截器测试缓存策略缓存管理在开发中,由于不同业务场景解,我们需要将接口返回的数据缓存到本地,以实现复用。例如,接口数据每间隔一定时间才会更新,在时间间隔内就没必要重复的向服务器请求数据,直接使用缓存即可;当 app 无法访问网络时,也可以使用缓存的接口数据,避免缺省页等等。所以使用缓存也是好处多多:节省流量、提高响应速度、增强用户体验okhttp 的缓存功能使用起来也比较简单,我们一步步来看:配置缓存配置缓存首先要指定缓存目录和缓存大小,这两个可以根据项目的需求来确定,然后使用 Ok

2020-07-01 18:59:31

okhttp的应用详解与源码解析--连接池复用机制

文章目录连接的创建连接池连接的创建是在StreamAllocation对象统筹下完成的,我们前面也说过它早在RetryAndFollowUpInterceptor就被创建了,StreamAllocation对象主要用来管理两个关键角色:RealConnection:真正建立连接的对象,利用Socket建立连接。ConnectionPool:连接池,用来管理和复用连接。在里初始化了一个StreamAllocation对象,我们说在这个StreamAllocation对象里初始化了一个Socket对

2020-06-30 17:52:11

okhttp的应用详解与源码解析--请求调度机制

文章目录请求调度线程池的配置调度策略自定义配置请求调度OkHttp 支持异步发起请求,可以不需要使用者自己创建线程池管理异步请求,它有内置实现。比如这边发起一个异步请求public void addUser(View view) { Log.v("MYTAG", "addUser start..."); //1.创建一个http客户端 OkHttpClient httpClient = new OkHttpClient.Builder().build(

2020-06-29 19:00:01

okhttp的应用详解与源码解析--拦截器源码解析

RetryAndFollowUpInterceptor:重试及重定向拦截器BridgeInterceptor:桥接拦截器CacheInterceptor:缓存拦截器ConnectInterceptor:连接拦截器CallServerInterceptor:读写拦截器文章目录RetryAndFollowUpInterceptorBridgeInterceptorCacheInterceptorConnectInterceptorCallServerInterceptorRetryAndFollow

2020-06-28 17:32:06

微信小程序中rpx与rem单位使用

本文来源于:https://juejin.im/post/583e1134a22b9d006dd9a014;谢谢原作者的分享rem的使用1) js中导入下面这段代码(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = func.

2020-06-28 16:01:03

okhttp的应用详解与源码解析--异步请求源码解析

上一篇文章我我们主要分析了okhttp同步请求的处理过程,本篇我们会分析他的异步请求的处理过程,不管是同步和异步其本质核心思想都是一致的,通过建造者来控制整个对象的构建,通过拦截器来控制整个请求的流程,只不过异步任务是在线程池中执行的罢了,就是这么点区别,具体的实现细节,待我慢慢带领大家剖析。文章目录post请求开始RealCall.enqueueDispatcher.enqueueAsyncCall.executeOnAsyncCall.executeRealCall的Interceptor总结pos

2020-06-25 10:07:15

okhttp的应用详解与源码解析--同步请求源码解析

通过前面几篇文章的学习,我们已经能够通过okhttp发送一个get同求和post请求,而且也体验了它的同步请求和异步请求,通过使用你也会感受到他的使用非常简单,确实非常容易上手,okhttp作为当今最为流行的网络请求框架,从它诞生的那天口碑一直都非常不错,大家都说他好用,功能强大,就究竟好在哪里?强在哪里?它的底层工作原理到底是什么?那么今天这篇文章将帮助大家一探究竟,注意了,该源码分析是基于OkHttpClient 3.12.10的研究。我们还是从之前讲那个同步的用户登录请求开始,看看请求的背后都发生了

2020-06-24 17:03:51

okhttp的应用详解与源码解析--链式封装

上一篇我们通过集中式封装了okhttp,集中式分装通过OkHttpManager把OkHttpClient,Request,Call,CallBack封装了起来集中管理,这种方式的主要特点就是,今天在换另外另外封装方式:分布式封装,也就是链式封装,链接封装会使你的代码更加条理化,更加优雅。架构分析在前面okhttp使用详解这篇文章我们也认识到 ,无论是OkHttpCleint的创建,还是Request的创建都使用了大量的建造者模式,建造者模式的核心思想就是将对象的创建与表示相分离,建造者的每个方法的的调

2020-06-23 14:43:58

okhttp的应用详解与源码解析--集中式封装

改进分析上一篇文章主要分享了okhttp的具体应用,我们通过一个同步的get用户登录请求和一个异步的post用户注册请求体验了okhttp的简单与便捷,但是有这么几个问题,首先不管用户登录接口还是用户注册接口,我们的第一步都需要创建一个新的OkHttpClient,如果每发送一个请求都要创建一个新的OkHttpClient 这样就会造成内存资源的浪费,这样明显是不合适的,因此我们可以使用一个单例对其进行封装,第二步通过HttpUrl,和ResponseBody构建了一个Request的请求我们把这块的具体

2020-06-23 11:26:26

okhttp的应用详解与源码解析--okhttp客户端应用

上一篇文章我们主要分享了使用springboot简单的搭建了一个服务端,并通过接口测试工具PostMan【简单方便,美观大方】进行了的测试调用,本篇我们就来真正的体验一下通过okhttp来请求我们的服务端资源。文章目录测试项目搭建同步的get请求异步的Post请求总结测试项目搭建okhttp现在最新的版本是4.4,4.0以上是kotlin版的,4.0以下的是java版,考虑到大部分用户还是使用java,所以我就选定了okhttp java版中的最后一个版本 3.12.10作为研究对象。首先我们将ok

2020-06-22 17:02:23

okhttp的应用详解与源码解析--springboot服务端搭建

在前面一篇文章我们主要分享了在Android开发中常用的一些网络请求框架,从刀耕火种时代的直接使用HttpClient和UrlConnection,再到后来对HttpClient进行了封装的AsyncHttpClient,volley,到最后okhttp的一统江湖,今天我们主要来体验一下OkHttp的简单使用。文章目录服务端项目创建数据实体的创建用户服务的创建测试服务总结服务端项目创建首先我们使用 springboot 快速的搭建一个服务端,然后我们的android客户端使用okhttp来访问服务.

2020-06-22 15:58:06

okhttp的应用详解与源码解析--android网络请求框架发展史

主要分析以下几个框架HttpClientHttpURLConnectionAsyncHttpClientVolleyOkHttpRetrofit文章目录底层网络框架封装的网络框架HttpClientHttpURLConnection存在的问题及解决VolleyOkHttpRetrofitRxJava+Retrofit+OkHttp底层网络框架HttpClient, HttpU...

2020-06-17 18:35:39

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户
  • 分享精英
    分享精英
    成功上传11个资源即可获取