Skip to content

Latest commit

 

History

History
370 lines (307 loc) · 32 KB

README.md

File metadata and controls

370 lines (307 loc) · 32 KB

AndroidUtils

收藏工作中常用的android工具类,lib库等...都是非常优秀的库!
开发必备神器!!! 持续更新...欢迎收藏Star...
简书: http://www.jianshu.com/u/a6650fb638c8


目录


收藏网站


名称 简介
free-programming-books-zh_CN 免费的计算机编程类书籍(中文版)
Android Studio插件整理 使用好Android Studio插件能大量的减少我们的工作量。
极客导航 程序员自己的导航!

lib库


网络请求

名称 简介
okhttp-OkGo OkHttpUtils-2.0.0 升级后改名 OkGo,全新完美支持RxJava,比Retrofit更简单易用。该库是封装了okhttp的标准RESTful风格的网络框架,支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,可以自定义返回对象,支持Https和自签名证书,支持超时自动重连,支持cookie的持久化和自动管理,支持五种缓存模式缓存网络数据,支持301和302重定向,扩展了统一的上传管理和下载管理功能
Retrofit star超2w RxJava 和 Retrofit 结合使用的几个最常见使用方式举例
okhttp-utils 鸿神的okhttp的辅助类

图片相关

名称 简介
glide Google员工私人项目,Google很多项目在用。picasso能做到的它都能做到,并且还支持gif.关于Glide和Picasso这篇译文有一个比较详细的对比介绍 Glide VS Picasso 基于Glide V4.0封装的图片加载库
Picasso 这个是square 开源的一个强大的图片下载和缓存库。很受欢迎,许多项目都有在使用这个库。使用方式也很简单。PicassoUtil
Fresco 这个是FaceBook的开源项目,链接中有中文的详细文档。这个库除了支持的图片格式很广泛外,最大的特性就是在内存优化这块,使用这个库能有效防止OOM情况的出现。
ImagePicker 完全仿微信的图片选择,并且提供了多种图片加载接口,选择图片后可以旋转,可以裁剪成矩形或圆形,可以配置各种其他的参数
PictureSelector android多图选择器 图片/视频 单选or多选,以及视频录制
Matisse 知乎开源图片选择器,支持主题切换
transferee 一个帮助您完成从缩略图到原图无缝过渡转变的神奇组件
BigImageViewer 基于Subsampling Scale Image View, Fresco, Glide, 和 Picasso的大图加载,支持缩放,可以使用不同的加载库。
CircleImageView 一个使用很广泛的圆形图片库
Subsampling Scale Image View 如果你想加载超大图片(1m以上),同时又想让图片可以随意的缩放,还想要流畅的效果,还不想发生oom,那么这个项目绝对是不二的选择。其流畅度与可操作性绝对不输原生相册应用。demo中的图片最大是2.7m,但是一点也不卡。
TouchImageView 最好用的可缩放ImagView,继承自ImageView具有ImageView的所有功能;除此之外,还有缩放、拖拽、双击放大等功能,并伴有动画效果。

缓存框架

名称 简介
DiskLruCache Android:跟着实战项目学缓存策略之DiskLruCache详谈

数据库

名称 简介
greenDAO star超7k,存取速度快,支持数据库加密,轻量级,支持缓存,代码自动生成
LitePal 郭神的LitePal

权限管理

名称 简介
AndPermission 安卓权限请求库 Android 6.0 运行时权限管理最佳实践
RxPermissions Android runtime permissions powered by RxJava

工具类

