以下这些开源项目都是从GitHub上筛选的,我强烈推荐android程序源代码有时间的时候自己在上面淘淘,或许能发现自己须要的开源程序。

了解开源项目有两个优点:

1.借鉴代码,一般来说。火爆的开源项目的代码质量都相当高,当我们感觉自己的学习遇到瓶颈的时候,细致研究别人的开源码会让自己受益匪浅。

2.直接用事实上现的功能:android开源项目一般来说都是组件类的,而不是一个完整的应用程序。换句话说,非常多都是提供了一种经常使用功能的解决方式,比方最著名的ActionBarSherlock就是一个实现动作栏的UI组件。假设自己实现,相信会话费你非常长时间,而且还有可能以失败告终。

以下这些开源项目自己亲自用过的不多,仅仅有ActionBarSherlock和SlidingMenu两个,只是说真的,效果确实不错。

1. ActionBarSherlock

ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发人员就能够非常方便地使用全部版本号的Android动作栏的设计模式。

对于Android 4.0及更高版本号,ActionBarSherlock可以自己主动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本号,基于Ice Cream Sandwich的自己定义动作栏实现将自己主动环绕布局。可以让开发人员轻松开发一款带动作栏(Action bar)的应用。而且适用于Android 2.x及其以上全部版本号。

详情请參考:ActionBarSherlock

2. facebook-android-sdk

Facebook SDK for Android是一个开源库,同意开发人员将Facebook集成到所开发的Android应用中。

假设想要获取很多其它关于演示样例、文档、将SDK集成到App中、源码等信息。可直接登陆Facebook Developers查看。

3. SlidingMenu

id=com.slidingmenu.example" target="_blank" style="">SlidingMenu
Demos

SlidingMenu是一个开源的Android库,可以让开发人员轻松开发一款应用,实现类似于Google+、Youtube和Facebook应用中很流行的滑动式菜单。

使用SlidingMenu的Android应用:

4. cocos2d-x

在移动开发领域。将Cocos2D-X用于主流iOS/Android游戏开发的公司、开发团队多不胜数。cocos2d-x是一个开源的支持多平台的2D游戏框架,使用C++开发。基于cocos2d-iphone,在MIT许可证下公布。

主分支在GitHub上使用OpenGL ES 2.0渲染。而旧版gles11分支则使用OpenGL ES 1.1渲染。

支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多个平台。支持C++、Lua、JavaScript编程语言。

5. android

id=com.github.mobile" target="_blank" style="">GitHub Android App是GitHub开源的Androidclient。支持Issues、Gists。并集成了新闻Feed。可以让你及时跟进组织及关注的开发人员、库等。

同一时候,该应用还提供了一个用户高速訪问你所创建、监控及公布issue的面板,可查看并将问题增加到收藏夹。可对标签、里程碑和任务进行过滤配置。

android资源库包括了GitHub Android App的全部源码。

6. Android-ViewPagerIndicator

ViewPager指针项目,在使用ViewPager的时候可以指示ViewPager所在的位置。就像Google Play中切换的效果一样,还能使用在应用初始化的介绍页面。

兼容Android支持库的ViewPager及ActionBarSherlock,最初是基于Patrik Åkerfeldt的ViewFlow,开发人员能够直接登陆

id=com.viewpagerindicator.sample" target="_blank" style="">Google
Play
下载该项目的演示应用。

7. MonoGame

MonoGame是一个Microsoft XNA 4.x Framework的开源跨平台实现。

用于让XNA开发人员将他们在Xbox 360、Windows & Windows Phone上开发的游戏移植到iOS、Android、Mac OS X、Linux及Windows 8 Metro上,眼下,PlayStation Mobile & Raspberry PI的开发正在进行中。

详情请參考:MonoGame

8. Android-PullToRefresh

该项目用于为Android提供一个可重用的下拉刷新部件。

它最初来源于Johan Nilsson的库(主要是图形、字符串和动画)。但这些后来都已被代替。

9. android-async-http

android-async-http是Android上的一个异步、基于回调的HTTPclient开发包,建立在Apache的HttpClient库上。

10. Android-Universal-Image-Loader

