
源码分析
拆解github一些感兴趣的轮子,以及android中一些源码的分析
程序员龙湫
全栈开发,阿里&字节 面试官,目前在字节写Android;分享经验与技术干货,帮你少走弯路
展开
-
butterknife及其背后的代码生成技术
本篇博文主要介绍butterknife使用及其背后的技术点,行文结构如下0x00 butterknife项目地址: https://github.com/JakeWharton/butterknife github原文是这样介绍的 Field and method binding for Android views which uses annotation processing to gene原创 2017-11-02 20:27:18 · 2788 阅读 · 0 评论 -
2个关于Adapter库的源码分析(AdapterDelegate、BaseRecyclerViewHelper)
0x00 概述 核心思想:都是围绕如何解决viewType、视图、数据与视图的绑定来进行一系列的封装,不同的库有着自己不同的手段而已Adapter能在数据变化时候,内部实现逻辑不会改变,仅在外部添加新功能即可,那么要求Adapter对数据层是解耦的,不能显示持有外部数据,核心要点要把握好 RecyclerView的3个核心APIgetItemViewType : 根据position返回的一原创 2017-10-30 20:08:15 · 3431 阅读 · 1 评论 -
注解库之ButterKnife
butterknife解决的问题项目地址: https://github.com/JakeWharton/butterknife github原文是这样介绍的 Field and method binding for Android views which uses annotation processing to generate boilerplate code for you.翻译过来就原创 2017-07-29 17:19:51 · 2210 阅读 · 6 评论 -
注解库之Dagger2
Dagger2Step1 使用0x00 Dagger2介绍 Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier versioncreated by Square and now maint原创 2017-07-29 16:20:16 · 1156 阅读 · 1 评论 -
拆轮子之Fish动画分析
概述最近发现一个很好玩的动画库,纯代码实现的https://github.com/dinuscxj/LoadingDrawable,这个动画效果使用drable来实现,觉得很好玩,先分析这个Fish动画(上面是鱼,下面是ghosteye,可是我看半天看不出哪里像 ghost ╮(╯▽╰)╭)。类图项目整体是采用了策略模式(Strategy)通过给LoadingDrawable设置不同的Loading原创 2016-05-24 22:46:36 · 4742 阅读 · 4 评论 -
拆解轮子之XRecyclerView
简介这个轮子是对RecyclerView的封装,主要完成了下拉刷新、上拉加载更多、RecyclerView头部。在我的Material Design学习项目中使用到了项目地址,感觉还不错。趁着毕业答辩还有2个星期,先把这个轮子拆了看看,这个项目地址在XRecyclerView,先贴个效果图,更多效果图请进入项目中查看。 使用使用起来也比较简单,首先向普通RecyclerView那样:LinearL原创 2016-05-11 11:38:07 · 27896 阅读 · 18 评论 -
NumberProgressBar开源项目学习
1、概述多看多学涨姿势, github真是个宝库这个项目主要是实现数字进度条效果github地址在https://github.com/daimajia/NumberProgressBar感谢开源作者!梳理主要知识点:【1】熟悉自定义view的流程【2】实现原理【3】android中的view坐标系使用【4】onMeasure优雅的方法书写【5】ca原创 2016-01-20 23:47:41 · 2592 阅读 · 4 评论 -
BezierDemo开源项目的学习
多看多学涨姿势,no zuo nuo die做暖男1、概述国际惯例,首先感谢一下开源作者。这个项目主要是实现实现qq红点拖拽的效果 地址在https://github.com/chenupt/BezierDemo梳理主要知识点【1】贝塞尔曲线的使用【2】动态添加view【3】判断点击事件是否在指定区域【4】帧动画2、关键点【2.1】贝塞尔原创 2016-01-17 00:21:49 · 1303 阅读 · 0 评论 -
通信录列表+复杂Adapter分析
概述最近写论文之余玩起了github,发现有个citypicker挺不错的,高仿了美团城市选择和定位的一些功能 地址链接 效果图如下: 自己手动写了一遍优化了一些内容,学到了一些姿势,下面对其中一些技术点做下总结。清晰的结构SideLetterBar实现城市列表如何显示字母浮窗复杂的Adapter原创 2016-03-06 21:31:57 · 1578 阅读 · 0 评论 -
开源项目AndroidReview学习小结(2)
androidReview 开源项目总结原创 2016-03-29 19:24:12 · 1373 阅读 · 0 评论 -
开源项目AndroidReview学习小结(1)
androidReview开源项目学习小结原创 2016-03-29 15:45:58 · 1479 阅读 · 0 评论 -
EventBus3.0 study
概述eventbus出来很久了,最近想用一下eventbus,自己对着一些博客撸了一个demo,发现竟然crash了,然后去看看源码发现3.0的eventbus有了很多改动。技术变化真快,得保持谦虚的态度,踏踏实实的学习。正好今天内部群里发了一个如何新技术的学习图,感觉挺好的 作为一个android入门小白还是要多学点。基本概念eventbus是一个是一个Android端优化的p原创 2016-04-04 22:59:57 · 2183 阅读 · 0 评论