首页
学习
活动
专区
工具
TVP
发布

我就是马云飞

专栏作者
97
文章
112703
阅读量
32
订阅数
Gradle 提速:每天为你省下一杯喝咖啡的时间
作为一名 Android 开发同学,当你的工程和代码达到一定规模的时候,相信你一定遇到过编译速度过慢的问题。比如:
我就是马云飞
2018-12-13
5050
JJEvent 一个可靠的Android端数据埋点SDK
注:代码已经经过线上项目验证, 横向Google统计对比,统计数据无丢失,性能稳定.
我就是马云飞
2018-10-25
1.9K0
设计模式二十四章经之抽象工厂模式
概述 前面我们已经说到了工厂模式,现在我们扯扯抽象工厂模式。从字母意思理解下,工厂也就是会生产指定的产品。那么抽象工厂就意味着生产出来的产品不是指定的。往简单点说,抽象工厂就是为创建一组相关或者相互依赖的对象提供一个接口,而不需要指明他们的具体类。 使用场景 一个产品族有相同的约束时可以使用抽象工厂模式。是不是听起来很抽象?比如android、ios下都有短信软件和拨号软件,两者同属于软件。但是,他们所在的系统不一样,即使是同一家公司出品的软件,代码实现也是不一样的。这个时候就可以考虑使用抽象工厂模式来
我就是马云飞
2018-06-22
2700
设计模式二十四章经之责任链模式
概述 责任链模式,顾名思义,它是一个链式模型,这种模式给予请求的类型,对请求的发送者和接收者进行解耦。对于这种结构,每个节点可以拆分在链接,所以,这种模式有着较好的灵活性。 使用场景 多个对象处理同一个请求 在请求处理者不明确的情况下向多个对象中的一个提交一个请求。 需要动态指定一组对象处理请求。 具体实现 众所周知,Android中最常见的责任链模式。现在我们来实现一个简单的责任链模式。 我们写一个抽象类来指定所有的等级划分。 public abstract class AbstractLogg
我就是马云飞
2018-06-22
4680
你们期待的面经来了。
概述 时隔一个多月,我又回来了。这段时间有不少人问我最近在干嘛,面经什么时候写,怎么这么久没更文了等等等等。当然了,最近我一直在执行了一次我计划了近半年的跳槽。总得而言还不错。说下我的情况。我是去年九月份开始计划,十一月份开始准备,投了100+家公司,拿到了20+个面试,总共面试了四家,拿到了3个offer,周期差不多是一个月时间。 这个面经可能不是适合所有人,毕竟这次不是一线大厂的面经。不过内容可能你看了至少会发现自己还缺乏哪方面的知识点。适合人群: 学历一般 技术一般的中级开发:毕业1-3年 安卓应用层
我就是马云飞
2018-06-22
5990
深入浅出android热门框架okhttp和retrofit的原理
大家好我是张拭心,最近参与公司项目的基础网络模块重构,在对 OkHttp 封装、拓展的过程中发现了很多疑惑的地方,于是深入阅读了一下 OkHttp 和 Retrofit 的源码。 第一次读完只了解了基本的请求过程,在和架构师大佬交流后发现他提到的关键字我都不清楚;于是花了一个周末又把不懂的核心读了一次,自信满满地去和大佬交流,发现大概认识有了,细节还是不理解;于是又花了一周下班时间查资料、看源码,把细节捡了一遍,前前后后总共花了一个多月。 封装、实现一个框架时最快的方法是参考、学习现有的, 在封装 OkHt
我就是马云飞
2018-06-22
9720
设计模式二十四章经之建造者模式
概述 建造者模式又称Builder模式,它是一步步创建一个复杂的对象然后进行构建。可以精准的控制对象的构造过程。此模式是将构建复杂对象的过程与它的部件解耦,使得构建过程和部件的表示隔离开来。 一个对象有很多复杂的信息,比如人,有身高,体重,性别,姓名,年龄等等。如何将这些信息给组合起来,然后形成这个对象。比如男生很多,20岁的男生也很多。这个信息组成的过程很漫长。对于这种情况,构建过程中对外部影藏了具体如何实现的,使得组成过程中可以自由扩展,也就降低了两者的耦合度。 使用场景 1、相同的方法,不同的执行
我就是马云飞
2018-06-22
4660
找工作时,我们应该思考的几件事情。
现在身为跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。 简历怎么投? 众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。这边我不分析简历怎么写。来说说怎么投。在座的各位,有在校生,有毕业生,还有工作几年的。 先说说在校生。其实,现在的在校生可能不比哪些工作了1-2年的人差。因为现在教学资料多了。老师也不是那种只知道个四大组件的了。不像我之前学Android,翻了学校图书馆没找到一本Android书。那么在校生的简历怎么投?你们可以去想去的各大公司的官网去查看对应的校招岗
我就是马云飞
2018-03-26
8380
Rxjava2最全面的解析
前言 由于公司重新规划的部门,我调到了另外一个部门,所以负责的项目也换了,仔细看了下整体的项目,rxjava+retrofit。整体的一套。众所周知,rxjava+retrofit是目前网上最流行的网络解析框架。而目前网络上的文章大多还是关于rxjava1的。关于RxJava2的少之又少,于是,便有了此文。 此文的目的有三个: 1. 给对 RxJava2感兴趣的人一些入门的指引 2. 给正在使用 RxJava2但仍然心存疑惑的人一些更深入的解析 3.给想从RxJava1替换成RxJava2的人给出直接的对
我就是马云飞
2018-02-05
2.3K0
View的绘制流程之MeasureSpec
目的 我在一个多月之前就说我准备开始梳理基础的事,好吧,我承认这一个月没我怎么梳理。或者梳理的不多,当我梳理到view的时候,发现需要分成绘制流程以及事件分发进行处理。一开始是想整理一般面试的概要。后来想想,还是看源码慢慢整理把。当我把整个绘制流程的源码看完之后,我突然对一个词比较陌生,就是MeasureSpec。然后就决定整理一波。 MeasureSpec概念 通过源码我们可以知道MeasureSpec是View的内部类,用来控制view的尺寸。也就是view的宽高是由他决定的。MeasureSpec的源
我就是马云飞
2018-02-05
5480
View的绘制流程源码分析
概述 View的绘制流程主要是指测量、布局以及绘制显示,在View中,measure是测量View的宽高,layout是控制View四个顶点的位置,而draw就是将布局直接绘制出来。 Measure流程 measure的流程氛围View的measure流程以及ViewGroup的measure的流程。之所以把View和ViewGroup分开就是因为ViewGroup不仅仅要测量自身的宽高,而且还需要通过递归将子view的宽高测量出来。 View的measure过程 View的measure说简单也简单,说复
我就是马云飞
2018-02-05
5740
得到Android团队无埋点方案
概述 客户端埋点是数据收集的最基本手段,但由于业务迭代速度很快,手动埋点方案虽然灵活多变,但是极大的增加了客户端开发人员的工作量。开发完成业务功能需要花费很大的精力处理埋点事宜,而且随着迭代版本,埋点的数量会越来越多,这些老旧埋点的维护工作也需要付出不小的努力。并且,手动埋点的正确性同样是个极度考验开发人员的耐性和认真程度的问题,在所难免会出现这样那样的问题。所以,如果能够研发出一款不需要或者很少需要开发人员介入就能实现根据不同业务场景埋点的功能sdk对于提高版本迭代速度和开发人员的幸福感绝对是一件非常有
我就是马云飞
2018-02-05
2.2K0
MVVM框架实现组件化之整体结构
google官方MVVM框架讲解 我前面对比了MVC和MVP《两张图看懂Android开发中MVC与MVP的区别》,可以相对于MVC我们的MVP是有多优越,但是Android开发现在已经开始流行了MV
我就是马云飞
2018-02-05
1.8K0
从架构角度看Retrofit的作用、原理和启示
前言 Retrofit是squareup公司的开源力作,和同属squareup公司开源的OkHttp,一个负责网络调度,一个负责网络执行,为Android开发者提供了即方便又高效的网络访问框架。 不过,对于Retrofit这样设计精妙、代码简洁、使用方便的优秀开源项目,不能仅知道如何扩展和使用,或者仅研究它采用的技术或模式,“技”当然重要,但不能忽视了背后的“道”。 对于Retrofit,我们还应该看到的,是她在优化App架构方面的努力,以及她在提升开发效率方面的借鉴和启示。 本文试图通过一个具体场景,先
我就是马云飞
2018-02-05
2K0
随手一写就是一个侧滑关闭activity
实现原因 其实侧滑关闭activity在网上也有大量的文章去介绍他,我也有去看,要么是代码实在太多看不下去,要么就是跑了项目没有反应的。唯一的方法还是自己随手鲁一个~,侧滑这个东西在android中是比较少见的,ios是最常见不过了,因为毕竟他们没有物理返回键。还有UIScrollView那些。然而我们用的最多的QQ也只是有个功能,并没有真正的滑动效果。至于微信的,我记得N久以前滑出了一个bug。也没什么印象了。估计也是极小的概率事件。于是,当初我就强行的鲁了一个。下面我们一步步分析实现的思路以及代码。
我就是马云飞
2018-02-05
1.1K0
Android MVP升级路(一)乞丐版的自我救赎
引言 记得第一次接触MVP开发是上大学的时候,当时看了数十篇关于MVP的文章,这里不得不吐槽一下国内技术帖子的质量真是参次不齐啊。看完之后一直懵懵懂懂的,总觉有几处关键的地方没搞清但是文章中却一带而过了,比如: 关于如何在Activity中高效的复用Presenter和View; Mode层定义到什么程度才算是比较理想的解耦; Model层与Presenter层如何比较优雅的相互通信。 抱着这些问题,我自己摸索着构建出了一套个性化风格MVP架构,使用过程中也优化了几次,如今一年多过去了再看这套架构也就算
我就是马云飞
2018-02-05
1.1K0
Android MVP升级路(二)时尚版
前言 第一篇文章的结尾对时尚版MVP结构做了一个简单的预告,下面继续从时尚版MVP说起。 时尚版MVP架构-Model层的优化 在从乞丐版MVP架构优化成平民版MVP架构的过程中,几乎每个单元都做了很大优化并封装到了base层,但是唯独Model层没什么变化。所以,时尚版MVP架构的优化主要就是对Model层的优化。 单独封装,集中管理 Model层相比其他单元来说比较特殊,因为它们更像一个整体,只是单纯的帮上层拿数据而已。再就是MVP的理念是让业务逻辑互相独立,这就导致每个的网络请求也被独立成了单个Mo
我就是马云飞
2018-02-05
8760
带你实现漂亮的滑动卷尺
前言 HenCoder最近在搞一个仿写活动,活动地址 http://hencoder.com/activity-mock-1/,之前关注过他写的关于绘制系列的文章,今天就拿这个来练练手,我选择模仿的是
我就是马云飞
2018-02-05
1K0
仿bilibili刷新按钮的实现
简述 最近跟小伙伴一起讨论了一下,决定一起仿一个BiliBili的app(包括android端和iOS端),我们并没有打算把这个项目完全做完,毕竟我们的重点是掌握一些新框架的使用,并在实战过程中发现并弥补自身的不足。 本系列将记录我(android端)在开发过程中的一些我觉得有必要记录的功能实现而已,并不是完整的从0到1的完整教程,若个别看官大爷觉得不好请出门左拐谢谢。 以下是该项目将会完成的功能。 视频播放功能 直播功能 弹幕功能 换肤功能 ... 本系列文章,将会有记录以上功能的实现但不仅仅只有这些,还
我就是马云飞
2018-02-05
1.4K1
一个精致的打钩小动画
前言 最近在看轻芒杂志的时候,看到一个动画很带感很精致; 恰好这段时间也在看【HenCoder】的自定义view教程(里面写得非常非常详细,也有相应的习题等等),所以就趁热打铁,熟悉一下学习的知识。
我就是马云飞
2018-02-05
1.4K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档