美文网首页Android 框架集androidAndroid Dev
Android 常用开源库总结-2020年

Android 常用开源库总结-2020年

作者: Perston | 来源:发表于2020-04-21 13:58 被阅读0次

    前言

    收集了一些比较常见的开源库,特此记录(已收录350+)。另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言。

    一 、基本控件

    TextView

    EditText

    ImageView

    Button

    Spinner

    CheckBox

    ProgressBar(包含loading动画)

    Seekbar

    RatingBar

    • MaterialRatingBar 与 Google 系应用设计相同、支持拉伸、修正原生实现诸多问题的星级评分条

    Toast

    RecyclerView

    • BaseRecyclerViewAdapterHelper 万能adapter

    • MultiChoiceAdapter 多选adapter

    • SwipeRecyclerView 基于RecyclerView的封装,提供了Item侧滑菜单、Item滑动删除、Item长按拖拽、添加HeaderView/FooterView、加载更多、Item点击监听等基本功能。

    • EasyRecyclerView 封装RecyclerView

    • StickyItemDecoration 悬浮头部

    • PinnedSectionItemDecoration 悬浮头部

    • recyclerview-animators RecycleView的项目动画的Android组件库

    • UltimateRecyclerView 能强大的Recyclerview,包括了下拉刷新,加载更多,多种动画,空数据提示,拖动排序,视差处理,工具栏渐变,滑动删除,自定义floating button,多种刷新效果,scrollbar等等元素,而且使用起来跟recyclerview一样的方便。

    • epoxy Epoxy采用可组合的方式来创建列表。列表中的每个item由一个model代表,model定义了item的布局,id以及span。model还负责处理数据到视图的绑定,在视图被回收的时候释放资源。如果要显示这些model则把它们添加到Epoxy的adapter中,adapter为你处理复杂的显示问题。

    • XRecyclerView XRecyclerView实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView。使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊的adater。 加载效果内置了AVLoadingIndicatorView上的所有效果,可以根据需要指定。

    • RecyclerViewPager RecyclerViewPager基于 RecyclerView 实现的 ViewPager,可自定义 Page 切换敏感度,支持垂直 ViewPager,支持类 Gallary 效果,支持无限循环。

    • SuperRecyclerView SuperRecyclerView主要特性包括:1、当adapter没有设置的时候使用ProgressBar(进度条);2、当adapter时空的时候使用EmptyView;3、SwipeRefreshLayout (Google's one);4、Swipe To Dismiss;5、Sticky headers;6、无限滚动,当到达最后一项时,加载更多数据;

    • LRecyclerView 下拉刷新,自动加载更多;仿IOS侧滑Item删除菜单

    • LayoutManagerGroup 自定义RecyclerView 的LayoutManager实现几种炫酷的效果。

    • android-advancedrecyclerview 自定义RecyclerView (2019-03-29 新增)

    日历、时钟

    Webview

    ScrollView

    ViewPager

    WheelPicker

    导航栏

    二、功能相关

    图片选择

    图片加载

    音视频

    • ExoPlayer 谷歌出品的视频播放器

    • JiaoZiVideoPlayer 饺子视频播放器

    • ijkplayer ijk 播放器

    • GSYVideoPlayer一个第三方视频播放库,基于bilibili 开源的 ijkplayer,可自定义性也还不错,
      主要使用这个库实现类似微博等视频列表根据滚动判断自动播放,

    • VitamioBundle 多媒体播放器

    • VideoPlayerManager 帮助实现VideoPlayer控制,使得它更容易使用ListView和recyclerview。

    • PlayerBase 专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。

    • DanmakuFlameMaster 弹幕

    • AndroidVideoCache 视频缓存

    • TicktockMusic 一款 material design 风格的音乐播放器,可以播放本地和网络音乐,并且提供歌词显示。

    • Timber 一个完整的音乐播放器

    • NiceVieoPlayer 支持列表,完美切换全屏、小窗口的Android视频播放器(2019-03-27 新增)

    刷新控件

    动画

    轮播图

    权限

    二维码

    新手引导

    • NewbieGuide Android 快速实现新手引导层的库,通过简洁链式调用,一行代码实现引导层的显示

    • GuideView 能够快速为任何一个View创建一个遮罩层,支持单个页面,多个引导提示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展,良好支持fragment

    轻存储

    MMKV一款比sharepreferences稍重,远远小于数据库量级,但性能卓越的存储框架,由腾讯旗下的微信开发。(2020.05.09 新增)

    数据库

    • greenDAO

    • ActiveAndroid Android Sqlite orm 的 db 工具类

    • realm-java 移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好

    • DBFlow Android SQLite ORM 工具库。综合了 Active Android, Schematic, Ollie,Sprinkles 等库的优点;通过注解实现,性能好;能生成 ContentProvider。

    • SnappyDB key-value数据库,非常流行的NoSQL数据库

    • LitePal 不编写SQL语句的情况下完成大多数数据库操作,包括创建或升级表、CRUD操作、聚合函数等

    • objectbox-java ObjectBox是一个超高速的面向对象的数据库,具有很强的关系支持。ObjectBox嵌入到Android、Linux、MacOS或Windows应用程序中。

    • wcdb 一个高效、完整、易用的移动数据库框架,基于(https://github.com/sqlcipher/sqlcipher)[SQLCipher][SQLCipher]),支持iOS, macOS和Android。

    • Android-Debug-Database 数据库调试工具

    图表

    菜单

    手势关闭

    事件处理

    换肤

    状态栏

    颜色选择器

    布局相关

    加载反馈

    • LoadSir扩展性良好的加载反馈页管理框架(2020-05-09 新增)

    屏幕适配

    其他

    三、网络相关

    http

    • RxEasyHttp基于RxJava2+Retrofit2实现简单易用的网络请求框架

    • retrofit

    • okhttp

    • okhttp-OkGo 封装了 OkHttp 的网络请求框架

    • {停止维护} okhttputils okhttp的辅助类

    • NoHttp 实现Http标准协议框架,支持多种缓存模式,底层可动态切换OkHttp、URLConnection。

    • xUtils3 xUtils 包含了orm, http(s), image, view注解

    • afinal Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp

    • Fast-Android-Networking 支持http2的网络库(2019-03-29 新增)

    json

    下载、上传

    rx

    • RxAndroid 对RxJava在Android上的扩展,使得Android上也很容易实现reactive components,简化线程操作,从而写出很漂亮的代码。

    • RxJava

    • RxCache 专门为Retrifit打造的缓存库

    • ReactiveNetwork 检测网络状态

    • RxLifecycle 管理rx的生命周期

    • AutoDispose rx 工具类

    四、自定义View

    蛛网图

    翻书效果

    图案解锁

    望远镜效果(部分高亮)

    其他

    五、其他

    工具类

    • utilcodex一个android 工具库,里面有非常多的工具类,当然实际项目用不到这么多,所以可以根据需求copy代码就好,不用集成(2020.05.09 新增)

    • AndroidUtilCode 强大易用的安卓工具类库

    • RxTools Android开发人员不得不收集的工具类集合

    • butterknife 利用 annotation 帮你快速完成 View 的初始化,减少代码

    热修复

    插件化

    • RePlugin RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。(2019-03-27 新增)

    签名打包

    • walle Android Signature V2 Scheme签名下的新一代渠道包打包神器

    • packer-ng-plugin 100个渠道包只需要10秒钟

    反编译

    依赖注入

    • dagger 依赖注入,适用于 Android 和 Java

    日志

    容器

    • Atlas一个运行于Android系统上的一个容器化框架

    路由

    • ARouter 帮助 Android App 进行组件化改造的路由框架

    内存泄漏检测

    布局优化

    • X2C 在编译生成APK期间,将需要翻译的layout翻译生成对应的java文件,这样对于开发人员来说写布局还是写原来的xml,但对于程序来说,运行时加载的是对应的java文件。 (2019-03-27 新增)

    画图

    图片压缩

    摄像头

    富文本编辑器

    指示器

    • MagicIndicator 强大、可定制、易扩展的 ViewPager 指示器框架。

    • dotsindicator 视图页导航点指示器(2019-03-27 新增)

    自定义字体加载

    文件加密

    表情包

    相机滤镜

    车牌识别

    键盘冲突

    蓝牙

    • Android-BLE AndroidBLE蓝牙框架,包括扫描、连接、设置通知、发送数据、读取、接收数据和OTA升级以及各种直观的回调,近乎一行代码植入项目,可扩展配置蓝牙相关操作。

    测试

    • Matrix 通过各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。

    • pandora 一款无需ROOT、可以直接在应用内查看和修改包括网络、数据库、UI等的工具箱,适合开发和测试阶段的各种问题的快速定位。

    • ArgusAPM 。ArgusAPM是360移动端产品使用的可视化性能监控平台,为移动端APP提供性能监控与管理,可以迅速发现和定位各类APP性能和使用问题,帮助APP不断的提升用户体验。(2019-03-27 新增)

    • AndroidPerformanceMonitor 非侵入式的性能监控组件

    • UETool 一个各方人员(设计师、程序员、测试)都可以使用的调试工具。它可以作用于任何显示在屏幕上的 view,比如 Activity/Fragment/Dialog/PopupWindow 等等。(2019-03-27 新增)

    • robolectric 单元测试 (2019-03-29 新增)

    其他

    相关文章

      网友评论

        本文标题:Android 常用开源库总结-2020年

        本文链接:https://www.haomeiwen.com/subject/hvyuihtx.html