2 ༺ IF ༻

尚未进行身份认证

我要认证

欢迎关注我哦,QQ群:705884058

等级
TA的排名 2w+

吊打面试官——史上最详细【OkHttp】四(完结篇)

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。上一篇博客我们介绍了前三个拦截器,其中比较有难度的就是CacheInterceptor拦截器,它的底层是基于DiskLruCache的,面试也有可能会被问到原理!本篇继续介绍剩下的两种拦截器,ConnectInterceptor和CallServerInterceptor拦截器。开始学习!@TOC一.ConnectInterceptor1.1 源码分析

2020-06-02 11:56:44

吊打面试官——史上最详细【OkHttp】 三

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。前面已经简单的介绍了拦截器的概念和每一种拦截器的作用,凭借这一点还不足以打动面试官,还需要对每一个拦截器的源码有所了解,才能够扛住面试官的各种问题!@TOC1.RetryAndFollowUpInterceptor1.1 源码分析我们知道拦截器链执行procced方法执行拦截器链中的每一个拦截器,拦截器则调用自身的intercept方法执行,所以我

2020-05-31 14:16:50

吊打面试官——史上最详细【OkHttp】二

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。上一篇给男朋友介绍了Okhttp的基础知识,OkHttpClient,Request,Call,RealCall以及同步执行和异步执行的源码解释。从这篇博客开始,会给男朋友深入分析拦截器链!拦截器链是OkHttp的一个核心内容,非常非常重要,问到OkHttp不可能不问拦截器链!我们先简介一下拦截器的思想,然后再对每一个拦截器做详细的介绍!拦截器一.拦截器的

2020-05-30 23:24:53

吊打面试官——史上最详细【OkHttp】一

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。前言:OkHttp源码是面试中常问的,在腾讯二面中,被面试官追着问Okhttp的原理,当时只是面试前看了几篇Okhttp的分析博客,自然也就禁不住拷问,这次我深入底层源码看了两三遍,看完以后就一个感受,妙哉,不愧是顶级工程师写出来的代码!本章节将会分为几篇进行讲解,希望诸君有所收获!OkHttp第一讲一.从基础说起1.1 OkHttpClient1.2

2020-05-30 15:59:20

写给小白的RxJava教程(四)

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。RxJava教程(四)一.再谈操作符1.1 zip操作符1.2 zip带来的问题1.2.1 如果两个Observable发射事件的数量不同会产生什么?1.2.2 如何避免OOM?二.Flowable三.总结这是RxJava系列的最后一篇,要想完全掌握RxJava使用,只有先掌握其重要的方法,在具体场景使用到的时候,再查询其他的方法,节省学习成本。一.再谈

2020-05-26 16:26:37

写给小白的RxJava教程(三)

简介:大三学生党一枚!主攻Android开发,乐于交友一起学习!个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。RxJava教程(三)一.RxJava中的创建操作符1.1 create1.2 just1.3 interval1.4 range1.5 timer2.1 map2.2 flatMap2.3 concatMap2.4 flatMapIterable2.5 buffer三.总结一.RxJava中的创建操作符什么是创建操作符?简而言之,就是会返回一个Observab

2020-05-25 21:30:29

Retrofit入门这一篇就够了

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。Retrofit入门一.Retrofit介绍二.Retrofit注解2.1 请求方法注解2.1.1 GET请求2.1.2 POST请求2.2 标记类注解2.2.1 FormUrlEncoded2.2.2 Multipart2.2.3 Streaming2.3 参数类注解2.3.1 Header和Headers2.3.2 Body2.3.3 Path2.3.4

2020-05-25 12:29:29

写给小白的RxJava教程(二)

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。RxJava线程切换一.场景二.切换类型2.1 Schedulers2.2 subscribeOn2.3 observerOn三.登录实例四.总结一.场景在普通操作的代码中,如果我们想要实现登录功能,那么势必要请求后台服务,获取登录的结果,然后根据结果做不同的更新UI的操作。由于主线程不能执行耗时操作,所以网络请求正常情况下都要放在子线程执行,然后需要借

2020-05-24 22:27:34

写给小白的RxJava教程(一)

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。RxJava教程 (一)一.RxJava简单介绍二.RxJava的理解2.1 上下游的比喻2.2 浅观设计模式三.RxJava基础知识3.1 ObservableEmitter3.2 Disposable四.简单的RxJava案例总结一.RxJava简单介绍可能刚接触RxJava的朋友并不知道RxJava真正的作用是什么,看书上说的什么函数响应式编程,极

2020-05-24 16:03:28

Android ScrollView——空间杀手

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。在我看来移动端和Web端相比,Web端同一个页面能够展现的内容更多,而移动端限于屏幕尺寸,展现的内容是有限的。今天介绍一个大软件中常用的控件ScrollView——空间杀手。我们先展示几个ScrollView在软件中的使用。腾讯视频这种导航栏可以使用ViewPager+Fragment来实现,我们今天尝试用ScrollView来实现这种效果。Sc

2020-05-23 21:54:42