名称 简介
Android Design Support Library 这个并不是一个第三方库,是谷歌官方出的支持库,demo地址
FileDownloader Android 文件下载引擎,稳定、高效、灵活、简单易用
Android开发人员不得不收集的代码 常用工具类,超详细,star超11k
awesome-github-android-ui 安卓UI相关开源项目库汇总
logger 优秀的log打印库
Luban Luban(鲁班) —— Android图片压缩工具,仿微信朋友圈压缩策略。
gson Google的 GsonUtil
Fastjson 阿里的
butterknife 这个开源库可以让我们从大量的findViewById()和setOnclicktListener()解放出来,其对性能的影响微乎其微,其自定义注解的实现都是限定为RetentionPolicy.CLASS,也就是注解到编译出.class文件为止有效,在运行时不额外消耗性能。这个库在Android Studio上配合android-butterknife-zelezny使用更酸爽!
vlayout 阿里出品的基础 UI 框架,用于快速实现页面的复杂布局,在手机天猫 Android版 内广泛使用. 相关博客
baseAdapter Android 万能的Adapter for ListView,RecyclerView,GridView等,支持多种Item类型的情况。
UltimateRecyclerView 点击刷新(支持swiperefreshlayout),多种动画,视差或正常头视图,加载时达到最后一项(无限滚动),加载中的自定义视图,显示或隐藏工具栏和浮动按钮滚动时滚动条,丰富多彩的刷式刷新,粘头像Instagram,支持适配器中的不同布局,带有动画的加载适配器,在recyclerview扩展视图
BaseRecyclerViewAdapterHelper * 优化Adapter代码(减少百分之70%代码
* 添加点击item点击、长按事件、以及item子控件的点击事件
* 添加加载动画(一行代码轻松切换5种默认动画)
* 添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代)
* 设置自定义的加载更多布局添加分组(随心定义分组头部)
* 自定义不同的item类型(简单配置、无需重写额外方法)
* 设置空布局(比Listview的setEmptyView还要好用!)
* 添加拖拽item
Fragmentation 为"单Activity + 多Fragment","多模块Activity + 多Fragment"架构而生,帮你大大简化使用过程,轻松解决各种复杂嵌套等问题,修复了官方Fragment库中存在的一些BUG。
Material-Animations
RxJava 给 Android 开发者的 RxJava 详解 RxJava-Android-Samples
RxLifecycle Lifecycle handling APIs for Android apps using RxJava
MVPArms 一个整合了大量主流开源项目的 Android Mvp 快速搭建框架
ShareUtil ShareUtil是一个综合性的分享及登录工具库,支持微信分享,微博分享,QQ分享,QQ空间分享以及Android系统默认分享,支持微信登录,微博登录以及QQ登录并获取用户信息。
update 清晰灵活简单易用的应用更新库
packer-ng-plugin 下一代Android打包工具,100个渠道包只需要10秒钟
leakcanary 检测app内存泄露
EasyPay 简单易用的第三方可扩展支付框架,帮助Android开发者快速集成接入移动支付SDK,其中包括主流的微信APP支付,支付宝APP支付,银联支付
SmartAppUpdates Android应用增量更新 包括客户端、服务端两部分代码。
ViewPagerTransforms 实现Viewpager多种切换动画的开源库
LoadSir 可添加自定义状态页面,如加载中,加载失败,无数据,网络超时,占位图,登录失效等常用页面
ShimmerRecyclerView
Tray 多进程操作和读取SharedPreferences的问题。

轮播图

名称 简介
banner Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
BGABanner-Android 引导界面滑动导航 + 大于等于1页时无限轮播 + 各种切换动画轮播效果

状态栏相关

名称 简介
沉浸式状态栏
StatusBarUtil
ImmersionBar android 4.4以上沉浸式状态栏和沉浸式导航栏管理

二维码

名称 简介
BGAQRCode-Android QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
barcodescanner 一个基于ZXing和ZBar的容易使用和扩展的条形码扫描库

屏幕适配

名称 简介
ScreenMatch 推荐一种非常好用的Android屏幕适配,非常实用,效果很好,本人亲测

下拉刷新