Android上最让人头疼的莫过于从网络获取图片、显示、回收,不论什么一个环节有问题都可能直接OOM,这个项目也许能帮到你。

Universal Image Loader for Android的目的是为了实现异步的网络图片载入、缓存及显示。支持多线程异步载入。它最初来源于Fedor Vlasov的项目,且自此之后,经过大规模的重构和改进。

11. GreenDroid

GreenDroid最初是由Cyril Mottier发起。是一个Android的UI开发类库。可以让UI开发更加简便,而且在应用中始终保持一致。

详情请參考:Cyril Mottier's Blog

12. Anki-Android

AnkiDroid是一个免费、开源的Android的闪存应用。可直接从Google Play进行下载。

详情请參考:ankidroid

13. android-actionbar

Action bar是一个标识应用程序和用户位置的窗体功能。而且给用户提供操作和导航模式。

在大多数的情况下,当开发人员须要突出展现用户行为或在全局导航的activity中使用action bar,由于action bar可以使应用程序给用户提供一致的界面,且系统可以非常好地依据不同的屏幕配置来适应操作栏的外观。

Action bar的主要目的:

  • 提供一个用于识别应用程序的标示和用户的位置的专用空间。

  • 在不同的应用程序之间提供一致的导航和视觉体验。

  • 突出Activity的关键操作,而且在可预见的方法内给用户提供快捷的訪问。

14. android-viewflow

android-viewflow是Android平台上的一个视图切换的效果库,ViewFlow相当于Android UI部件提供水平滚动的ViewGroup,使用Adapter进行条目绑定。

15. android-mapviewballoons

当使用Android地图外部库(com.google.android.maps)时,android-mapviewballoons会提供一个简单的方式来对地图覆盖进行标注,就是一个简单的信息气泡。

它由BalloonOverlayView组成。是一个代表显示你的MapView及BalloonItemizedOverlay的气泡的视图,BalloonItemizedOverlay是ItemizedOverlay的一个抽象扩展。

16. PushSharp

一个向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8设备发送推送通知的server端库。

17. androidannotations

Android Annotations是一个开源的框架,用于加速 Android应用的开发。能够让你把重点放在功能的实现上,简化了代码,提升了可维护性。

18. HockeyKit

Hockey是一个iOS Ad-Hoc自己主动更新框架。

苹果App Store中的全部App都能够使用它,它能够显著地提高Beta測试的整个过程,分为两部分:server和client框架。server组件须要全部脚本,但在没有client库的情况下。也能够单独工作。它提供一个Web接口,Beta測试者能够使用它来安装最新的AdHoc配置文件。也能够直接在设备上通过Safari安装最新的Beta版本号。

  • 仅仅需在server上安装一次服务端。就能够处理包标识符不同的多个应用程序(有开发人员强烈建议对Debug、AdHoc Beta和AppStore公布版使用不同的包标识符)。

  • 默认当App启动或唤醒时。client会从server检測更新,用户能够在设置对话框中进行改动:一天一次或手动检查更新。

  • 除了支持iOS,HokeyKit也支持Android平台,只是Android版还处在Alpha阶段,支持OTA及应用内更新。

  • 为HockeyKit用户提供server托管服务。

19. android-menudrawer

Android上的菜单展示风格各异,当中用得最多且体验最好的莫过于左右滑动来显示隐藏的菜单。android-menudrawer是一个滑动式菜单实现。同意用户在应用当中实现无缝导航。

该项目具有多种菜单展示效果,当中最常见的就是通过屏幕边缘拖动或点击动作栏的“向上”button显示。

实现功能:

  • 菜单能够沿着四个边放置。

  • 支持附加一个始终可见、不可拖动的菜单。

  • 菜单的内容和整个窗体都能够隐藏。

  • 可用于XML布局。

  • 显示当前可见屏幕的指示器。

20. android-flip

Aphid FlipView是一个可以实现Flipboard翻页效果的UI组件。

以上为GitHub上最受欢迎的Android开源项目TOP20

