| 
 
| 目前我们在Android开发中,不可避免地要用到大量的开源项目,本文对常用的开源项目进行一些推荐。 
 首先是如何选择开源项目?建议优先选择github上比较活跃的开源项目,尽量避免从网页上零散的拷贝代码。选择开源项目的原则有下面这些:
 ´ Stars, Issues, Pull Requests
 ´ 文档和Demo,典型用户
 ´ 弄清楚原理
 ´ 结合实际业务场景
 
 推荐Android开源项目汇总,基本上常见UI效果都能找到
 https://github.com/Trinea/android-open-project
 
 下面我把常用的框架分为下面几类,分别推荐
 UI框架和自定义控件
 网络请求框架
 图片缓存框架
 数据存储框架
 事件总线框架
 插件化和热部署
 
 1、UI框架和自定义控件
 ´ View注入框架
 ´ Butter Knife专注于Android 系统View 的注入框架,结合Android Studio插件使用
 ´ 下拉刷新和加载更多
 ´ Android-PullToRefresh,android-Ultra-Pull-to-Refresh,Android-PullToRefreshRecyclerView
 ´ 侧边栏菜单
 ´ 推荐官方Design支持库自带的
 ´ SlidingMenu,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单 Zoom、Scale、Slide Up 三种动画样式出现
 ´ base-adapter-helper
 ´ 对传统的BaseAdapter ViewHolder 模式的一个封装,主要功能就是简化书写 AbsListView 的 Adapter 的代码,如 ListView,GridView
 MPAndroidChart图表库
 
 2、网络请求框架
 目前推荐使用Volley + OKHTTP,
 参考我们自己的脚手架项目,新安卓项目要求使用。
 
 3、图片缓存框架
 推荐使用谷歌官方建议的Glide,备选Facebook的Freso
 4、数据存储框架
 无特殊需求推荐使用DBFlow ORM框架。
 
 5、事件总线框架
 推荐使用EventBus。
 手机App项目根据需求决定是否用EventBus;安卓平板项目,主要基于Fragment实现UI,需要使用EventBus。
 
 6、插件化和热部署
 这块我们只进行了一些实验,没有实际部署。
 插件化推荐DroidPlugin
 热部署推荐androidFix
 
 | 
 |