/AOSF

AOSF:全称为Android Open Source Framework,即Android优秀开源框架汇总。包含:网络请求okhttp,图片下载glide,数据库greenDAO,链式框架RxJava,组件路由ARouter,消息传递通信EventBus,热更新Tinker,插件化框架Replugin,文件下载FileDownloaer,图片选择PhotoPicker,图片滤镜/毛玻璃等特效处理,GIF图片展示控件,图片九宫格控件NineGridView,对话框Dialog,导航指示器ViewpagerIndicator,进度条ProgressWheel,下拉刷新SmartRefreshLayout,key-value高效数据存储MMKV等,应有尽有。

Android常用优秀开源框架

前言

AOSF:全称为Android Open Source Framework,即Android优秀开源框架汇总。包含:网络请求okhttp,图片下载glide,数据库greenDAO,链式框架RxJava,组件路由ARouter,消息传递通信EventBus,热更新Tinker,插件化框架Replugin,文件下载FileDownloaer,图片选择PhotoPicker,图片滤镜/毛玻璃等特效处理,GIF图片展示控件,图片九宫格控件NineGridView,对话框Dialog,导航指示器ViewpagerIndicator,进度条ProgressWheel,下拉刷新SmartRefreshLayout等,应有尽有。

说明:大家有好的开源框架,热烈欢迎大家提Issue或Pull requests进行补充和完善,我们一起把优秀的框架汇集起来,为自己和他人的开发提供便利,提高效率,避免重复造轮子或耗费查找时间,谢谢🙏

1.网络请求框架

okhttp

OkGo

2.图片下载框架

glide

picasso

glide和picasso的对比:

加载一般图片 加载gif 图片质量细节 方法数 缓存
glide OK OK且显示动图 有锯齿 2678 根据ImageView尺寸,为不同尺寸缓存图片
picasso OK OK,但显示静图 无锯齿 480 不管ImageView尺寸,缓存整张图片

3.轻量级数据库

greenDAO

realm-java

4.沉浸式状态栏

StatusBarUtil

这是一个为Android App 设置状态栏的工具类, 可以在4.4及其以上系统中实现 沉浸式状态栏/状态栏变色,支持设置状态栏透明度。

5.异步链式框架

RxJava

RxAndroid

agera

6.组件/模块路由,通信框架

ARouter

组件/模块路由框架,阿里巴巴出品。

EventBus

基于发布-订阅模式的事件总线。

7.插件化框架

RePlugin

atlas

dynamic-load-apk

Small

8.热修复框架

tinker

9.注解

dagger2

butterknife

androidannotations

10.JSON解析

gson

fastjson

11.工具类

AndroidUtilCode

android-common

包含:缓存、公共view、常用工具等。

android-common

包含:异步、log、辅助、数据处理、广播接收器、通用服务等工具。

Lazy

包含:常用工具类。

12.扫码库

zxing

13.适配器

BaseRecyclerViewAdapterHelper

14.检测内存泄露

leakcanary

15.具有头部的ViewPager

HeaderViewPager

16.导航指示器

ViewPagerIndicator

ViewPagerIndicator2

MagicIndicator

17.进度条

ProgressWheel

MaterialProgressBar

Material Design风格的ProgressBar,支持多种效果。

Android-ProgressBarWidthNumber

Android-RoundCornerProgressBar

LoadingDrawable

各式各样创意、风格奇特的进度条。

CircularProgressBar

NumberProgressBar

18.下拉刷新、上拉加载更多

XRecyclerView

PullRefreshAndLoadMore

SmartRefreshLayout

下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。

19.图表

Android-Charts

MPAndroidChart

XCL-Charts

支持数十种图表,总有一个适合你。

hellocharts-android

功能强大、支持各式各样的图表控件。

20.文件下载引擎

FileDownloader

21.文件选择器

Android-FilePicker

22.图片选择器

Matisse

PhotoPicker

仿微信的图片选择器。

ImagePicker

23.图片九宫格控件

NineGridView

24.图片展示控件

PhotoView

图片预览、缩放

CircleImageView

RoundedImageView

android-shape-imageview

将图片按照自定义的形状显示。

TextDrawable

以Drawable的形式显示字符,类似平时见到的“字符”头像。

