Android进阶学习内容整理

今天看了一篇文章,说的是程序员的宿命就是不断地学习!

我是个喜欢不断学习新知识,探索新东西的人,无论是对于技术还是生活,我都有着足够的好奇心,我觉得只有这样,人生才会更快乐一些。然而,在学习的过程中,归纳和总结知识,整合资源的能力也是非常重要的。所以,今天正好有点时间,就整合一下Android学习路上进阶的内容。

在文章开始之前想先分享两篇不错的文章。

我的 Android 开发实战经验总结 ——简书上看到的一篇不错的文章

http://www.jianshu.com/p/4f152bc8f4f3


还有一篇是Android学习之路 stormzhang 张哥的文章。
 Android开发如何进阶?

http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=403072488&idx=1&sn=12a1deee3c00da644ad3844032a2374f&scene=0#wechat_redirect


接下来是我整理的 Android进阶学习内容:

书籍:
1.Android群英传
2.Android艺术开发与探索
3.Android设计模式

第三方框架  详细使用步骤加源码解析:1.会使用  2.懂原理  3.框架源码解析

网络框架: 
1.Volley框架二次封装

2. Volley框架源码解析
http://a.codekk.com/blogs/detail/54cfab086c4761e5001b2542
郭霖:
http://blog.csdn.net/guolin_blog/article/details/17482095

  1. okhttp
    square 开源的 http 工具类
    项目地址:https://github.com/square/okhttp
    文档介绍:http://square.github.io/okhttp/
    特点:(1) 支持 SPDY( http://zh.wikipedia.org/wiki/SPDY )协议。SPDY 协议是 Google 开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个 TCP 链接传送网页和图片等资源)和优先级来缩短加载时间。
    (2) 如果 SPDY 不可用,利用连接池减少请求延迟
    (3) Gzip 压缩
    (4) Response 缓存减少不必要的请求

  2. Retrofit
    RESTFUL API 设计
    项目地址:https://github.com/square/retrofit
    文档介绍:http://square.github.io/retrofit/




事件总线:
1. Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
http://blog.csdn.net/guolin_blog/article/details/9097463
2.公共技术点之 View 事件传递
http://a.codekk.com/detail/Android/Trinea/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%20View%20%E4%BA%8B%E4%BB%B6%E4%BC%A0%E9%80%92
3.EventBus 源码解析
http://a.codekk.com/detail/Android/Trinea/EventBus%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90

  1. EventBus
    greenrobot 的开源项目
    项目地址:https://github.com/greenrobot/EventBus
    原理剖析文档:EventBus
    文档介绍:https://github.com/greenrobot/EventBus#general-usage-and-api
    特点:(1) 支持在不同类型的线程中处理订阅,包括发布所在线程,UI 线程、单一后台线程、异步线程
    (2) 支持事件优先级定义,支持优先级高的订阅者取消事件继续传递,支持粘性事件,是不是跟系统的有序广播、粘性广播很像啊
    (3) 不是基于 annotations
    (4) 性能更优
    (5) 体积小
    (6) 支持单例创建或创建多个对象
    (7) 支持根据事件类型订阅

  2. Otto
    Square 的开源项目,基于 Guava 的 Android 优化
    项目地址:https://github.com/square/otto
    文档介绍:http://square.github.io/otto/
    EventBus 与 Otto 的功能及性能对比文档
    EventBus 与 Otto 性能对比 Demo Apk



图片缓存:
  1. Android-Universal-Image-Loader
    图片缓存,目前使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。
    项目地址:https://github.com/nostra13/Android-Universal-Image-Loader
    原理剖析文档:Android-Universal-Image-Loader
    Demo 地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true
    文档介绍:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html

  2. picasso
    square 开源的图片缓存
    项目地址:https://github.com/square/picasso
    文档介绍:http://square.github.io/picasso/
    特点:(1)可以自动检测 adapter 的重用并取消之前的下载
    (2)图片变换
    (3)可以加载本地资源
    (4)可以设置占位资源
    (5)支持 debug 模式


  1. fresco
    一款强大的图片缓存工具,由 Facebook 开发
    项目地址:https://github.com/facebook/fresco
    文档介绍:http://frescolib.org/
    特点:(1) 两个内存缓存加上磁盘缓存构成了三级缓存
    (2) 支持流式,可以类似网页上模糊渐进式显示图片
    (3) 对多帧动画图片支持更好,如 Gif、WebP
    (4) 更多样的显示,如圆角、进度条、点击重试、自定义对焦点
    (5) 更多样的加载,如支持 EXIF、全面支持 WebP
    (6) 支持 Android 2.3+

  2. Glide
    Glide 是一个 android 平台上的快速和高效的开源的多媒体资源管理库,提供 多媒体文件的压缩,内存和磁盘缓存, 资源池的接口。
    它可以最大性能地在 Android 设备上读取、解码、显示图片和视频。Glide 可以将远程的图片、视频、动画图片等缓存在设备本地便于提高用户浏览图片的流畅体验。
    项目地址:https://github.com/bumptech/glide
    特点:
    (1) GIF 动画的解码
    (2) 本地视频剧照的解码
    (3) 支持缩略图
    (4) Activity 生命周期的集成
    (5) 转码的支持
    (6) 动画的支持
    (7) OkHttp 和 Volley 的支持


Android 三大图片缓存原理、特性对比
http://b.codekk.com/detail/Trinea/Android%20%E4%B8%89%E5%A4%A7%E5%9B%BE%E7%89%87%E7%BC%93%E5%AD%98%E5%8E%9F%E7%90%86%E3%80%81%E7%89%B9%E6%80%A7%E5%AF%B9%E6%AF%94
Android Universal Image Loader 源码分析
http://a.codekk.com/detail/Android/huxian99/Android%20Universal%20Image%20Loader%20%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90

动画框架:
公共技术点之 Android 动画基础
http://b.codekk.com/blogs/detail/559623d8d6459ae793499787
Side Menu.Android 源码解析
http://a.codekk.com/detail/Android/Grumoon/android-Ultra-Pull-To-Refresh%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90


注解框架:
Dagger、butterknife
  1. butterknife
    利用 annotation 帮你快速完成 View 的初始化,减少代码
    项目地址:https://github.com/JakeWharton/butterknife
    文档介绍:http://jakewharton.github.io/butterknife/

    ButterKnifeZelezny
    用于快速生成ButterKnifeView 注入代码的 Android Studio/IDEA 插件
    项目地址:https://github.com/inmite/android-butterknife-zelezny


  2. Dagger
    依赖注入,适用于 Android 和 Java
    项目地址:https://github.com/square/dagger
    原理剖析文档:Dagger
    文档介绍:http://square.github.io/dagger/


公共技术点之依赖注入
http://a.codekk.com/detail/Android/%E6%89%94%E7%89%A9%E7%BA%BF/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5
Dagger 源码解析
http://a.codekk.com/detail/Android/%E6%89%94%E7%89%A9%E7%BA%BF/Dagger%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90


上拉刷新,下拉加载:
Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能
http://blog.csdn.net/guolin_blog/article/details/9255575
android-Ultra-Pull-To-Refresh 源码解析
http://a.codekk.com/detail/Android/Grumoon/android-Ultra-Pull-To-Refresh%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90


数据库:
LitPal: Android数据库高手秘籍
http://blog.csdn.net/sinyu890807/article/category/2522725


菜单:
分类侧滑菜单:Side-Menu.Android
https://github.com/Yalantis/Side-Menu.Android
Context-Menu.Android: 漂亮带有动画效果的上下文菜单
https://github.com/Yalantis/Context-Menu.Android

响应式编程:
深入浅出RxJava四-在Android中使用响应式编程
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0426/2787.html

深入浅出RxJava三--响应式的好处
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0409/2703.html


深入浅出RxJava(二:操作符)
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0309/2571.html


深入浅出RxJava(一)基础篇
http://www.imooc.com/article/2304


深入浅出RxJava(一:基础篇) ——csdn博客系列
http://blog.csdn.net/lzyzsd/article/details/41833541

RxAndroid
对RxJava在Android上的扩展,使得Android上也很容易实现reactive components,简化线程操作,从而写出很漂亮的代码。
项目地址: https://github.com/ReactiveX/RxAndroid
文档介绍: 给Android 开发者的 RxJava 详解

工具相关:
AndroidUtiles 集合了所有常用的安卓工具类 项目地址: https://github.com/l123456789jy/Lazy


日志输出:
LogUtils
https://github.com/pengwei1024/LogUtils

崩溃统计平台:
腾讯BugLy
http://bugly.qq.com/

检查内存泄露: 
https://github.com/square/leakcanary

多媒体相关:
Vitamio
是一款 Android 与 iOS 平台上的全能多媒体开发框架
项目地址: https://github.com/yixia/VitamioBundle
网站介绍: http://www.vitamio.org/docs/
特点:(1) 全面支持硬件解码与 GPU 渲染
(2) 能够流畅播放 720P 甚至 1080P 高清 MKV,FLV,MP4,MOV,TS,RMVB 等常见格式的视频
(3) 在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播。


图片处理:
uCrop
Yalantis 出品的强大的图片裁剪库 ,支持缩放,旋转图片,支持各种比例的裁剪框
项目地址:https://github.com/Yalantis/uCrop

android-crop
图片裁剪 Activity 项目地址: https://github.com/jdamcd/android-crop


打包APK:
umeng-muti-channel-build-tool
渠道打包工具
项目地址: https://github.com/umeng/umeng-muti-channel-build-tool
另可参见 Google 的构建系统 Gradle: http://tools.android.com/tech-docs/new-build-system/user-guide

android-resource-remover
根据 lint 的提示删除项目中无用的资源,减少包的大小
项目地址: https://github.com/KeepSafe/android-resource-remover



公共技术点之 View 绘制流程
http://a.codekk.com/detail/Android/lightSky/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%20View%20%E7%BB%98%E5%88%B6%E6%B5%81%E7%A8%8B


BaseAdapterHelper 源码分析
http://a.codekk.com/detail/Android/hongyangAndroid/BaseAdapterHelper%20%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90

公共技术点之 Java 动态代理
http://a.codekk.com/detail/Android/Caij/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%20Java%20%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86



 Android Fragment应用实战,使用碎片向ActivityGroup说再见
http://blog.csdn.net/guolin_blog/article/details/13171191

Complete Android Fragment & Activity Lifecycle
完整的 Android Fragment/Activity 生命周期图
项目地址: https://github.com/xxv/android-lifecycle


PagerSlidingTabStrip 源码解析
http://a.codekk.com/detail/Android/ayyb1988/PagerSlidingTabStrip%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90


android开发一般都使用什么框架?


SlideAndDragListView
https://github.com/Trinea/android-open-project

SwipeMenuListView
https://github.com/baoyongzhang/SwipeMenuListView

GridView with Header and Footer
和ListView一样带头部和底部的GridView,用法和ListView一样
https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter

你可能感兴趣的:(Android进阶,Android学习之路)