2015最流行的Android组件、工具、框架大全

jopen 9年前

Android 是目前最流行的移动操作系统之一。 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件。
本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文。

部分图片需国内或许不能访问才能显示

以下是我收集和精选的Android开源项目。

工具和教程

  • MaterialDesigh资源整理
    light_sky@weibo 整理的MaterialDesigh资源,很多资料。

  • androidkickstartr
    填写一个表单, 选择你要集成的一些Android开源项目,自动给你生成一个应用程序。 还有比这更贴心的服务吗?

  • Android Button Maker
    Android Button Maker是一个可以在线生成按钮代码的工具。Android API提供了XML文件定义的几何形状的Drawable资源,包括颜色、边界和梯度。这些按钮的生成是基于drawable形态的XML代码,这样可以比普通的png按钮加载得更快。你可以在设置面板上自定义按钮的属性,然后获取其源码。

  • AndroidAssetStudio
    Asset Studio可以让你快速简单地从已经存在的图片、剪贴画或者文本资源中生成图标。这些图标可以应用在
    Launcher icons Action bar and tab icons
    Notification icons Navigation drawer indicator
    ** Generic icons

  • Actionbar Style Generator
    这个ActionBar风格生成器可以让你轻松地创建一个简洁、有吸引力且无漏洞的自定义actionbar。它会生成所有9种必须的patch assets以及相关XML的drawables和styles文件,这些文件可以直接复制到你的项目中。

  • Android Holo
    这个Android Holo颜色生成器可以让你简单地为你的应用创建Android组件,如editext或者spinner,并且可以使用自己的颜色。它会生成所有9种必须的patch assets以及相关XML的drawables和styles文件,可以直接复制这些文件到你的项目中。

  • Android Layout Binder
    Android Layout Binder会将你安卓的XML布局文件转换成一系列的声明,绑定保存所有的人工输入。键入一个前缀,选择XML文件上要粘贴的范围,然后点击生成。选择“verbose”来找出所有被跳过的区域的原因。

  • APKAnalyser
    这是一个静态、虚拟分析工具,你可以全面地概览应用的架构。可以用它来检查API参考文档,查看应用依赖还有反编译字节码。APKAnalyser是一个完整的开源工具链,它支持修改应用的二进制代码,你可以重新打包、安装、运行以及验证logcat的结果。

  • coursera-android
    一个android教程类项目,8周完成结业。基本上囊括了android所有知识点,如果你想把android方面的知识系统地整理一遍,可以果断也把它fork下来,一个一个开始练习,总共有100多个例子。
    教程在这里

  • maven-android-sdk-deployer
    一个使用Maven Android Plugin插件安装Android SDK组件的工具

  • 50个Android开发技巧
    Vector_Yi整理的Android开发技巧

  • android-best-practices
    android编程最佳实践

