Android开源库,您懂多少?
前言:
转眼间来到2017年8月份了,差不多又过去一年了,一年了我感觉我还是原地踏步,无论是项目经验还是底层的知识都很稀薄,在这个知识不断更新的时代,我也不得不一直保持学习的姿态,虽然一直在奔跑,但我乐意,我不觉得累!好吧,Android开源库,您懂多少?来一个总结归纳吧,我会不断学习与更新。
github地址(持续更新欢迎star):https://github.com/zsml2016/GitHubNotes
一、完整项目:
-
Meizhi:
gank.iounofficial client, RxJava & Retrofit. (The project is no longer activelymaintained, we have a better project:
-
ColorfulNews:
A news-reading App (MVP+Dagger2+RxJava+Retrofit2+Material Design)。
-
Douya:
开源的Material Design豆瓣客户端(A Material Design appfor douban.com)。
-
AndroidFire:
一款新闻阅读 App框架,基于 Material Design + MVP+ RxJava + Retrofit + Glide,基本涵盖了当前android端开发最常用的主流框架,基于此框架可以快速开发一个app。
-
WechatLuckyMoney
微信红包插件。
-
bilibili-android-client:
An unofficial bilibili client for android
-
Twobbble:
这是一个使用Kotlin开发的Dribbble客户端
-
BookReader:
"任阅"网络小说阅读器,实现追书推荐收藏、书籍/标签检索、模拟翻书的翻页效果、缓存书籍、日夜间模式、书签、txt/pdf/epub书籍阅读、字体/主题/亮度设置、Wifi传书等功能~
-
TodayNews:
一个仿今日头条的开源项目.
-
GithubApp:
A Github Client App with MVP architecture useDagger2, RxJava, Retrofit, Okhttp 。
-
SimpleNews:
基于Material Design和MVP的新闻客户端。
二、网络请求:
-
NoHttp:
Android实现Http标准协议框架,支持缓存(提供五种缓存模式)、代理、重定向,底层可动态切换OkHttp、URLConnection。 -
retrofit:
Type-safeHTTP client for Android and Java by Square, Inc.
3.okhttp-OkGo:
OkGo - 3.0 震撼来袭,该库是基于Http协议,封装了 OkHttp的网络请求框架,比 Retrofit更简单易用,支持RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能。
-
okhttputils:
okhttp的辅助类 -
xUtils3:
androidorm, bitmap, http, view inject... -
okhttp:
AnHTTP+HTTP/2 client for Android and java applications.
三、图片加载:
一个帮助您完成从缩略图到原图无缝过渡转变的神奇组件。
-
fresco:
AnAndroid library for managing images and the memory they use. -
picasso:
Apowerful image downloading and caching library for Android 。
-
glide:
Animage loading and caching library for Android focused on smooth scrolling. -
glide-transformations:
An Android transformation library providing avariety of image transformations for Glide. -
Android-Universal-Image-Loader:
Powerful and flexible library for loading,caching and displaying images on Android.
四.下拉刷新:
-
SmartRefreshLayout:
下拉刷新、上拉加载、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹,具有极强的扩展性,集成了几十种炫酷的Header和Footer。 -
XRefreshView:
一个万能的android下拉上拉刷新的框架,完美支持recyclerview。
3.LRecyclerView:
RecyclerView下拉刷新,自动加载更多;仿iOS侧滑Item删除菜单。
-
BreakOutToRefresh:
Play BreakOut while loading - A playable pullto refresh view using SpriteKit。
5.FunGameRefresh :
好玩的下拉刷新控件,让我们一起来回味童年。
-
CircleRefreshLayout:
a custom pull-to-refresh layout which containsa interesting animation。
7.FlyRefresh:
The Android implementation of Replace, designed by Zee Youn. I implementthis as a FlyRefresh layout. The content of the layout can be anyNestedScrollingChild, such as a RecyclerView, NestedScrollView,VerticalGridView, etc. This library can also work with NestedScrollingParent asparent, such as CoordinatorLayout.
9.TwinklingRefreshLayout:
RefreshLayout that support for OverScroll andbetter than ios.支持下拉刷新和上拉加载的RefreshLayout,自带越界回弹效果,支持RecyclerView,AbsListView,ScrollView,WebView。
-
XRecyclerView:
一个RecyclerView实现pullrefresh和loadmore featrues.you可以像标准RecyclerView一样使用它。 -
RecyclerRefreshLayout:
A pull to refresh layout for android, theRecyclerRefreshLayout is based on the SwipeRefreshLayout. support all theviews, highly customizable, code simplicity, etc
12.BGARefreshLayout-Android:
多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位。
五.数据解析:
六.依赖注解:
-
butterknife:
Bind Android views and callbacks to fields and methods.
七.数据存储:
-
afinal:
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。详情请通过以下网址查看。 -
LitePal:
AnAndroid library that makes developers use SQLite database extremely easy. -
DiskLruCache:
Java implementation of a Disk-based LRU cache which specifically targetsAndroid compatibility. -
greenDAO:
greenDAO is a light & fast ORM solution forAndroid that maps objects to SQLite databases.
八.进度、加载等待、对话框:
1、BubbleSeekBar:
A beautiful Android custom seekbar, which has a bubble view withprogress appearing upon when seeking.自定义SeekBar,进度变化由可视化气泡样式呈现
2、SVProgressHUD:
SVProgressHUD For Android。
3、SmoothProgressBar:
A small Android library allowing you to have asmooth and customizable horizontal indeterminate ProgressBar。
4、 WaveLoading:
Awave-like loading drawable。
5、CircleProgress:
CircleProgress, DonutProgress, ArcProgress。
6.NiftyDialogEffects:
漂亮的模式对话框效果。
-
sweet-alert-dialog:
SweetAlert for Android, a beautiful and cleveralert dialog. -
android-adDialog:
一个简单,强大的广告活动弹窗控件。 -
LoadingDrawable:
Some beautiful android loading drawable, can be combined with any viewas the LoadingView or the ProgressBar. Besides, some Drawable can customize theloading progress too. -
Android-SpinKit:
Android loading animations。 -
NumberProgressBar:
A beautiful, slim Android ProgressBar. -
MaterialProgressBar:
Material Design ProgressBar with consistentappearance。 -
MaterialLoadingProgressBar:
MaterialLoadingProgressBar provide a styledProgressBar which looks like SwipeRefreshLayout's loading indicator(support-v4v21+)。 -
material-dialogs:
A beautiful, fluid, and customizable dialogs API。
20.spots-dialog:
Android AlertDialog with moving dots progress indicator.
九.kotlin:
-
kotlin:
The Kotlin Programming Language.
十.导航 指示器:
1.ahbottomnavigation:
A library to reproduce the behavior of theBottom Navigation guidelines from Material Design.
-
NavigationTabBar:
Navigation tab bar with colorful interactions. -
AlphaIndicatorView:
仿微信底部tab标签,滑动的时候颜色渐变,使用极其简单,只需要两行代码。 -
stepper-indicator:
用于入职的步骤指示器或简单的查看器。 -
CoordinatorTabLayout:
Combination of TabLayout andCoordinatorLayout./TabLayout和CoordinatorLayout相结合的折叠控件。 -
MagicIndicator:
A powerful, customizable and extensible ViewPager indicator framework.As the best alternative of ViewPagerIndicator, TabLayout andPagerSlidingTabStrip ——强大、可定制、易扩展的ViewPager指示器框架。是ViewPagerIndicator、TabLayout、PagerSlidingTabStrip的最佳替代品。支持角标,更支持在非ViewPager场景下使用(使用hide()、show()切换Fragment或使用setVisibility切换FrameLayout里的View等) -
FlycoTabLayout:
An Android TabLayout Lib。
十一.搜索框:
-
PersistentSearch:
A clone of the Google Now/Maps/Play persistent search bar。 -
floatingsearchview:
A search view that implements a floating searchbar also known as persistent search。 -
IconCenterView:
a iOS-Style search bar in Android。 -
MaterialSearchBar:
Material Design Search Bar for Android。 -
SearchDialog:
仿bilibili搜索框效果(三句代码实现)。
十二.工具类:
-
AndroidHttpCapture:
AndroidHttpCapture网络诊断工具是一款Android手机抓包软件主要功能包括:手机端抓包、PING/DNS/TraceRoute诊断、抓包HAR数据上传分享。你也可以看成是Android版的"Fiddler" (o)/~。 -
Condom:
一个超轻超薄的Android工具库,阻止三方SDK中常见的有害行为,而不影响应用自身的功能。(例如严重影响用户体验的『链式唤醒』)。 -
android-utils:
It contains most of the Android utility classes.
4.AndroidDevTools:
收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。
-
androidscreen:
android screen是一个基于Java开发的工具,目的是帮助android开发者生成多屏幕适配的配置文件,减少开发难度。
6.TinyPinyin:
适用于Java和Android的快速、低内存占用的汉字转拼音库。
-
packer-ng-plugin:
下一代Android打包工具,100个渠道包只需要10秒钟 。 -
walle:
Android Signature V2 Scheme签名下的新一代渠道包打包神器。
9.leakcanary:
A memory leak detection library for Android andJava.
-
AutoInstaller:
应用自动静默更新安装库. -
AndroidUtilCode:
Android developers should collect the following utils(updating)。 -
baseAdapter:
Android 万能的Adapter forListView,RecyclerView,GridView等,支持多种Item类型的情况。 -
RxDownload:
基于RxJava打造的下载工具,支持多线程下载和断点续传,智能判断是否支持断点续传等功能。
十三.广告轮播:
-
banner:
Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等! -
AndroidImageSlider:
An amazing and convenient Android image slider.
十四.欢迎向导:
-
XhsWelcomeAnim:
小红书欢迎引导第二版。 -
WoWoViewPager:
结合ViewPager和动画来提供一种创建应用程序指南页面的简单方法。 -
ShowcaseView:
Highlight the best bits of your app to users quickly, simply, andcool...ly。 -
MaterialShowcaseView:
A Material Design themed ShowcaseView forAndroid。 -
Highlight:
一个用于app指向性功能高亮的库。 -
GuideView:
最最轻量级的新手引导库,能够快速为任何一个View创建一个遮罩层,支持单个页面,多个引导提示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展,良好支持fragment。
十五.动画渲染:
-
android-activityAnim:
五种实现activity动画切换的方式。 -
ParticleTextView:
一个用粒子动画显示文字的 Android自定义 View。 -
animate:
Anapplication demoing meaningful motion on Android。 -
AndroidViewAnimations:
可爱视图动画收藏。 -
LTMorphingLabel:
Graceful morphing effects for UILabel written in Swift. -
HTextView:
Animationeffects to text, not really textview。 -
Material-Animations:
Android Transition animations explanation withexamples. -
FloatingView:
FloatingView can make the target view floating above the anchor viewwith cool animation.
十六 . Android复习面试:
-
android-interview-questions:
一个老外总结的-Android的面试问题 -
android-interview-questions-cn :
由国内大神stormzhang组织的-最全面的高质量Android面试指南。 -
ResumeSample:
Resumetemplate for Chinese programmers .程序员简历模板系列。包括PHP程序员简历模板、iOS程序员简历模板、Android程序员简历模板、Web前端程序员简历模板、Java程序员简历模板、C/C++程序员简历模板、NodeJS程序员简历模板、架构师简历模板以及通用程序员简历模板。 -
android-skill-summary:
Android技能总结,各种基础和进阶内容的资料收集。 -
LearningNotes:
Enjoy Learning.比较系统的学习笔记。
十七 . Android多媒体:
-
VCameraDemo:
微信小视频+秒拍,FFmpeg库封装。 -
android-UniversalMusicPlayer:
This sample showshow to implement an audio media app that works across multiple form factors andprovide a consistent user experience on Android phones, tablets, Auto, Wear andCast devices。 -
PLDroidPlayer:
PLDroidPlayer 是 Pili直播 SDK的安卓播放器。支持所有直播常用的格式,如:RTMP、HLS、FLV。拥有优秀的功能和特性,如:首屏秒开、追帧优化、丰富的数据和状态回调、硬解软解支持。而且可以根据自己的业务进行高度定制化开发。 -
PLDroidShortVideo:
PLDroidShortVideo是七牛推出的一款适用于 Android平台的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、本地/云端存储在内的多种功能,支持高度定制以及二次开发。 -
video-live :
视频直播。 -
barcodescanner :
适用于Android的条形码扫描程序库。 -
BGAQRCode-Android :
QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo二维码、支持微博微信 QQ二维码扫描样式。 -
GSYVideoPlayer :
视频播放器(IJKplayer),HTTPS支持,支持弹幕,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,5.0的过场效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,其他一些小动画效果,rtsp、concat、mpeg。
9.ijkplayer :
基于FFmpegn3.3的Android / iOS视频播放器,支持MediaCodec,VideoToolbox。
-
VideoListPlayer :
Playvideo in ListView or RecyclerView。 -
JieCaoVideoPlayer :
AndroidVideoPlayer MediaPlayer VideoView MediaView Float View And Fullscreen。 -
UniversalVideoView :
Abetter Android VideoView with more Media Controller customization.一个更好用的Android VideoView.
十八 . 选择器:
-
MaterialDateTimePicker :
在Android上选择日期或时间: -
DatePicker :
Usefuland powerful date picker for android。 -
WheelPicker :
Simpleand fantastic wheel view in realistic effect for android. -
TakePhoto :
一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库。 -
CharacterPickerView :
可实现三级联动的选择器,高仿iOS的滚轮控件,字体大小自适应。 -
android-zxingLibrary :
几行代码快速集成二维码扫描功能 -
AndroidPicker :
安卓选择器类库,包括日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等,可自定义顶部及底部界面,可自定义窗口动画…… -
Android-FilePicker :
Photopickerand document picker for android。 -
SuspensionIndexBar :
仿美团选择城市、微信通讯录、饿了么点餐列表的导航悬停分组索引列表。 -
Android-PickerView :
Thisis a picker view for android , support linkage effect, timepicker andoptionspicker.(时间选择器、省市区三级联动)。
十九 . UI扩展:
-
AndroidSwipeLayout :
The Most Powerful Swipe Layout! -
BezierMaker :
通过de Casteljau算法绘制贝塞尔曲线,并计算它的切线,实现1-7阶贝塞尔曲线的形成动画。 -
cropiwa :
适用于Android的可配置自定义裁剪窗口小部件。 -
SlideSwitch :
A widget you can slide it to open or close something。 -
ExpandableTextView :
Android's TextView that can expand/collapselike the Google Play's app description。 -
XCL-Charts :
Android图表库(XCL-Charts is a freecharting library for Android platform.),基于AndroidCanvas来绘制各种图表,使用简便,定制灵活。目前支持3D/非3D/背向式/横向/竖向柱形图(BarChart)、3D/非3D饼图(PieChart)、堆叠图(Stacked Bar Chart)、面积图(Area Chart)、折线图(Line Chart)、曲线图(Spline Chart)、环形图(DountChart)、南丁格尔玫瑰图(RoseChart)、仪表盘(Dial Chart)、刻度盘(Gauge Chart)、雷达图(Radar Chart)、漏斗图(FunnelChart)、圆形图。 -
GridPasswordView :
An android password view that looks like the pay password view in wechatapp and alipay app. -
BiuEditText :
biu,biu,一个有趣的EditText。 -
android-card-slide-panel :
使用户能够顺利,连续地向左或向右滑动卡片。 -
Jgraph :
一个视觉效果还不错的图表控件。 -
SwipeStack :
Asimple, customizable and easy to use swipeable view stack for Android. -
MultiImageSelector :
仿微信实现多图选择。支持单选和多选两种模式 -
SwitchButton :
SwitchButton.Anbeautiful+lightweight+custom-style-easy switch widget for Android,minSdkVersion>= 11 -
StickyHeaderListView :
打造炫酷列表之StickyHeaderListView:标题渐变、吸附悬浮、筛选分类、动态头部等。 -
PhotoView :
图片浏览缩放控件。 -
ImageSelector :
Android图片选择器。充分自由定制,极大程度简化使用,支持图库多选/图片预览/单选/照片裁剪/拍照/自定义图片加载方式/自定义色调/沉浸式状态栏。 -
HwTxtReader :
轻量级Txt阅读器组件,支持windows下的常见几种编码格式,使用翻页阅读。 -
PullZoomView :
Android自定义ListView和ScrollView,可以放大。 -
Space-Navigation-View :
SpaceNavigation is a library allowing easily integrate fully customizable GoogleSpaces like navigation to your app. -
CoordinatorTabLayout :
Combinationof TabLayout and CoordinatorLayout./TabLayout和CoordinatorLayout相结合的折叠控件。 -
PopsTabView :
PopsTabView是个filter容器,他可以快速,构建不同筛选样式,自由组合PopWindow成一组tab. -
android_radiogroup_MutilRadioGroup :
androidmultiform RadioGroup:复杂样式的单选框,自定义RadioGroup实现radiobutton多行多列嵌套在各种布局中排列布局。 -
SwipeCardView :
一个带渐变层叠动画的左右滑动效果(类似于探探、tinder)。 -
FlowLayout :
Android流式布局,支持单选、多选等,适合用于产品标签等。 -
BottomBar :
Acustom view component that mimics the new Material Design Bottom Navigationpattern. -
ZLayoutManager :
ome custom LayoutManager .Such as SwipeCard、FLowLayout。一些自定义的LayoutManager,仿探探、人人影视炫动滑动卡片层叠和流式布局等。 -
BGAAdapter-Android :
在AdapterView和 RecyclerView中通用的 Adapter和ViewHolder。RecyclerView支持 DataBinding、多种 Item类型、添加 Header和 Footer。RecyclerView竖直方向通用分割线 BGADivider。 -
BGABadgeView-Android :
Android徽章控件。 -
StepView :
Step by step,justuse HorizontalStepView,VerticalStepView.step indicator,flow indicator,timeline,orderprocess,express status。 -
FloatingActionButton :
FloatingActionButton:AndroidFloating Action Button based on Material Design specification。 -
FloatingActionButton :
Android floating action button -
EasyRecyclerView :
将开发中常用的RecyclerView的各种需求封装进库。提升开发效率。 -
ScrollTextView :
Android跑马灯式文字滚动。 -
SwitchButton :
Acute widget of Switch Button for you to create beautiful and friendly UI. -
androidWheelView :
仿照iOS的滚轮控件,从请吃饭apk反编译出来的。 -
NineGridView :
类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件,自动根据图片的数量确定图片大小和控件大小,使用Adapter模式设置图片,对外提供接口回调,使用接口加载图片,支持任意的图片加载框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等,支持点击图片全屏预览大图。 -
SwipeBack :
SwipeBackis an android library that can finish a activity by using gesture. -
RecyclerViewCardGallery :
RecyclerView实现Card Gallery效果,替代ViewPager方案。 -
InfiniteCycleViewPager :
Infinitecycle ViewPager with two-way orientation and interactive effect.。 -
CountdownView :
AndroidCountdown View。 -
CircleImageView :
Acircular ImageView for Android。 -
SwipeDelMenuLayout :
Themost simple SwipeMenu in the history, 0 coupling, support any ViewGroup. Stepintegration swipe (delete) menu, high imitation QQ, iOS. 史上最简单侧滑菜单,0耦合,支持任意ViewGroup。一步集成侧滑(删除)菜单,高仿QQ、IOS。 -
PhotoView :
Implementationof ImageView for Android that supports zooming, by various touch gestures.
二十 . 热修复:
-
tinker :
Tinker是Android的热修复解决方案库,它支持dex,库和资源更新,无需重新安装apk。
二十一 . 科学上网:
二十 二. 其他:
-
JKeyboardPanelSwitch :
Forresolve the layout conflict when keybord & panel are switching (Android键盘面板冲突布局闪动处理方案). -
MagicaSakura :
MagicaSakura是 Android多主题框架。~ isan Android multi theme library which supporting both daily colorful theme andnight theme.
3.folding-cell-android :
FoldingCellis a material design expanding content cell inspired by folding paper material。
-
ILOVEYOU :
青春总会因为一个人开始闪闪发亮! -
awesome-android-tips :
somecode tips in android 。 -
RxJavaSamples :
RxJava和 Retrofit结合使用的几个最常见使用方式举例。
7.android-slidingactivity :
可让您从活动中向下滑动以关闭它。
-
awesome-android-ui :
精美的AndroidUI / UX库列表
9.AndroidSdkSourceAnalysis :
android sdk源码解析——旨在帮助Android开发者更好的学习Android!我们只是一群普通的程序员,但是,我们热爱分享,想热热闹闹的玩点有意义的事!如果你也想陪我们一起愉快的玩耍,欢迎加入我们!Issues认领分析文章!
-
android-open-project :
Acategorized collection of Android Open Source Projects。 -
Android:
GitHub上最火的Android开源项目,所有开源项目都有详细资料和配套视频。
12.my-git:
Individual collecting material of learning Git(有关 git的学习资料)。
-
gitignore :
Acollection of useful .gitignore templates。(有用的.git忽视模板的集合) -
Colorful :
基于Theme的Android动态换肤库,无需重启Activity、无需自定义View,方便的实现日间、夜间模式。 -
Android-Skin-Loader :
一个通过动态加载本地皮肤包进行换肤的皮肤框架。 -
DanmakuFlameMaster :
Android开源弹幕引擎·烈焰弹幕使~ -
DylanStepCount :
Android精准计步器。 -
Android-Plugin-Framework:
Android插件框架,免安装运行插件APK,支持独立插件和非独立插件。 -
shopcar:
仿饿了么购物车。 -
zxing:
Official ZXing ("Zebra Crossing") project home。 -
html-textview :
TextViewto display simple HTML content。 -
EventBus :
Android optimized eventbus that simplifies communication between Activities, Fragments, Threads,Services, etc. Less code, better quality.
更多精彩内容请关注本人博客:http://luoweichao.top !