Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Android 优质开源项目剖析与技术进阶

本系列的文章主要面向以下几类读者:

  1. 不满足于简单使用开源库,想要通过探究其原理精进自身技术或创建自己的开源库
  2. 对于新技术RxJava等的实践处于摸索状态,希望有优质的code实例及细致分析来让你迅速上手一门新技术;
  3. 对于一些底层库网络底层库Retrofit图片加载库Picasso/Glide等实现原理保持好奇。

比起阅读枯燥文档,独自摸索一门技术的最佳实践,我们还有一种方法能够快速而稳定的精进自身的开发水平,那就是通过阅读、分析、仿写与理解优质的开源项目。

一、已有文章

Application

分析文档作者开源项目介绍添加时间
自己动手实现OkHttpwingjayOkHttp学习okhttp世界级项目的思维精华20160721
RxLifecycle: 当Activity被destory时暂停网络请求wingjayRxLifecycle处理RxJava中内存泄漏问题20160715
Meizhi Android之RxJava & Retrofit最佳实践wingjayMeizhi使用RxJava & Retrofit的sample20160416

View

分析文档作者开源项目介绍添加时间
JJSearchViewAnim源码分析Skykai521JJSearchViewAnim20160417
SwipeBackLayout源码分析Skykai521SwipeBackLayout20160417
HTextView源码分析Skykai521HTextView20160417

Library

分析文档作者开源项目介绍添加时间
ButterKnife源码分析BigFootprintButterKnife20160423
RxPermissions源码解析Skykai521RxPermissions20160417
BarcodeScanner源码分析Skykai521BarcodeScanner20160417
ViewAnimator源码分析Skykai521ViewAnimator20160417
uCrop源码分析Skykai521uCrop20160417
Picasso源代分析Skykai521Picasso20160417
EventBus 3.0源码分析Skykai521EventBus20160417

二、我们会挑选哪些优质开源项目

1. 新技术

我们会挑选覆盖RxJavaReact NativeDynamic loadDaggerRetrofit等新技术的开源项目,分析总结出新技术最佳实践供读者阅读仿写,快速将新技术应用到自身项目开发中,不用反复踩坑。

2. 底层库

初级程序员会调用API、实现基本功能; 中级程序员开始封装,消除ugly代码; 高级程序员能够设计架构,重构出优雅代码。

我们会挑选一些优秀底层库,深入浅出的去分析它们的设计思想,阐述如何把这些设计思想融入到自身实际项目中。

3. 自定义View

很多人习惯了在Github寻找通用的UI库。

坏消息是,UI的变化千千万,迟早有一天我们会不得不由于自己项目的特殊性,而要自己来实现自定义view。

好消息是,自定义view虽然变化万千,但却不离其宗,而我们的分析就是尝试向你讲述如何理解自定义view的原理

三、加入我们

如果你对本项目有兴趣,你可以选择以下方式之一加入进来:

  1. 阅读者start & watch这个项目,关注微信公众号CoolCoder,我们会在第一时间推送。
  2. 写作者。如果你热爱分析开源项目,热爱分享与写作。那就挑选一个你认为优质的开源项目进行写作,创建pull request。另外,你可以在task.md里记录你准备分析的项目。
  3. 评论者。阅读中遇到问题?直接创建issue,作者会快速回答你。
  4. 翻译者。如果你还不具备分析开源项目的能力,那可以来对我们的中文文章进行翻译。这个翻译过程会让你受益匪浅的。
  5. 校对者。如果你技术过硬,愿意帮助新手程序员,可以发邮件给我mailto:yinjiesh@126.com,我相信"校对者"三个字会让很多年轻程序员记住你。

四、写作者

wingjay

达庆凯 Skykai521

BigFootprint

...

About

Analysis for Popular & Hot Android open-source Applications & Libraries will help you grow into a Senior Android developer. Follow us, do practice in the right and fast way. 通过对流行的优质android开源项目分析、学习、仿写,最终理解,不仅帮你掌握最新的android技术,更能让你理解开源项目的精华之处,这些都是你成为一名高级android developer必不可少的。

Resources

Stars

1.1k stars

Watchers

106 watching

Forks

Releases

Packages

Contributors

Languages