UI组件

  • Google提供的750个Material Design图标

  • Material Design资源
    一大波优质的Material Design资源免费下载

  • Material UI
    Material UI 是一个 CSS 框架和一组实现谷歌 Material Design 设计规范的 React 组件。可以用在html5方式的APP中

  • android-ui
    Android UI库, Android L风格。

  • Android-LollipopShowcase
    Android L设计效果的演示, 演示而已,值得学习。

  • Android-Material-Example
    另一个Android L学习的例子。

  • android-UniversalMusicPlayer
    google官方跨设备的例子,一款播放器,UI和交互都超级棒,而且同时支持手机、平板和Android Wear。

  • Material-Animations
    Material动画例子

  • Euclid
    一个非常精美的用户信息页面的实现,动效很细腻。

  • Material Palette调色板
    Material Design出来一段时间了,身为Android开发人员想要自己适配一套Material Design,但是又苦于缺少设计方面的知识与理解,怎么办呢?这个网站就可以自动帮你生成调色板。

  • android-floating-action-button
    Android L风格的浮动按钮, 红色小鲜肉。

  • ActionBarSherlock
    一个功能强大的ActionBar组件(不仅仅是ActionBar)。 Android 4.0+上使用native action bar, 低版本的Android模拟实现。强大到无语了,必须关注的一个开源组件。

  • SlidingMenu
    一款优秀的侧滑菜单组件。 Google+, 油Tube和非死book在它们的应用中采用的侧滑菜单流行开来, 国内也有很多的应用如网易新闻等也采用了这种菜单方式。 侧滑菜单组件很好几种, 尤以此款最为好用。 看看官方网站上的知名用户就知道了。

  • Android-Iconics
    这是一个可以让你在你的项目中使用几乎任何字体图标的库。默认包含 FontAwesome 和 Material Design Icons 还包含 Meteocons 插件。你甚至可以添加任何你自定义的字体图标(typeface)。

  • richeditor-android
    超酷的富文本编辑器

  • superCleanMaster
    一键清理 开源版,包括内存加速,缓存清理,自启管理,软件管理等。

  • PullDownListView
    仿微信首页的下拉效果,非常细腻。

  • Taurus
    下拉刷新的动画好赞。

  • SimpleTagImageView
    一个可以在图片四个角显示一个小标签的ImageView,并且可以控制标签的宽度和背景颜色。

  • GridPasswordView
    仿微信/支付宝的密码输入框效果。

  • DevelopQuickSetting
    一个快速开启关闭开发者设置的工具,提供了app界面和桌面widget,能快速打开关闭overdraw,layout border,gpu rendering,adb wifi,不保存activity实例等功能。
    需要root权限

  • Android-Universal-Image-Loader
    强大灵活的加载、缓存、显示图片的库。

  • Android-ViewPagerIndicator
    滑动页面几乎成了现在国内的应用的标配了,尤其在你第一次安装/启动应用时, 总会有几张介绍页面让你滑动显示。 用它吧,不会辜负你的。

  • Android-PullToRefresh
    你不陌生, 在列表或者视图的顶部或者底部拖动可以刷新数据和页面。可以和ListView、ExpandableListView、GridView、WebView、ScrollView、HorizontalScrollView、ViewPager配合使用。

  • picasso
    强大的图像下载和缓存库。

  • Android-Bootstrap
    bootstrap风格的按钮。 使用Font Awesome图标字体。

  • 非死book-android-sdk
    非死book提供的SDK, 可以在应用中集成非死book.

  • android-bootstrap
    不同于上面的Android-Bootstrap。 此项目是一个Android应用程序的模版, 相当于一个脚手架的功能。

  • AndroidStaggeredGrid
    想做瀑布流式的应用吗?用它吧。

  • cardslib
    一种卡片式的布局控件。 记得以前的有道词典的默认页就是这种布局。
    Screen

  • android-PullRefreshLayout
    下拉刷新布局, 比SwipeRefreshLayout更漂亮。

  • WilliamChart
    图表组件。

  • LDrawer
    使用material design动画的drawer图标

  • PhotoView
    ImageView扩展, 支持放缩和手势。

  • ListViewAnimations
    为ListView增加动画, 还提供滑动删除选定项的功能。 类似Android的邮件的删除操作。

  • hellocharts-android
    一个图表库, 带少量动画。

  • Android-Week-View
    日历组件。

  • android-typeface-helper
    typeface效果

  • ion
    又一个图像异步加载库。至少推荐三个了, 轮子不少。关注度很高

  • AndroidViewHover
    一种优雅的显示上下文和菜单的库

  • MaterialSettings
    可以让你轻松创建Material Design风格的Settings Activity的库。

  • android-menudrawer
    又一个滑动菜单的组件。

  • android-swipelistview
    又一个ListView扩展, 支持滑动操作。

  • android-pulltorefresh
    又一个拖动刷新的组件。到此为止说了好多又了。 因为有些功能确实有多个不错的实现。

类似的 DrawerArrowDrawable

XY chart


类库

  • roboguice
    google guice框架在Android平台上的实现。 什么事guice? 它是一个类似Spring的IOC框架。 什么是IOC? 算了,你还是先学习Java的基础知识吧。

  • android-async-http
    基于Apache http client实现的支持异步、回调的android http client组件。

  • androidannotations
    将注解引入到Android开发中,极大的减少代码里,可以更好的维护代码。

  • retrofit
    类型安全的Restful client库。

  • dagger
    一个快速的依赖注入库。这个square公司出了不少的组件库。 square公司就是那个移动支付的创业公司。

  • okhttp
    还是square出品, HTTP+SPDY 客户端。

  • EventBus
    一个专为Android优化的发布订阅框架, event bus模式。 可以在Activity, Fragment 和后台线程之间交流数据。

  • butterknife
    专为视图注入库。

    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    
