排名前100的Android开源库
2016-06-23 17:41
609 查看
本项目主要对目前GitHub上排名前100的Android开源库进行简单的介绍,至于排名完全是根据GitHub搜索Java语言选择「BestMatch」得到的结果,然后过滤了跟Android不相关的项目,所以排名并不具备任何官方效力,仅供参考学习,方便初学者快速了解当前一些流行的Android开源库。
1.ReactNative
这个是Facebook在React.jsConf2015大会上推出的基于JavaScript的开源框架ReactNative,该框架结合了Web应用和Native应用的优势,可以使用JavaScript来开发iOS和Android原生应用
2.UniversalImageLoader
ImageLoader是最早开源的Android图片缓存库,强大的缓存机制,早期被广泛Android应用使用,至今仍然有很多Android开发者在使用
3.RxJava
RxJava是一个在JavaVM上使用可观测的序列来组成异步的、基于事件的程序的库,简单来说它就是一个实现异步操作的库,RxJava的优点在于一个词"简洁",使用它就算你程序逻辑有多么复杂,它依然能够保持简洁易懂
4.Retrofit
Retrofit是Square公司出品的HTTP请求库,同时是Square是最早开源项目之一,Retrofit是目前Android最流行的HttpClient库之一,目前版本是Retrofit2.0Beta4,越来越多Android开发者开始使用这个请求库了
5.OkHttp
OkHttp是Square公司出品的HTTP另一个请求库,Google不推荐人们使用HttpClient,可是HttpURLConnection实在是太难用了,因此很多人使用了OkHttp来解决这问题,据说Android4.4的源码中可以看到HttpURLConnection已经替换成OkHttp实现呢
6.SlidingMenu
一个侧滑菜单开源库,在Google自己原生态的侧滑菜单NavigationDrawer没有出现之前,这个库就已经被广泛使用,可是到现在这个库已经被放弃了
7.Picasso
Picasso是Square公司出品的一款图片缓存库,主导者是JakeWharton大神
8.Android-Best-Practices
Android开发最佳实践,里面所介绍的经验都是来自于Futurice公司Android开发者,介绍内容有Android开发规范、架构、布局技巧,以及使用一些有助于快速开发相关工具等等,非常适合新手去学习
9.EventBus
EventBus是Android事件管理总线,使用它可以替带AndroidBroadCast,BroadCastReceiver,Handler在Activity,Fragment,Service,线程之间传递消息,大大简化了事件传递逻辑
10.android-async-http
android-async-http是Android一款老牌异步请求库,专门对Android在Apache的HttpClient基础上构建的异步http连接,该库有很多特征,例如:库的size小,支持文件上传不需使用第三方库支持,内部使用线程池来处理并发,等等
11.Fresco
Fresco是FaceBook公司出品的一款图片缓存库,Fresco是一个强大的图片加载组件,支持加载Gif图和WebP格式,支持Android2.3(APIlevel9)及其以上系统,Fresco中设计了Imagepipeline和Drawees两个模块各施其职,使得图片完美加载出来,想知道更多imagepipeline和Drawees有关于它的特性,可以到它[官方平台](http://fresco-cn.org/)看介绍
12.ZXing
ZXing是二维码领域中名气最大的开源项目,它提供了多个平台的二维码/条形码扫描解决方案,拥有扫描快,识别率高,使用简单等特点
13.LeakCanary
LeakCanary是Square公司出的一款检测内存泄露工具,该工具能帮助你在开发阶段方便的检测出内存泄露的问题,使用起来非常简单方便
14.ButterKnife
由JakeWharton大神开发出来的,ButterKnife是View注入框架,使用它为了简写很多findViewById代码,同时还支持View的一些事件处理函数
15.MPAndroidChart
MPAndroidChart是一款强大的Android图表库,支持各种各样图表显示,能想到的图表样式这里几乎都有,图表还支持选择,拖放和缩放动画效果
16.ActionBarSherlock
ActionBarSherlock这个库是JakeWharton大神开发出来支持Android3.0以下版本的,后来慢慢的Google也提供了AppCompat库来支持Android3.0以下版本使用ActionBar,因此不建议再使用这个库了
17.AndroidAnnotations
AndroidAnnotations是一个能够让你快速进行Android开发的开源框架,它能让你专注于真正重要的地方,使代码更加精简,使项目更加容易维护,它的目标就是"FastAndroidDevelopment.Easymaintainance"
18.ViewPagerIndicator
由JakeWharton大神开发出来的一个ViewPager指示器,使用起来简单方便,可高度定制,开发出各种各样动画效果
19.Glide
Glide是Google员工的开源项目,广泛应用于Google一些App上,在2014年GoogleI/O大会上被推荐使用,Glide和Picasso被人拿来比较研究过,Glide与Picasso有90%的相似度,但在一些细节上还是有点区别的,各有各优缺点看君选择
20.HomeMirror
开发者是由一名程序媛HannahMittelstaedt,HomeMirror是一款Android镜子应用,目前它能实现日期,时间,天气,生日信息,事件提醒器,骑车天气的推荐,股票信息,XKCD漫画网站的新帖等等
21.Android-PullToRefresh
一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、HorizontalScrollView、Fragment上下左右拉动刷新,不过现在这个项目已经停止维护更新了
22.MaterialDesignLibrary
这个库控件都是遵循了GoogleMaterialDesign设计规范开发出来,例如有:FlatButton,RectangleButton,CheckBox,Switch,Progressbarcircularindeterminate等等
23.PhotoView
PhotoView是ImageView的子类,支持所有ImageView的源生行为,例如:支持Pinch手势自由缩放,支持双击放大/还原,支持平滑滚动等等,并且非常方便的与ImageLoader/Picasso之类的网络图片读取库集成使用,还方便的与ViewPager等同样支持滑动手势的控件集成
24.RxAndroid
由JakeWharton大神主导开发的项目,RxAndroid是RxJava的一个针对Android平台的扩展,主要用于Android开发
25.MaterialDialogs
MaterialDialogs是一个可高度定制易用,符合MaterialDesign风格的Dialogs,兼容AndroidAPI8以上版本,个人使用感觉它完全可替代Android原生那个,比原生那个更加简单易用
26.AndroidObservableScrollView
ObservableScrollView是一款用于在滚动视图中观测滚动事件的Android库,它能够轻而易举地与Android5.0Lollipop引进的工具栏(Toolbar)进行交互,还可以帮助开发者实现拥有MaterialDesign应用视觉体验的界面外观,支持ListView,ScrollView,WebView,RecyclerView,GridView组件
27.Android-Bootstrap
Android版的Bootstrap,利用这个库能够实现很多Bootstrap样式风格,之前有学过Html的人就知道Bootstrap是什么玩意啦
28.AndroidSwipeLayout
开发者是代码家,AndroidSwipeLayout是一个支持ListView,GridView,ViewGroup等等左右上下滑动出操作菜单,类似qq消息列表向左滑动显示出多某条信息的操作菜单
29.Dagger
Dagger是Square公司出品的一个针对Android和Java的快速依赖注入器,能够有效减少你敲代码量
30.ListViewAnimations
一个轻轻松松给AndroidListView添加动画效果的库,支持的动画有:Alpha,SwingRightIn,SwingLeftIn,SwingBottomIn,SwingRightInandScaleIn等等,使用它能很容易就实现帅爆的效果
31.PagerSlidingTabStrip
PagerSlidingTabStrip是一个给AndroidViewPager添加上ViewPager滑动指示器,从GitHub上面看,这个库似乎没有人在维护了,请谨慎使用该库
32.AndroidViewAnimations
开发者是代码家,这个库实现很多很酷炫的Android动画,动画效果是借鉴Animate.css来实现的,非常酷,而且这个使用起来也是非常简单
33.AndroidSlidingUpPanel
AndroidSlidingUpPanel是一个上拉面板,就是向上滑动的时候往上飞出一个显示面板控件,该库效果在GoogleMusic,GoogleMapsandRdio等App中用到
34.MaterialDrawer
MaterialDrawer是一个类似Google官方NavigationView侧滑显示控件,个人认为NavigationView并没有MaterialDrawer实用,因为NavigationView自由度不是很好,很多都写死了不可以自由定义布局,而MaterialDrawer能够实现跟NavigationView一样的效果,同时还支持自定义效果,自由度非常高
35.Material-Animations
Material-Animations是一个很好过渡动画库,可以应用于Activity与Activity之间的跳转,Fragment与Fragment之间的跳转,以及各个View变化前后的过渡动画
36.MaterialViewPager
一个简单易用MaterialDesign风格的ViewPager库
37.Ion
ion是一个让Android的网络操作变得极其简单,支持异步获取和处理JSON,支持Android文件下载(同时支持下载进度条绑定),支持安全链接和代理
38.Stetho
Stetho是Facebook出品的一个强大的Android调试工具,使用该工具你可以在ChromeDeveloperTools查看App的布局,网络请求(仅限使用Volley,okhttp的网络请求库),sqlite,preference,一切都是可视化的操作,无须自己在去使用adb,也不需要root你的设备
39.Fastjson
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSONParse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景
40.CardLibrary
Cardslib是早期由GabrieleMariotti开发的一个为开发者方便实现各种CardUI的Android开源代码库,后来Google官方提供自己封装了CardView在v7包下,使用Google官方的可以完全替代了这个库,因此这个也被弃用了
41.android-Ultra-Pull-To-Refresh
开发者是廖祜秋,这个是一个非常强大的下拉刷新库,继承ViewGroup可以包含任何View,功能甚至比SwipeRefreshLayout强大,使用起来也非常容易,还可以自由定制自己的UI样式
42.greenDAO
greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储,更新,删除和查询,greenDAO相对OrmLite,AndrORM这两个ORM开源库,性能是最高的
43.AndroidStaggeredGrid
AndroidStaggeredGrid是一个支持多列并且每一行的item大小不一,交错排列的GridView,就是实现瀑布流样式效果,目前该库已经被弃用了,开发者建议我们使用Google官方控件RecyleView中的StaggeredGridLayoutManager布局来实现瀑布流效果
44.Otto
Otto是Square公司出的一个事件库(pub/sub模式),用来简化应用程序组件之间的通讯,otto修改自Google的Guava库,专门为Android平台进行了优化,与上面介绍的EventBus相比,两个库各有各的优点,完全取决于我们自己项目的需求来选择它们哪一个
45.xUtils
xUtils是一个快速开发框架,里面包含DbUtils,ViewUtils,HttpUtils,BitmapUtils四大模块,可用于快速开发,支持大文件上传,拥有更加灵活的ORM,最低兼容Android2.2
46.RealmJava
Realm一个轻量的Android版本的数据存储库,比Android原生系统的SQLite更加简洁快速对数据进行操作
47.AndroidCleanArchitecture
CleanArchitecture是一个非常典型使用MVP架构的项目,大家如果还没有理解MVP架构的可以看看这个项目
48.StickyListHeaders
StickyListHeaders是一个实现能够固定在屏幕顶部的ListViewSectionHeader库,就是当前section的header固定在屏幕顶部,当滑动到其他section时,其他section的header会代替之前的section的header,固定到屏幕顶部,类似于Android4.0的手机通讯录的效果
49.AppIntro
AppIntro是一个让人轻松快速搭建漂亮酷炫的引导页库
50.ActiveAndroid
ActiveAndroid是采用Rails中的「ActiveRecord」架构模式设计的适用于Android平台的轻量级ORM架构,几乎可以不用写任何SQL代码实现快速开发
51.AndroidVolley
Volley是谷歌官方开发团队在2013年GoogleI/O大会推出的一个新的网络通信框架,这个框架把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片,这个库并不是官方的,只是托管同步在Maven,官方只提供的Jar包
52.TwoWayView
TwoWayView是简化RecyclerView开发的一个库,可以在其BaseLayoutManager基础上构建各种各样的布局,该库内置了几个常用布局List,Grid,StaggeredGrid,SpannableGrid
53.ShowcaseView
ShowcaseView是一个非常适合用于对用户进行第一次使用进行指导的库,使用起来非常简单还可以自定义样式
54.Calligraphy
Calligraphy是一个用来简化Android应用使用自定义字体的类库,该类库会自动查找应用中的TextView并设置其使用的字体
55.NineOldAndroids
NineOldAndroids由JakeWharton大神开发的一个向下兼容的动画库,主要是使低于API11的系统也能够使用View的属性动画,不过现在JakeWharton大神已经不推荐使用该库,而是推荐我们使用官方封装在Support库里面的动画
56.FloatingActionButton
FloatingActionButton是一个悬浮操作按钮,官方在SupportDesign包下也有封装一个类似这个库效果的FloatingActionButton,值得说明的是这个库是早在官方封装之前就存在的,个人感觉这个库比官方那个更加好用
57.CircleImageView
CircleImageView是一个轻松帮你实现圆形效果ImageView图片库,CircleImageView是基于ImageView扩展出来,因此它拥有ImageView控件所有属性,简单易用值得你使用的库
58.Material
Material是将MaterialDesign风格控件封装在该库当中,目前封装有Progress,Button,Switch,Slider,Spinner,TextField,TabPageIndicator,SnackBar,Dialog,BottomSheetDialog,Dynamictheme
59.ActionBar-PullToRefresh
ActionBar-PullToRefresh是一个下拉刷新,下拉刷新时在ActionBar出现加载中提示的库
60.FloatingActionButton
又一个悬浮操作按钮库,该库添加支持监听滑滚动事件,当向下滑时按钮隐藏,向上滑时按钮显示,还有动画效果,支持监听ListView,ScrollView,RecylerView
61.AndroidAsync
AndroidAsync是一款基于NIO的低端Android异步socket,http(client+server),websocket和socket.io网络通信协议类库
62.Rebound
Rebound是Facebook推出的一个弹性动画库,可以让动画看起来真实自然,像真实世界的物理运动,带有力的效果,使用的参数则是Facebook的origami中使用的
63.android-common-lib
android-common-lib是Trinea大神收集的一些开发通用的缓存,公共View以及一些常用工具类
64.RippleEffect
RippleEffect是一个实现在Android任何组件点击出现MaterialDesign的波纹效果,向下兼容到AndroidAPI9
65.SmoothProgressBar
SmoothProgressBar是一个帮你的App方便实现可定制,平滑动画的水平滚动进度条库
66.RecyclerViewAnimators
RecyclerViewAnimators是一个对Recycler控件的Item添加以及删除增加动画效果,动画效果有Scale,Fade,Flip,Slide里面各种各样效果
67.circular-progress-button
一个带进度显示的Button,效果和动画做的都非常赞
68.DroidPlugin
DroidPlugin是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装,修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处
69.dynamic-load-apk
开发者是singwhatiwanna,是《Android开发艺术探索》书籍的作者,这个是作者联合另两位开发者啸(时之沙)和宋思宇花了几个月时间研究出来的Apk动态加载框架,想了解更多关于这框架可到作者博客看这篇文章「http://blog.csdn.net/singwhatiwanna/article/details/39937639」
70.ExoPlayer
ExoPlayer是Google开发团队开源出来的一个媒体播放库,比Android框架原生的MediaPlayer拥有更多优点支持动态的自适应流HTTP(DASH)和平滑流,支持高级的HLS特性,支持自定义和扩治你的使用场景等等
71.Crouton
Crouton是一个显示提示信息的显示工具类,可以用来代替Toast,默认显示在窗口的顶部,可以按队列一个接着一个显示,不过该库已经被弃用,不推荐使用
72.RoboSpice
RoboSpice是一个使你建立异步的长时间的运行任务异常轻松的一个网络库,在网络请求,缓存支持,和提供开箱即用的rest请求方面尤为强大
73.Hugo
Hugo是JakeWharton大神推出的一个用于打印Log,hugo是基于注解被调用的,引入相关依赖后,在方法上加上@DebugLog即可输出Log,使用非常简单
74.AsyncHttpClient
AsyncHttpClient是又一款Android异步请求库,该库支持WebSocket协议,使用起来也比较简单易用
75.UltimateRecyclerView
UltimateRecyclerView是一个功能强大的RecyclerView(advancedandflexibleversionofListView),包括了下拉刷新,加载更多,多种动画,空数据提示,拖动排序,视差处理,工具栏渐变,滑动删除,自定义floatingbutton,多种刷新效果,scrollbar,stickyheader,多layout支持等等元素,而且使用起来跟RecyclerView一样的方便
76.MaterialEditText
MaterialEditText是就职于Flipboard的员工「扔物线」开发的,在AppCompatv21中也提供了MaterialDesign的控件EditText,可是由于比较难用,没有提供设置颜色的Api,于是就产生这个第三方库
77.SideMenu
SideMenu是「Yalantis」组织开源出来,该组织因开源出一些动画很棒的开源库为大家所熟知该库是其中一个,该库是提供翻页动画效果的侧边菜单,动画体验超赞的
78.DragSortListView
DragSortListView是一个可以实现拖动排序,滑动删除的listview控件,注意的是作者对该库已经放弃维护更新了,不过感兴趣的人可以去研究一下
79.TimesSquare
TimesSquare是Square公司出品的一款显示日历选择日期的控件,可以让用户选择多个日期
80.GreenDroid
GreenDroid是一个封装好的AndroidUI界面库,不过改库已经被弃用了,不建议使用
81.Logger
Logger是一个简单,漂亮,强大Android打印日志库
82.Acra
Acra是一个能够让Android应用自动将崩溃报告以谷歌文档电子表的形式进行发送的库,旨在当应用发生崩溃或出现错误行为时,开发者可以获取到相关数据
83.FadingActionBar
FadingActionBar是一个支持ListView,ScrollView,WebView向下滚动时逐渐显示ActionBar库
84.AndroidImageSlider
AndroidImageSlider库开发者是代码家,该库是为Banner图片滑动提供多种动画效果,还可以轻易为Banner加载网络图片
85.SystemBarTint
SystemBarTint是一个实现沉浸式状态栏库,适用于Android系统4.4其以上的版本
86.MenuDrawer
MenuDrawer是一款滑出式菜单库,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘,ListView边缘,ViewPager变化划出菜单等
87.RoundedImageView
RoundedImageView一个快速支持图片圆角显示效果的库,该库特点是能快速加载,为了提高加载速度,该库不用创建原始位图的副本,不使用clipPath,不使用setXfermode裁剪的位图等方式来实现ImageView圆角,使用也非常简单
88.Afinal
Afinal是一个android的sqliteorm和ioc框架,同时封装了android中的http框架,使其更加简单易用,使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题,Afinal的宗旨是简洁,快速,约定大于配置的方式,尽量一行代码完成所有事情
89.android-pulltorefresh
一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView,ViewPager,WebView,ExpandableListView,GridView,ScrollView,Horizontal,ScrollView,Fragment上下左右拉动刷新,并且它实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好,但是该库已经停止维护,因此不建议使用,可考虑使用Android-Ultra-Pull-to-Refresh
90.Bolts-Android
Bolts是一款底层类库集合,在后台实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程,与AsyncTask比较:(1)使用的是无大小限制的线程池;(2)任务可组合可级联,防止了代码耦合
91.NumberProgressBar
NumberProgressBar开发者是代码家,这是一个带简约性感数字显示的进度条库,使用非常简单方便
92.SwipeBackLayout
SwipeBackLayout是一个支持屏幕上下左右滑动返回上层Activity,关闭当前Activity,类似简书App
93.android-gif-drawable
一个支持gif显示的view,用jni实现的,编译生成so库后直接xml定义view即可,简单易用
94.Vitamio
Vitamio是一款Android与iOS平台上的全能多媒体开发框架,特点:(1)全面支持硬件解码与GPU渲染,(2)能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,(3)在Android与iOS上跨平台支持MMS,RTSP,RTMP,HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播
95.SmartTabLayout
SmartTabLayout是一个自定义的Tabtitlestrip,基于GoogleSamples中的android-SlidingTabBasic项目,滑动时Indicator可平滑过渡
96.uCrop
uCrop是[Yalantis](https://yalantis.com/)组织开源的图片裁剪库,支持缩放,旋转图片,支持各种比例的裁剪框,非常强大的一个图片裁剪库
97.android-crop
又一个图片裁剪库,向下兼容到Api10,个人感觉这个库并没有比上面介绍的uCrop强大
98.HoloEveryWhere
HoloEveryWhere是一套Android开发库,提供了全套HoloStyle控件,它的外观与功能和标准HoloStyle控件基本相同,唯一不同的是它可以运行在低于4.0版本的Android系统上
99.AVLoadingIndicatorView
AVLoadingIndicatorView库含有各种各样漂亮的加载动画效果,使用起来也非常简单,和平时使用ProgressBar一样
100.SweetAlertDialog
1.ReactNative
这个是Facebook在React.jsConf2015大会上推出的基于JavaScript的开源框架ReactNative,该框架结合了Web应用和Native应用的优势,可以使用JavaScript来开发iOS和Android原生应用
2.UniversalImageLoader
ImageLoader是最早开源的Android图片缓存库,强大的缓存机制,早期被广泛Android应用使用,至今仍然有很多Android开发者在使用
3.RxJava
RxJava是一个在JavaVM上使用可观测的序列来组成异步的、基于事件的程序的库,简单来说它就是一个实现异步操作的库,RxJava的优点在于一个词"简洁",使用它就算你程序逻辑有多么复杂,它依然能够保持简洁易懂
4.Retrofit
Retrofit是Square公司出品的HTTP请求库,同时是Square是最早开源项目之一,Retrofit是目前Android最流行的HttpClient库之一,目前版本是Retrofit2.0Beta4,越来越多Android开发者开始使用这个请求库了
5.OkHttp
OkHttp是Square公司出品的HTTP另一个请求库,Google不推荐人们使用HttpClient,可是HttpURLConnection实在是太难用了,因此很多人使用了OkHttp来解决这问题,据说Android4.4的源码中可以看到HttpURLConnection已经替换成OkHttp实现呢
6.SlidingMenu
一个侧滑菜单开源库,在Google自己原生态的侧滑菜单NavigationDrawer没有出现之前,这个库就已经被广泛使用,可是到现在这个库已经被放弃了
7.Picasso
Picasso是Square公司出品的一款图片缓存库,主导者是JakeWharton大神
8.Android-Best-Practices
Android开发最佳实践,里面所介绍的经验都是来自于Futurice公司Android开发者,介绍内容有Android开发规范、架构、布局技巧,以及使用一些有助于快速开发相关工具等等,非常适合新手去学习
9.EventBus
EventBus是Android事件管理总线,使用它可以替带AndroidBroadCast,BroadCastReceiver,Handler在Activity,Fragment,Service,线程之间传递消息,大大简化了事件传递逻辑
10.android-async-http
android-async-http是Android一款老牌异步请求库,专门对Android在Apache的HttpClient基础上构建的异步http连接,该库有很多特征,例如:库的size小,支持文件上传不需使用第三方库支持,内部使用线程池来处理并发,等等
11.Fresco
Fresco是FaceBook公司出品的一款图片缓存库,Fresco是一个强大的图片加载组件,支持加载Gif图和WebP格式,支持Android2.3(APIlevel9)及其以上系统,Fresco中设计了Imagepipeline和Drawees两个模块各施其职,使得图片完美加载出来,想知道更多imagepipeline和Drawees有关于它的特性,可以到它[官方平台](http://fresco-cn.org/)看介绍
12.ZXing
ZXing是二维码领域中名气最大的开源项目,它提供了多个平台的二维码/条形码扫描解决方案,拥有扫描快,识别率高,使用简单等特点
13.LeakCanary
LeakCanary是Square公司出的一款检测内存泄露工具,该工具能帮助你在开发阶段方便的检测出内存泄露的问题,使用起来非常简单方便
14.ButterKnife
由JakeWharton大神开发出来的,ButterKnife是View注入框架,使用它为了简写很多findViewById代码,同时还支持View的一些事件处理函数
15.MPAndroidChart
MPAndroidChart是一款强大的Android图表库,支持各种各样图表显示,能想到的图表样式这里几乎都有,图表还支持选择,拖放和缩放动画效果
16.ActionBarSherlock
ActionBarSherlock这个库是JakeWharton大神开发出来支持Android3.0以下版本的,后来慢慢的Google也提供了AppCompat库来支持Android3.0以下版本使用ActionBar,因此不建议再使用这个库了
17.AndroidAnnotations
AndroidAnnotations是一个能够让你快速进行Android开发的开源框架,它能让你专注于真正重要的地方,使代码更加精简,使项目更加容易维护,它的目标就是"FastAndroidDevelopment.Easymaintainance"
18.ViewPagerIndicator
由JakeWharton大神开发出来的一个ViewPager指示器,使用起来简单方便,可高度定制,开发出各种各样动画效果
19.Glide
Glide是Google员工的开源项目,广泛应用于Google一些App上,在2014年GoogleI/O大会上被推荐使用,Glide和Picasso被人拿来比较研究过,Glide与Picasso有90%的相似度,但在一些细节上还是有点区别的,各有各优缺点看君选择
20.HomeMirror
开发者是由一名程序媛HannahMittelstaedt,HomeMirror是一款Android镜子应用,目前它能实现日期,时间,天气,生日信息,事件提醒器,骑车天气的推荐,股票信息,XKCD漫画网站的新帖等等
21.Android-PullToRefresh
一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、HorizontalScrollView、Fragment上下左右拉动刷新,不过现在这个项目已经停止维护更新了
22.MaterialDesignLibrary
这个库控件都是遵循了GoogleMaterialDesign设计规范开发出来,例如有:FlatButton,RectangleButton,CheckBox,Switch,Progressbarcircularindeterminate等等
23.PhotoView
PhotoView是ImageView的子类,支持所有ImageView的源生行为,例如:支持Pinch手势自由缩放,支持双击放大/还原,支持平滑滚动等等,并且非常方便的与ImageLoader/Picasso之类的网络图片读取库集成使用,还方便的与ViewPager等同样支持滑动手势的控件集成
24.RxAndroid
由JakeWharton大神主导开发的项目,RxAndroid是RxJava的一个针对Android平台的扩展,主要用于Android开发
25.MaterialDialogs
MaterialDialogs是一个可高度定制易用,符合MaterialDesign风格的Dialogs,兼容AndroidAPI8以上版本,个人使用感觉它完全可替代Android原生那个,比原生那个更加简单易用
26.AndroidObservableScrollView
ObservableScrollView是一款用于在滚动视图中观测滚动事件的Android库,它能够轻而易举地与Android5.0Lollipop引进的工具栏(Toolbar)进行交互,还可以帮助开发者实现拥有MaterialDesign应用视觉体验的界面外观,支持ListView,ScrollView,WebView,RecyclerView,GridView组件
27.Android-Bootstrap
Android版的Bootstrap,利用这个库能够实现很多Bootstrap样式风格,之前有学过Html的人就知道Bootstrap是什么玩意啦
28.AndroidSwipeLayout
开发者是代码家,AndroidSwipeLayout是一个支持ListView,GridView,ViewGroup等等左右上下滑动出操作菜单,类似qq消息列表向左滑动显示出多某条信息的操作菜单
29.Dagger
Dagger是Square公司出品的一个针对Android和Java的快速依赖注入器,能够有效减少你敲代码量
30.ListViewAnimations
一个轻轻松松给AndroidListView添加动画效果的库,支持的动画有:Alpha,SwingRightIn,SwingLeftIn,SwingBottomIn,SwingRightInandScaleIn等等,使用它能很容易就实现帅爆的效果
31.PagerSlidingTabStrip
PagerSlidingTabStrip是一个给AndroidViewPager添加上ViewPager滑动指示器,从GitHub上面看,这个库似乎没有人在维护了,请谨慎使用该库
32.AndroidViewAnimations
开发者是代码家,这个库实现很多很酷炫的Android动画,动画效果是借鉴Animate.css来实现的,非常酷,而且这个使用起来也是非常简单
33.AndroidSlidingUpPanel
AndroidSlidingUpPanel是一个上拉面板,就是向上滑动的时候往上飞出一个显示面板控件,该库效果在GoogleMusic,GoogleMapsandRdio等App中用到
34.MaterialDrawer
MaterialDrawer是一个类似Google官方NavigationView侧滑显示控件,个人认为NavigationView并没有MaterialDrawer实用,因为NavigationView自由度不是很好,很多都写死了不可以自由定义布局,而MaterialDrawer能够实现跟NavigationView一样的效果,同时还支持自定义效果,自由度非常高
35.Material-Animations
Material-Animations是一个很好过渡动画库,可以应用于Activity与Activity之间的跳转,Fragment与Fragment之间的跳转,以及各个View变化前后的过渡动画
36.MaterialViewPager
一个简单易用MaterialDesign风格的ViewPager库
37.Ion
ion是一个让Android的网络操作变得极其简单,支持异步获取和处理JSON,支持Android文件下载(同时支持下载进度条绑定),支持安全链接和代理
38.Stetho
Stetho是Facebook出品的一个强大的Android调试工具,使用该工具你可以在ChromeDeveloperTools查看App的布局,网络请求(仅限使用Volley,okhttp的网络请求库),sqlite,preference,一切都是可视化的操作,无须自己在去使用adb,也不需要root你的设备
39.Fastjson
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSONParse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景
40.CardLibrary
Cardslib是早期由GabrieleMariotti开发的一个为开发者方便实现各种CardUI的Android开源代码库,后来Google官方提供自己封装了CardView在v7包下,使用Google官方的可以完全替代了这个库,因此这个也被弃用了
41.android-Ultra-Pull-To-Refresh
开发者是廖祜秋,这个是一个非常强大的下拉刷新库,继承ViewGroup可以包含任何View,功能甚至比SwipeRefreshLayout强大,使用起来也非常容易,还可以自由定制自己的UI样式
42.greenDAO
greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储,更新,删除和查询,greenDAO相对OrmLite,AndrORM这两个ORM开源库,性能是最高的
43.AndroidStaggeredGrid
AndroidStaggeredGrid是一个支持多列并且每一行的item大小不一,交错排列的GridView,就是实现瀑布流样式效果,目前该库已经被弃用了,开发者建议我们使用Google官方控件RecyleView中的StaggeredGridLayoutManager布局来实现瀑布流效果
44.Otto
Otto是Square公司出的一个事件库(pub/sub模式),用来简化应用程序组件之间的通讯,otto修改自Google的Guava库,专门为Android平台进行了优化,与上面介绍的EventBus相比,两个库各有各的优点,完全取决于我们自己项目的需求来选择它们哪一个
45.xUtils
xUtils是一个快速开发框架,里面包含DbUtils,ViewUtils,HttpUtils,BitmapUtils四大模块,可用于快速开发,支持大文件上传,拥有更加灵活的ORM,最低兼容Android2.2
46.RealmJava
Realm一个轻量的Android版本的数据存储库,比Android原生系统的SQLite更加简洁快速对数据进行操作
47.AndroidCleanArchitecture
CleanArchitecture是一个非常典型使用MVP架构的项目,大家如果还没有理解MVP架构的可以看看这个项目
48.StickyListHeaders
StickyListHeaders是一个实现能够固定在屏幕顶部的ListViewSectionHeader库,就是当前section的header固定在屏幕顶部,当滑动到其他section时,其他section的header会代替之前的section的header,固定到屏幕顶部,类似于Android4.0的手机通讯录的效果
49.AppIntro
AppIntro是一个让人轻松快速搭建漂亮酷炫的引导页库
50.ActiveAndroid
ActiveAndroid是采用Rails中的「ActiveRecord」架构模式设计的适用于Android平台的轻量级ORM架构,几乎可以不用写任何SQL代码实现快速开发
51.AndroidVolley
Volley是谷歌官方开发团队在2013年GoogleI/O大会推出的一个新的网络通信框架,这个框架把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片,这个库并不是官方的,只是托管同步在Maven,官方只提供的Jar包
52.TwoWayView
TwoWayView是简化RecyclerView开发的一个库,可以在其BaseLayoutManager基础上构建各种各样的布局,该库内置了几个常用布局List,Grid,StaggeredGrid,SpannableGrid
53.ShowcaseView
ShowcaseView是一个非常适合用于对用户进行第一次使用进行指导的库,使用起来非常简单还可以自定义样式
54.Calligraphy
Calligraphy是一个用来简化Android应用使用自定义字体的类库,该类库会自动查找应用中的TextView并设置其使用的字体
55.NineOldAndroids
NineOldAndroids由JakeWharton大神开发的一个向下兼容的动画库,主要是使低于API11的系统也能够使用View的属性动画,不过现在JakeWharton大神已经不推荐使用该库,而是推荐我们使用官方封装在Support库里面的动画
56.FloatingActionButton
FloatingActionButton是一个悬浮操作按钮,官方在SupportDesign包下也有封装一个类似这个库效果的FloatingActionButton,值得说明的是这个库是早在官方封装之前就存在的,个人感觉这个库比官方那个更加好用
57.CircleImageView
CircleImageView是一个轻松帮你实现圆形效果ImageView图片库,CircleImageView是基于ImageView扩展出来,因此它拥有ImageView控件所有属性,简单易用值得你使用的库
58.Material
Material是将MaterialDesign风格控件封装在该库当中,目前封装有Progress,Button,Switch,Slider,Spinner,TextField,TabPageIndicator,SnackBar,Dialog,BottomSheetDialog,Dynamictheme
59.ActionBar-PullToRefresh
ActionBar-PullToRefresh是一个下拉刷新,下拉刷新时在ActionBar出现加载中提示的库
60.FloatingActionButton
又一个悬浮操作按钮库,该库添加支持监听滑滚动事件,当向下滑时按钮隐藏,向上滑时按钮显示,还有动画效果,支持监听ListView,ScrollView,RecylerView
61.AndroidAsync
AndroidAsync是一款基于NIO的低端Android异步socket,http(client+server),websocket和socket.io网络通信协议类库
62.Rebound
Rebound是Facebook推出的一个弹性动画库,可以让动画看起来真实自然,像真实世界的物理运动,带有力的效果,使用的参数则是Facebook的origami中使用的
63.android-common-lib
android-common-lib是Trinea大神收集的一些开发通用的缓存,公共View以及一些常用工具类
64.RippleEffect
RippleEffect是一个实现在Android任何组件点击出现MaterialDesign的波纹效果,向下兼容到AndroidAPI9
65.SmoothProgressBar
SmoothProgressBar是一个帮你的App方便实现可定制,平滑动画的水平滚动进度条库
66.RecyclerViewAnimators
RecyclerViewAnimators是一个对Recycler控件的Item添加以及删除增加动画效果,动画效果有Scale,Fade,Flip,Slide里面各种各样效果
67.circular-progress-button
一个带进度显示的Button,效果和动画做的都非常赞
68.DroidPlugin
DroidPlugin是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装,修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处
69.dynamic-load-apk
开发者是singwhatiwanna,是《Android开发艺术探索》书籍的作者,这个是作者联合另两位开发者啸(时之沙)和宋思宇花了几个月时间研究出来的Apk动态加载框架,想了解更多关于这框架可到作者博客看这篇文章「http://blog.csdn.net/singwhatiwanna/article/details/39937639」
70.ExoPlayer
ExoPlayer是Google开发团队开源出来的一个媒体播放库,比Android框架原生的MediaPlayer拥有更多优点支持动态的自适应流HTTP(DASH)和平滑流,支持高级的HLS特性,支持自定义和扩治你的使用场景等等
71.Crouton
Crouton是一个显示提示信息的显示工具类,可以用来代替Toast,默认显示在窗口的顶部,可以按队列一个接着一个显示,不过该库已经被弃用,不推荐使用
72.RoboSpice
RoboSpice是一个使你建立异步的长时间的运行任务异常轻松的一个网络库,在网络请求,缓存支持,和提供开箱即用的rest请求方面尤为强大
73.Hugo
Hugo是JakeWharton大神推出的一个用于打印Log,hugo是基于注解被调用的,引入相关依赖后,在方法上加上@DebugLog即可输出Log,使用非常简单
74.AsyncHttpClient
AsyncHttpClient是又一款Android异步请求库,该库支持WebSocket协议,使用起来也比较简单易用
75.UltimateRecyclerView
UltimateRecyclerView是一个功能强大的RecyclerView(advancedandflexibleversionofListView),包括了下拉刷新,加载更多,多种动画,空数据提示,拖动排序,视差处理,工具栏渐变,滑动删除,自定义floatingbutton,多种刷新效果,scrollbar,stickyheader,多layout支持等等元素,而且使用起来跟RecyclerView一样的方便
76.MaterialEditText
MaterialEditText是就职于Flipboard的员工「扔物线」开发的,在AppCompatv21中也提供了MaterialDesign的控件EditText,可是由于比较难用,没有提供设置颜色的Api,于是就产生这个第三方库
77.SideMenu
SideMenu是「Yalantis」组织开源出来,该组织因开源出一些动画很棒的开源库为大家所熟知该库是其中一个,该库是提供翻页动画效果的侧边菜单,动画体验超赞的
78.DragSortListView
DragSortListView是一个可以实现拖动排序,滑动删除的listview控件,注意的是作者对该库已经放弃维护更新了,不过感兴趣的人可以去研究一下
79.TimesSquare
TimesSquare是Square公司出品的一款显示日历选择日期的控件,可以让用户选择多个日期
80.GreenDroid
GreenDroid是一个封装好的AndroidUI界面库,不过改库已经被弃用了,不建议使用
81.Logger
Logger是一个简单,漂亮,强大Android打印日志库
82.Acra
Acra是一个能够让Android应用自动将崩溃报告以谷歌文档电子表的形式进行发送的库,旨在当应用发生崩溃或出现错误行为时,开发者可以获取到相关数据
83.FadingActionBar
FadingActionBar是一个支持ListView,ScrollView,WebView向下滚动时逐渐显示ActionBar库
84.AndroidImageSlider
AndroidImageSlider库开发者是代码家,该库是为Banner图片滑动提供多种动画效果,还可以轻易为Banner加载网络图片
85.SystemBarTint
SystemBarTint是一个实现沉浸式状态栏库,适用于Android系统4.4其以上的版本
86.MenuDrawer
MenuDrawer是一款滑出式菜单库,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘,ListView边缘,ViewPager变化划出菜单等
87.RoundedImageView
RoundedImageView一个快速支持图片圆角显示效果的库,该库特点是能快速加载,为了提高加载速度,该库不用创建原始位图的副本,不使用clipPath,不使用setXfermode裁剪的位图等方式来实现ImageView圆角,使用也非常简单
88.Afinal
Afinal是一个android的sqliteorm和ioc框架,同时封装了android中的http框架,使其更加简单易用,使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题,Afinal的宗旨是简洁,快速,约定大于配置的方式,尽量一行代码完成所有事情
89.android-pulltorefresh
一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView,ViewPager,WebView,ExpandableListView,GridView,ScrollView,Horizontal,ScrollView,Fragment上下左右拉动刷新,并且它实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好,但是该库已经停止维护,因此不建议使用,可考虑使用Android-Ultra-Pull-to-Refresh
90.Bolts-Android
Bolts是一款底层类库集合,在后台实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程,与AsyncTask比较:(1)使用的是无大小限制的线程池;(2)任务可组合可级联,防止了代码耦合
91.NumberProgressBar
NumberProgressBar开发者是代码家,这是一个带简约性感数字显示的进度条库,使用非常简单方便
92.SwipeBackLayout
SwipeBackLayout是一个支持屏幕上下左右滑动返回上层Activity,关闭当前Activity,类似简书App
93.android-gif-drawable
一个支持gif显示的view,用jni实现的,编译生成so库后直接xml定义view即可,简单易用
94.Vitamio
Vitamio是一款Android与iOS平台上的全能多媒体开发框架,特点:(1)全面支持硬件解码与GPU渲染,(2)能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,(3)在Android与iOS上跨平台支持MMS,RTSP,RTMP,HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播
95.SmartTabLayout
SmartTabLayout是一个自定义的Tabtitlestrip,基于GoogleSamples中的android-SlidingTabBasic项目,滑动时Indicator可平滑过渡
96.uCrop
uCrop是[Yalantis](https://yalantis.com/)组织开源的图片裁剪库,支持缩放,旋转图片,支持各种比例的裁剪框,非常强大的一个图片裁剪库
97.android-crop
又一个图片裁剪库,向下兼容到Api10,个人感觉这个库并没有比上面介绍的uCrop强大
98.HoloEveryWhere
HoloEveryWhere是一套Android开发库,提供了全套HoloStyle控件,它的外观与功能和标准HoloStyle控件基本相同,唯一不同的是它可以运行在低于4.0版本的Android系统上
99.AVLoadingIndicatorView
AVLoadingIndicatorView库含有各种各样漂亮的加载动画效果,使用起来也非常简单,和平时使用ProgressBar一样
100.SweetAlertDialog
相关文章推荐
- 在Android环境中使用Valgrind工具进行内存错误检测
- Android CardView 开发过程中要注意的细节
- Android热修复实现
- android 上传文件到服务器代码实例
- android 代码混淆
- Android Binder ProcessState & IPCThreadState相关介绍
- Android下EditText 添加字体下划线
- android开源图表库MPAndroidChart
- APK 与 Android Native Service 通信
- android屏幕投影到pc
- Android工具类系列-NetUtil
- Android应用程序窗口(Activity)的视图对象(View)的创建过程分析
- 通过Android Studio查看SDK源码
- Android学习笔记----解决“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536”问题
- Android工具类系列-KeyBoardUtil
- Android 摇一摇太灵敏的解决方法
- android亮屏解锁demo
- Android进程间通信(三):使用Messenger实现进程间通信
- Android重要的组件--Intent
- android 调试工具ADB命令详解