名称 简介
SmartRefreshLayout 支持多点触摸,支持嵌套多层的视图结构,支持所有的 View(AbsListView、RecyclerView、WebView....View),支持自定义并且已经集成了很多炫酷的 Header 和 Footer.,支持和ListView的无缝同步滚动 和 CoordinatorLayout 的嵌套滚动 .,支持自动刷新、自动上拉加载(自动检测列表惯性滚动到底部,而不用手动上拉).,支持自定义回弹动画的插值器,实现各种炫酷的动画效果.,支持设置主题来适配任何场景的App,不会出现炫酷但很尴尬的情况.,支持设多种滑动方式:平移、拉伸、背后固定、顶层固定、全屏支持所有可滚动视图的越界回弹
android-Ultra-Pull-To-Refresh 这是现在已经停止维护的下拉刷新项目的替代方案。继承于ViewGroup可以包含任何View。功能比SwipeRefreshLayout强大。使用起来非常简单。良好的设计,如果你想定制自己的UI样式,非常简单,就像给ListView加一个Header View那么简单。支持 API LEVEL >= 8。android-Ultra-Pull-To-Refresh/SwipeRefreshLayout嵌套ViewPager/ScrollView滑动冲突解决

音视频相关

名称 简介
PreviewSeekBar
AndroidVideoPlayer
UniversalVideoView
easy-video-player <一个使用非常简单的视频播放器。基于原生的MediaPlayer API,支持本地和远程视频。br>
JieCaoVideoPlayer
SuperPlayer SuperPlayer 是一个基于IjkPlayer的控制器,支持手势操作,滑动快进,快退,支持,上滑音量亮度的变化,支持指点位置播放,播放源的切换
jjdxm_ijkplayer 基于ijkplayer简单的UI界面 当前项目是基于ijkplayer项目进行的播放器界面UI封装。 是一个适用于 Android 的 RTMP 播放界面 SDK,可高度定制化和二次开发。特色是同时支持 H.264 软编/硬编和 AAC 软编/硬编。主要是支持RIMP、HLS、MP4、M4A等视频格式的播放。
ijkplayer Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供 Android 平台下应用弹幕集成的解决方案。
GSYVideoPlayer 视频播放器(IJKplayer),HTTPS支持,支持弹幕,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,5.0的过场效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,其他一些小动画效果
WeiXinRecordedDemo 仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑
MusicIndicator 简单易用的音乐频谱效果。
yjPlay 一个支持自定义布局和直播 手势 亮度,音量,快进,等手势 ,广告视频预览 ,清晰度切换 , 边播放缓存视频, 自定义各种数据源加载,列表播放,倍数播放 的播放器。

自定义控件

