自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

你关注了我,是个概率极低的事件......

美团外卖移动端开发工程师、上海大学硕士

  • 博客(6)
  • 收藏
  • 关注

原创 【Android View相关】自定义价格日历(附demo)

一. 引言最近刚刚实现了日历页,感触颇多。这个日历页跟我之前开发的任何一个页面都不太像,这个页面的所有模块之间都有关联,一个模块的数据层有任何修改,其他模块都要跟着改变,关联性非常强。具体如下图所示: 这只是一个基本流程的截图,当满足某些条件还会出现“帮我下单”等模块。这里说一下我对开发完这个页面的感想:1. MVP架构的优势完全凸显出来。(1)可以看到这些模块几乎都是关联的...

2018-03-24 11:06:38 1687 6

原创 【Android 编程框架】网络缓存框架重构

背景为什么想到了要对网络框架和缓存框架进行封装?我们之前的框架层分别封装了网络框架和缓存框架,但是我们没有对网络缓存框架进行一个总的封装。也就是说,我们需要自己去控制是从网络获取数据还是从缓存获取数据。控制代码如下: 这个是我们请求数据的方法,它包含两个参数:useCache和forceUpdate。 useCache forceUpdate 效果 true...

2018-03-17 00:44:30 270

原创 【Android 热修复与插件化 一】带你入门Android插件化(附demo)

一. 背景Android插件化作为每个合格的Android程序员都必须会的技术,被各大厂广泛使用。随着各大厂对移动互联网的垄断,我们渐渐发现app集成的功能越来越多。比如如下几个app(携程、淘宝、支付宝): 可以看到每一个app都被集成了无数的功能入口,就拿淘宝来说,“天猫”、“外卖”、“飞猪”、“拍卖”,这任何一个入口都其实是一个app,只不过被集成到“淘宝”这个入口里了。如果没...

2018-03-08 00:13:41 10701 31

原创 【Android okhttp源码解析 五】拦截器流程和源码解析

拦截器是okhttp中非常重要的概念,我们来看下okhttp官网是如何描述其拦截器功能的。 它可以实现网络监听、请求以及相应重写、请求失败重试等功能。我们来看看拦截器是如何工作的。1. 还记得getReponseWithInterceptorChain()方法吗?我来看下其内部实现。 我们把原始请求originalRequest交给拦截器链chain,这个拦截器链就添加...

2018-03-30 11:31:59 520

原创 【Android 设计模式】Builder模式

一. java的builder模式详解1. 概念又名建造者模式,是较为复杂的创建性模式,它将客户端与包含多个组成部分的复杂对象的创建过程分离。主要是为了将复杂对象的构建与表示分离。2. 使用场景当构建一个对象需要很多参数,并且参数个数或者类型不固定的时候。 glide图片加载的时候,可以设置缓存、图片大小等,使用的就是builder模式。3. UML结构图分析...

2018-03-21 23:42:58 505

原创 【Android源码解析】从源码角度深入分析AsyncTask原理

一. 什么是AsyncTask?是Android提供的轻量级的异步类,封装了线程池和handler。它是个抽象类,使用时需要去继承它,然后去实现异步操作,并反馈异步执行的结果。二. AsyncTask使用方法首先先来看个例子,这是之前写过的一个gif图片下载的异步任务。使用AsyncTask要注意它的三个参数和五个方法。 1. 三个参数 第一个,代表执行AsyncTask传入的参数...

2018-03-20 00:14:08 313

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除