25图片裁剪

uCrop

26.显示GIF图片的控件

android-gif-drawable

27.图片压缩

Luban

28.图片滤镜库

android-gpuimage

glide-transformations

29.图片毛玻璃、模糊处理库

android-stackblur

Blurry

blurkit-android

ImageBlurring

30.视频播放器

JiaoZiVideoPlayer

GSYVideoPlayer

ijkplayer

jjdxm_ijkplayer

31.下拉框

nice-spinner

32.自定义Button控件

android-flat-button

Android-Bootstrap

circular-progress-button

android-process-button

33.自定义Switch(开关)控件

SwitchButton

JellyToggleButton

34.自定义编辑框(类EditText)控件

MaterialEditText

TagsEditText

CloudEditText

AndroidEdit

为EditText提供撤销、反撤销的功能。

android-edittext-validator

带错误校验和提示的EditText。

35.自定义文本控件(类TextView)

ExpandableTextView

可折叠的TextView,类似朋友圈查看全文。

android-autofittextview

自适应的TextView,在宽高固定的情况下,文字越多,字体越小。

emojicon

支持emoji表情的TextView。

HTextView

支持很多文本特效的TextView。

36.动画

AndroidViewAnimations

各种动画

recyclerview-animators

lottie-android

展示 AE 工具所作动画的框架。

ExplosionField

爆炸动画效果。

Grav

粒子动画效果。

37.触摸滑动控件

AndroidSwipeLayout

非常实用的触摸滑动控件

38.拖动条(类SeekBar)控件

discreteSeekBar

拖拽时可显示气泡提示的SeekBar。

material-range-bar

Material Design风格的、支持区间选取的SeekBar。

39.RatingBar评分控件

MaterialRatingBar

40.拖拽、排序控件

ItemTouchHelperDemo

41.对话框(Dialog、BottomSheet等)控件

material-dialogs

可定制化的 Dialog API。

FlycoDialog_Master

一套强大的Dialog集合,提供了类似BottomSheet的效果。

42.日历、时间选择控件

BottomSheetPickers

非常不错的日历、时间选择控件。

SublimePicker

清爽、漂亮的日历。

MaterialDateTimePicker

Material Design风格的日历、时间选择器。

CalendarListview

基于ListView,效果类似原生Android的日历。

43.分类选择的控件

DropDownMenu

实用的多条件筛选菜单。

44.角标、徽章

SlantedTextView

用TextView实现的标签效果。

ShortcutBadger

用来生成带有角标的图标。

45.富文本编辑控件

richeditor-android

功能强大的富文本编辑器。

Knife

轻量级的富文本编辑器。

46.标签组控件

ChipsLayoutManager

FlowLayout

支持单选、多选。

47.App新手引导、高亮

Highlight

一个引导高亮的库

HighLightGuideView

48.固定header、索引的控件

StickyListHeaders

pinned-section-listview

49.炫酷菜单控件

android-floating-action-button

大名鼎鼎的fab。

FilterMenu

一个转盘式菜单。

FlyoutMenus

一个很酷的弹出菜单。

ArcLayout

弧形菜单,支持多种效果。

50.广告轮播、垂直公告的控件

Android-ConvenientBanner

基于ViewPager的广告轮播控件,支持循环滚动。

FlycoBanner_Master

又一个广告轮播控件。

MarqueeView

基于ViewFlipper的垂直公告控件。俗名:可垂直跑、可水平跑的跑马灯;学名:可垂直翻、可水平翻的翻页公告。

51.滑动返回(类SwipeBack)控件

SwipeBackLayout

SwipeBackFragment

and_swipeback

52.水平滑动的RecyclerView控件

RecyclerViewSnap

53.侧滑菜单控件

MaterialDrawer

侧滑菜单。

SwipeBackLayout

类似QQ侧滑菜单。

DragLayout

使用support.v4包下的ViewDragHelper实现QQ5.0侧滑。

54.水波纹效果

RippleEffect

55.自定义字体库

Calligraphy

56.KV数据存储框架

MMKV

这是整理的Android优秀开源框架的第一篇章,后续会继续整理,大家有其他好的框架推荐,请留言。如果你觉的这篇文章对你有帮助,欢迎收藏并转发给身边的朋友,谢谢。