名称 简介
ZLayoutManager 一些自定义的LayoutManager,仿探探、人人影视 炫动滑动 卡片层叠 和流式布局等。
PullZoomView
BGABadgeView-Android Android 徽章控件
SlantedTextView 一个倾斜的TextView,适用于标签效果。
LQREmojiLibrary 一个超级牛逼的表情库,可使用表情及贴图功能,方便好用,抽离图片加载接口,图片加载工具可让开发者自己选择。
LQRAudioRecord 集成录音与播音功能,使用简单方便!
LQRNineGridImageView 仿微信群头像九宫格控件
AlphaTabsIndicator 高仿微信底部状态栏的轻量级库,没有MagicIndicator那么臃肿,符合大多数BottomTabBar应用设计需求
MagicIndicator 强大、可定制、易扩展的 ViewPager 指示器框架。是ViewPagerIndicator、TabLayout、PagerSlidingTabStrip的最佳替代品。支持角标,更支持在非ViewPager场景下使用(使用hide()、show()切换Fragment或使用setVisibility切换FrameLayout里的View等
SmartTabLayout
PagerSlidingTabStrip
NavigationTabStrip
NavigationTabBar
XhsEmoticonsKeyboard API > 9,表情键盘支持无闪烁自跟随系统软键盘高度,及支持自定义高度,表情支持自定义格式,支持任意来源组件支持完全自定义,样式支持任意更改支持全屏默认微信键盘样式赠QQ键盘高仿,不谢
NineGridView 类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件,自动根据图片的数量确定图片大小和控件大小,使用Adapter模式设置图片,对外提供接口回调,使用接口加载图片,支持任意的图片加载框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等,支持点击图片全屏预览大图。
CircleDemo 仿微信(weixin wechat)实现的朋友圈,模拟与后台交互实现了点赞、评论、删除等功能,RecyclerView可以根据键盘的显示或隐藏实现联动。增加短视频拍摄功能,与后台交互采用mvp模式。关键字:wechat weixin 微信朋友圈
ToggleButton
JellyToggleButton
GoodView Android点赞+1效果,支持文本和图像
ExpandableTextView ExpandableTextView 是一个让你轻松实现“展开收起(expand/collapse)功能的控件
TimePickerDialog Android时间选择器,支持年月日时分,年月日,年月,月日时分,时分格式,可以设置最小时间和最大时间(精确到分)
android-pickers 安卓选择器类库,包括日期及时间选择器(可设置范围)、单项选择器(可用于性别、职业、学历、星座等)、城市地址选择器(分省级、地级及县级)、数字选择器(可用于年龄、身高、体重、温度等)等……可以切换不同的模式(目前有普通模式,3d滚轮模式)
Android-ObservableScrollView
XCL-Charts Android图表库(XCL-Carts is a free charting library for Android platform.),基于Android Canvas来绘制各种图表,使用简便,定制灵活。目前支持3D/非3D/背向式/横向/竖向柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆叠图(Stacked Bar Chart)、面积图(Area Chart)、 折线图(Line Chart)、曲线图(Spline Chart)、环形图(Dount Chart)、南丁格尔玫瑰图(Rose Chart)、仪表盘(Dial Chart)、刻度盘(Gauge Chart)、雷达图(Radar Chart)、漏斗图(Funnel Chart)、圆形图(Cir…)
hellocharts-android Charts/graphs library for Android compatible with API 8+, several chart types with support for scaling, scrolling and animations

完整项目

名称 简介
LQRWeChat 本项目仿最新版微信6.5.7(除图片选择器外),基于融云SDK,使用目前较火的 Rxjava+Retrofit+MVP+Glide 技术开发。相比上个版本,加入发送位置消息,红包消息等功能。
cniao5-news 菜鸟新闻 客户端是一个仿照36Kr官方,实 时抓取36Kr官网数据的资讯类新闻客户端。包括首页新闻,详情,发现,活动,实时数据抓取,侧滑效果,第三方登录以及分享,消息推送等相关功能客户端。课程地址: http://www.cniao5.com/clazz/view/10076.html 视频下载链接: http://pan.baidu.com/s/1eQLyQxc 密码:3ts1
KuaiChuan 仿茄子快传的一款文件传输应用, 涉及到Socket通信,包括TCP,UDP通信
CoolShopping 一个仿拉手团购的购物App,采用Bmob后台实现短信验证码注册、登录、收藏、订单管理、自动更新等功能,数据抓取自拉手团购
RNPolymerPo RNPolymerPo 是一个基于 React Native 的生活类聚合实战项目,目前由于没有 MAC 设备,所以没有适配 iOS,感兴趣的可以自行适配 app 目录下相关 JS 代码即可。
bilibili 仿 bilibili 的客户端
Android精准计步器 亲测在小米.魅族.华为上可用
菜鸟微博 有新浪微博的主要功能,有Toolbar,RecyclerView等最新控件的用法;各种快速开发框架的使用,比如 Glide,PhotoView ,EventBus ,OKHttp,pullToRefresh等。 学习视频+源码 视频中还会讲到MVP设计模式以及一些架构师的入门知识。课程地址: http://www.cniao5.com/clazz/view/10075.html 视频下载链接: http://pan.baidu.com/s/1gexq3VP 密码:f0t9
在线云打印平台 一个在线云打印平台(android部分)含订单管理、百度地图、二维码等等
CloudReader 云阅 一款基于网易云音乐UI,使用Gank.Io及豆瓣api开发的符合Google Material Design的Android客户端。项目采取的是MVVM-DataBinding架构开发,现主要包括:干货区、电影区和书籍区三个子模块。DIY网易云音乐原来是如此Cool
StockChart 采用主流rxjava+retrofit+dagger2框架,StockChart看股票的分时图,k线图。
MVP MVP快速开发框架,App based on Material Design + MVP + Rxjava + Retrofit + Okhttp + RecyclerView + Glide + cache + theme + others + 全民直播 + 高德选址
AiYaGirl Retrofit+Rx+MVP架构APP体验