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