移动开发后花园
文章平均质量分 87
移动开发后花园
梦里梦到醒不来的梦里
这个作者很懒,什么都没留下…
展开
-
Retrofit是如何创建的?为什么要用动态代理
Retrofit的出现让Android的网络请求变得异常简单,同时可以很好的配合后台的REST接口。非常值得我们去探究一下它的原理。 Retrofit的使用 通常我们是Retrofit是和Rxjava配合使用,这里我们不做用法上的过多研究,主要看原理,所以下面的代码都是Retrofit的自身API,没有用Rxjava。 下面是一个普通get请求 1.新建接口 新建接口API.java文件: p...原创 2019-04-02 09:52:18 · 841 阅读 · 0 评论 -
Retrofit2.5是如何解析在接口类中定义的方法?
前言 Retrofit的核心在于它的create方法中使用了动态代理,在这里面主要是loadServiceMethod方法: 以下代码基于Retrofit2.5.0(跟2.3.0代码存在明显不同) public <T> T create(final Class<T> service) { //省略无关代码 return (T) Proxy.newPr...原创 2019-04-03 16:14:14 · 385 阅读 · 0 评论 -
解决RecyclerView在ScrollView中会置顶它上面的控件
通常情况下,需要在RecyclerView上加布局可以通过自己定义adapter然后add header来添加。 但是也还有一种方法来实现,那就是用ScrollView来嵌套,比如这样的代码: <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"...原创 2019-02-14 10:56:14 · 558 阅读 · 0 评论 -
底部Tab+FrameLayout嵌套CoordinatorLayout+Viewpager切换时布局错乱
顶部伸缩效果 现在要实现这么一个效果,有一个标题栏(或者其他控件),下面是tablayout+viewpager,然后在viewpager里面的内容滑动的时候tab悬浮,有点像微博热搜的界面 ####向下滑动之前 ####向下滑动之后 CoordinatorLayout实现头部布局滑动时隐藏 在5.0之后,Google推出了一系列md控件,其中用的最多的就是CoordinatorLayout,...原创 2019-01-19 15:54:41 · 2256 阅读 · 3 评论 -
OkHttp3.9拦截器原理与区别
接上回传送门 上回我们讲到,OkHttp的请求过程中有个非常重要的东西-“拦截器”,而且拦截器又分为interceptors和networkInterceptors两种,那它们具体有何区别呢?又要怎么来使用?现在来一探究竟 拦截器工作原理 在弄清楚区别之前,要先知道他们工作的原理,还是来到RealCall.execute方法里面的getResponseWithInterceptorChain...原创 2018-05-21 10:37:46 · 945 阅读 · 0 评论 -
OkHttp3.9请求过程源码解析
首先来看看OkHttp的基础 创建一个普通的同步get请求代码如下: OkHttpClient client = new OkHttpClient();//1 String run(String url) throws IOException { Request request = new Request.Builder().url(url).build();//2 Respons...原创 2018-05-10 18:03:46 · 490 阅读 · 2 评论