GitHub上最受欢迎的Android开源项目TOP20的更多相关文章

  1. GitHub上最受欢迎的iOS开源项目TOP20

    AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是GitH ...

  2. 40个GitHub上最受欢迎的iOS开源项目

    40个GitHub上最受欢迎的iOS开源项目(一) http://www.weste.net/2013/8-1/92975.html 40个GitHub上最受欢迎的iOS开源项目(二) http:// ...

  3. GitHub上易于高效开发的Android开源项目TOP20--适合新手

    1. android-async-http android-async-http是Android上的一个异步.基于回调的HTTP客户端开发包,建立在Apache的HttpClient库上. 2. an ...

  4. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

  5. 我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/And ...

  6. GitHub上排名前100的Android开源库介绍

    GitHub上排名前100的Android开源库介绍 文章来源: http://www.open-open.com/news/view/1587067#6734290-qzone-1-31660-bf ...

  7. GitHub上有很多不错的iOS开源项目

    GitHub上有很多不错的iOS开源项目,个人认为不错的,有这么几个:1. ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub:GitHub自家的函数 ...

  8. 推荐大家在GitHub 上值得关注学习的 iOS 开源项目

    GitHub上有很多不错的iOS开源项目,和大家特别推荐以下几个项目: 1. ReactiveCocoa GitHub链接:ReactiveCocoa/ReactiveCocoa GitHub自家的函 ...

  9. GitHub上我收藏Java及Android的项目Demo

    接触编程不久但浏览频率最高的还是GitHub毕竟它真的是程序员必不可少的新世界. (2016/9/23更新) 静态更新,很强势你值得拥有 更新资源不需要重新安装APK (2016.9.10更新) ht ...

随机推荐

  1. Python中__init__方法介绍

    本文介绍Python中__init__方法的意义.         __init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的 初始化 .注意,这个名称的开始和结尾 ...

  2. Surface,送我都不要

    本文作于前几天,由于今天的突发新闻,已作了修订. Nokia的着火史 自从Elop那篇着火的平台备忘录出炉,Nokia的杯具就已经造成,唯一令人不解的就是:Elop为什么还没有被开除? 距离这个备忘录 ...

  3. Linux下搭建Hadoop集群

    本文地址: 1.前言 本文描述的是如何使用3台Hadoop节点搭建一个集群.本文中,使用的是三个Ubuntu虚拟机,并没有使用三台物理机.在使用物理机搭建Hadoop集群的时候,也可以参考本文.首先这 ...

  4. 基于MapReduce的HBase开发

    在伪分布式模式和全分布式模式下 HBase 是架构在 HDFS 上的,因此完全可以将MapReduce 编程框架和 HBase 结合起来使用.也就是说,将 HBase 作为底层“存储结构”, MapR ...

  5. 哈,又一款超级简单的队列(MQ)实现方案来了~

    开源的消息队列已经很多了,但大部分很重,实际环境下,很多可能只是使用到了一点功能而已,杀鸡使用牛刀,着实有些浪费了.很多时候,我们只想要一片绿叶,但它们给了我们整个的春天,很难消化.本着DIR精神, ...

  6. PHP学习之-1.4 计算表达式

    计算表达式 不同于HTML和CSS,在PHP中做计算,比如我们写 echo 12*3 计算结果是36.代码如下 <?php echo 12*3;?> 实例 <!DOCTYPE HTM ...

  7. windows lwp 乱码问题

    use LWP::UserAgent; use Encode; my $ua = LWP::UserAgent->new; $phone=$ARGV[0]; $cc=$ARGV[1]; $ua- ...

  8. 基于visual Studio2013解决C语言竞赛题之1086任务分配

        题目 解决代码及点评 /************************************************************************/ /* ...

  9. Android JNI 编译正确 但是提示程序有错误无法运行 而且还看不到任何错误提示 的解决方法

    前几篇中一直在通过Android做JNI调用,关于JNI的配置请见:http://blog.csdn.net/watkinsong/article/details/9849973 但是前一段时间就遇到 ...

  10. hibernate解决oracle的id自增?

    以前做SSH项目时,涉及到的数据库是mySQL,只需将bean的配置文件id设为native 就可以实现表id的自增. 现在用到了Oracle,当然知道这样是不行的啦,那么用序列自增? 我在网络上搜索 ...