Android开发常用开源框架推荐

目前我们在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

Contents
,