class ExampleActivity extends Activity {
@InjectView(R.id.user) EditText username;
@InjectView(R.id.pass) EditText password;
@OnClick(R.id.submit) void submit() {
// TODO call server...
}
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}
  • robospice
    一个模块化的Android类库, 可以更容易的编写异步的长时间运行的任务。

  • **
    一个加强的基于Guava event bus库。 square出品。

  • AndroidAsync
    又是异步处理库, 支持socket,http (client+server),websocket 和socket.io ,基于nio。

  • ActiveAndroid
    active record风格的操作Android SQLite 数据库。

  • androidquery
    JQuery很熟悉吧。 这是Android版的JQuery。

  • greenDAO
    一个轻量级的快速的ORM方案。 操作SQLite 数据库。

  • Bolts-Android
    一套底层库。

  • scaloid
    极大的减少Android得代码,更易维护。

  • conceal
    非死book的快速加密类。

  • android-common
    国人实现的一个工具包。

  • xUtils
    国人实现的一个工具包。

  • android-priority-jobqueue
    Path出品的job queue。

  • android-sqlite-asset-helper
    数据库辅助类。 包括数据库的创建与升级。

  • tape
    一组queue类。 square出品。

  • spring-android
    不多说了。

  • joda-time-android
    为Android做了优化

  • spydroid-ipcamera
    将你的收集作为监控设备。

  • ACRA
    ACRA是一个可以让安卓应用自动发出GoogleDoc格式崩溃报告的函数库。安卓开发者可以通过ACRA获取应用崩溃或者错误行为的数据。如果有一个崩溃发生,你的应用不会越过已有的系统崩溃提醒或者报告功能来添加用户提醒。如果使用Toast、状态提醒条或者直接对话框模式,这个“强制关闭”的对话框不会再显示,就算设备上原生系统的提醒功能开启也不能发送一个另外的报告。

  • jpinyin
    JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。


游戏引擎

  • libgdx
    libGDX是基于OpenGL的跨平台的游戏开发框架。

  • AndEngine
    知名的Android 2D OpenGL 游戏引擎。

  • ogengine
    国人开发的国际著名开源引擎AndEngine的一个分支 (往上看)。遵循LGPL开源协议使用OpenGL ES进行图形绘制。同时集成了Box2D物理引擎,因此可以实现复杂的物理效果。

  • citrus
    快速且轻量级的2D & 3D游戏引擎。

  • Cocos2d-Android
    知名的游戏引擎

  • gameclosure
    JavaScript 游戏引擎

  • 游戏引擎列表
    维基百科上的各种游戏引擎, 各种平台的引擎列表, 全。


Android HTML5应用

  • PhoneCap
    早在2011年10月,Adobe收购了Nitobi Software和它的PhoneGap产品,然后宣布这个移动开发框架将会继续开源,并把它提交到Apache Incubator,以便完全接受ASF的管治。

  • Cordova
    Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以把他想象成类似于Webkit和Google Chrome的关系。
    Adobe将会继续以Cordova加上PhoneGap Build和Adobe Shadow的组合提供PhoneGap。

  • Cordova-SQLitePlugin

    
1
    
var db = window.sqlitePlugin.openDatabase({name: "my.db"});
  • awesome-cordova
    Cordova插件列表

  • awesome-cordova
    Cordova插件列表

  • ionic
    基于Cordova的快速创建平台。

  • mui
    国内厂商dcloud开源的一个高性能的html5框架。

    性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题,这些都让HTML5开发者倍感挫败,尤其拿到Android低端机运行,摔手机的心都有; 另一方面,浏览器默认控件样式又少又丑,制作一个漂亮的控件非常麻烦,也有一些制作简单的ui框架但性能低下。
    mui框架有效的解决了这些问题,这是一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。

  • lungo