Android菜单详解——实战微信菜单

简单介绍一下自己,大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。菜单在Android中可谓必不可少,为了节约布局的控件,采用菜单能够节省空间。淘宝,QQ,微信等软件中,都有菜单的身影,那么如何才能够设计出一套美观实用的菜单呢?我们先要对菜单有一个总体上的认知。菜单全解一.菜单的基础知识1.1 菜单分类1.2 不同菜单创建的方法1.2.1 menu主要方法说明1.2.2 选项菜单1.2.3 上下文菜单1.2

2020-05-22 23:19:15

Android Spinner 只需要这一篇就能解决问题

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。在开发过程中,经常会用到Spinner列表,比如说选择学院班级,选择省市等。如何实现联动的省市选择,本篇会给出答案。Spinner用法比较简单,但是想要用的好,还是需要对它熟悉才可以,下面一起来学习Spinner。Spinner的秘密一.Spinner的基础知识1.1 spinner的常用方法1.2 图解方法作用二.实战Spinner列表2.1 在布局中

2020-05-21 23:20:09

最全AltertDialog 你只需要这一篇就够了

简单介绍一下自己,大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。AlterDialog详解一.AlertDialog的基础知识1.1 AlertDialog的构造函数1.2 辅助类函数介绍1.3 AlertDialog的一些问题1.3.1 dialog.show()和builder.show()的区别1.3.2 builder的一系列设置方法是怎么添加到dialog中的?1.3.3 AlertDialog的

2020-05-21 17:50:48

Android Bitmap史上最详细全解

深度解剖Bitmap一.Bitmap的相关使用二.Bitmap的格式2.1 存储格式2.2 压缩格式三.Bitmap创建方法3.1 Bitmap.Options3.2 BitmapFactory3.3 Bitmap静态方法3.4 创建Bitmap的总结四.常见函数4.1 函数及其参数4.2 综合案例演示五.常见问题5.1 Bitmap与Canvas,View,Drawable的关系5.2 使用Bitmap如何造成内存溢出的?5.3怎么解决或者避免Bitmap内存溢出?5.4Bitmap与Drawable的转

2020-05-19 20:33:17

别再使用单一框架了,XUtils——你值得拥有!

XUtils使用详解一. XUtils是什么?简介使用前配置二.XUtils加载图片ImageOption加载网络图片加载Android资源图片加载sd卡图片三.XUtils请求网络RequestParamsget请求post请求四.使用总结一. XUtils是什么?简介xUtils 包含了orm, http(s), image, view注解, 但依然很轻量级(251K), 并且特性强大, 方便扩展.orm: 高效稳定的orm工具, 使得http接口实现时更方便的支持cookie和缓存.灵活的

2020-05-18 09:26:46

Android同步错误 Caused by: java.io.EOFException: Unexpected end of ZLIB input stream

原因:gradle版本的问题解决方案:重新建立一个能够正常同步的项目,修改两处文件第一处:dependencies { classpath 'com.android.tools.build:gradle:3.6.3' //将gradle版本号改为你可以正常运行的版本号 }第二处gradle——》wrapper——》gradle-wrapper.propertiesdistributionBase=GRADLE_USER_HOMEdistr

2020-05-17 15:25:31

AlarmManager实现定时任务和取消任务

场景:有时我们的项目中可能需要用到定时任务,在Android中,我们可以通过AlarmManager + PendingIntent来实现这一功能,比如说闹钟提醒,系统的闹钟只能选择星期,而不能选择年月日,如果我们指定带有具体时间的提示该怎么做呢?思路:我们可以使用定时任务结合广播来实现,但是注意:需要做进程保活,如果制定定时任务的app进程被杀死,广播中的内容就无法执行。 除此之外,其他定时任务也可采用该方式实现,但需要注意广播处于主线程中不能执行耗时操作,如要实现定时刷新内容,请使用子线程执行。 一

2020-05-16 22:01:25

支付宝——仿支付动画可用源码

功能1.支持成功,失败,延迟的回调监听2.支持自定义圆环颜色,路径颜色,圆环宽度,路径宽度import android.animation.ValueAnimator;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import ...

2020-05-04 22:35:12

Android自定义圆环计时器——史上最详细篇

自定义的圆环计时器提供了以下属性<declare-styleable name="TimerCircle"> <!--圆环的宽度--> <attr name="width" format="dimension"></attr> <!--内圆的颜色--> <a...

2020-05-03 23:06:36

面试官问我注解怎么使用?我这样告诉他

上次面试官问我注解,怎么自定义注解?我告诉他我不会就这样等我再去查校招进度的时候俺发奋图强,通过一天的学习,终于明白注解。自定义注解的使用!通过注解我们能干什么?注解究竟有什么好处?话不多说,直奔主题!自定义注解的创建import java.lang.annotation.Retention;import java.lang.annotation.RetentionPo...

2020-04-27 15:41:32

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 精彩红人
    精彩红人
    发布高质量Blink获得高赞和评论,进入精彩栏目即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。