
在2018年夏季,开发并更新了许多出色的Android库和工具。
我整理了最新的Android库,工具和项目的无序列表,这些列表在您的日常工作中可能会很有意思或有用。 它们也非常适合启发或实验。
希望您喜欢。 让我们开始吧!
这是一个提供RecyclerView的LayoutManagers集合的库,它将帮助实现类似以下gif的效果。

这些LayoutManager基本上扩展了RecyclerView.LayoutManager
或只是LinearLayoutManager
并为其添加了附加功能。
这个库有非常简洁的文档,但是代码说明了一切。 理解该库的最好方法是看一个示例应用程序,并在其中看到一个Activities
和Fragments
的实现。
该库是根据Apache 2.0许可发布的,确实值得关注。
Creative View Pager是ViewPager
的有趣实现,它添加了一个标题列表,该标题列表与页面内容一起平滑滚动。

该文档非常全面,并说明了如何使用该库。 根据Apache 2.0许可发行,几乎完全用Kotlin编写。
Instabug是用于收集移动应用程序的反馈和错误的工具。 通过几个简单的步骤,您的用户或Beta测试人员将能够报告错误或留下反馈,并且SDK会记住用户设备环境的状态,包括所有控制台日志, 网络请求和重现错误的步骤,并将所有这些信息收集在一个面板中以便于调试和错误修复。

在最近的更新中,修复了许多错误。 您可以在此处阅读有关这些更改的更多信息。 因此,Instabug允许您:
自2016年以来,我一直在使用Instabug,当时我一直在寻找一种对我的团队和用户有帮助的工具。 我强烈推荐给您。
这是一个基于EventFilterView的 Android检查小部件,该小部件来自专门为Google I / O 2018编写的应用程序。它需要minSdkVersion
21。

良好的自述文件使您可以快速开始使用小部件。 最初的实现是由Google的Nick Butcher和Jose Alkerreka开发的。
该小部件是根据Apache 2.0许可发布的,并使用Kotlin编写。
这是一个轻巧,功能强大且易于使用的日历。

它提供了许多有用的功能:
- 双向无限垂直滚动;
- 设置时间范围以限制在一定时间内滚动;
- 选择一个日期,多个日期或时间范围;
- 预设所选日期;
- 颜色设置;
- 显示颜色指示器;
- 设置自己的
ItemDecoration
; - 作为
View
类的继承者,它可以在任何地方使用: Activity
, Fragment
, Dialog
,也可以集成到另一个自定义View
组件中。
出色的文档,包含许多示例。 Github和Google Play上还有一个示例应用程序。
该项目是根据MIT许可发布的。
这是一个受Google Inbox和Reply启发的应用内动态导航库。

InboxRecyclerView
可以安全地添加到任何现有项目中。 您可以查看示例应用程序,然后下载其APK以在手机上观看。
作者还写了一篇关于图书馆的非常好的文章 。 她绝对值得您关注。 根据Apache 2.0许可发布。
这是一个很小但是很有趣的库,建议您在Activity
使用SlideBackView
。 要了解所有内容,请看下面的gif。

不幸的是,文档非常稀少,并且用中文编写。 我不会在我的项目中使用它,而只是对其进行了试验。 但是,您可以研究应用程序和库本身。 它是根据MIT许可发布的。
该库以编程方式创建可绘制对象,并消除了重复的drawable.xml
文件。

根据Apache 2.0许可发布。 有完整的文档,并且可以使用API 14及更高版本。
该库由编写DrawableToolbox的同一位开发人员编写。 这只是另一个颜色小部件。

该库提供了很好的文档。 根据Apache 2.0许可发布,并与API 14及更高版本一起使用。 如果您的应用程序需要颜色选择器功能,那么这是一个不错的选择。
图书馆很大。 MvRx(发音为mavericks )是Airbnb提供的Android框架,几乎所有产品都使用该框架。
MvRx使应用程序屏幕的开发从最初的最简单到最复杂。 但是,所有内容都建立在现有组件(例如片段或体系结构组件)之上,因此它并不限制您,并且可以在您的项目中轻松使用。
主要目标是更快,更轻松地创建应用程序。 MvRx使用以下技术和概念:
- 科特林
- Android建筑组件
- RxJava;
- 反应(概念);
- 环氧树脂 (推荐)。
该框架是根据Apache 2.0许可发布的。 文档和Wiki很棒。 Wiki具有tl;dr
的版本,并且有一个常规的版本,其中包含理解该概念所需的所有解释。
如果您听说过Redux ,其基本概念和三个原则 ,那么您可能会立即了解该库的内容。
RxRedux是基于RxJava的实现(受redux-observable启发),有助于消除副作用(副作用是类似(Observable <Action>, StateAccessor <State>) -> Observable <Action>
的函数)。

RxRedux是.scan()
运算符的一种替代。 自述文件写得很好,并得到本文的完美补充。 该库是根据Apache 2.0许可发布的。
这是一个受Instagram表情符号滑块启发的自定义SeekBar
。

该项目有很好的文档和示例应用程序。 根据Apache 2.0许可发布。
这是一个库,可帮助在RecyclerView中实现物料划动动作 。 自然,它是根据“材料设计”原理编写的。

得益于出色的文档,可以轻松进行调整。 该项目是根据MIT许可发布的。
这是一个库,可以将以下格式的任何View
组件或SurfaceView
保存为图像: JPG/PNG/nomedia
。 该库在后台线程中运行,处理输入/输出错误并管理内存分配。
您可以使用它在应用程序内部截屏(例如,报告错误)。
它相当容易使用,并且现有文档足以帮助您入门。 它是根据Apache 2.0许可发布的,并且支持API 19及更高版本。
WiseFy是Android的WifiManager
和ConnectivityManager
的包装。 它添加了简单的高级设置,例如:
- 添加和删除网络;
- 检查设备连接;
- 检查当前网络;
- 打开和关闭Wi-Fi等。

这不是一个新的库,但是最近其中进行了巨大的重构,并且已经在Kotlin中对其进行了完全重写。
该文档是良好且详细的。 许可证:Apache 2.0。
MVICore是Badoo Tech提供的现代MVI框架,其中包括:
- 100%Kotlin:以反应模式实现业务功能的简便方法;
- 缩放:您可以使用单个Reducer组件,但是如果需要,可以根据需要添加任意数量以处理更复杂的情况;
- 事件处理:有一种解决方案可以处理您不想存储其状态的事件;
- 链接响应组件:一个非常简单的API,用于将响应组件与自动生命周期管理链接在一起;
- 开箱即用的记录器;
- 临时调试器:对于您的所有反应组件(而不仅仅是环境变量),您可以及时记录其状态,然后进行查看。
该框架具有非常好的文档 。 如果要以MVI样式重写应用程序,则应注意此解决方案。
在开发自己的View
组件时,该库可能很有用。 例如,这种旋转的电话盘可以用作下载指示器的替代。

该项目有一个简短的自述文件。 它是根据Apache 2.0许可发布的。 它完全用Kotlin编写。
这是一个有趣的库,它基于Jsoup库并受Medium Textview的启发,将一个简单的HTML页面从本机Android小部件转换为RecyclerView。

该库仍在开发中,因此请在项目中谨慎使用。 该文档很好,很容易说明如何使用该库。 根据Apache 2.0许可发布。
我已经反复提到了这个库,但是由于Buffer团队的努力,它仍在不断发展。 他们目前展示了如何使用Koin而不是Dagger来注入依赖关系。

该库是根据MIT许可发布的。
Splitties是小型独立Android库的集合,其目的是使Android应用程序和库的开发变得简单而有趣。 我真的很喜欢这个主意。
该项目被称为“ Splitties”,因为它被分为作为独立Android库分发的小模块,因此您只能将真正需要的模块添加到项目中,这有助于减小最终apk文件的大小。
每个模块都经过精心设计,以使其尺寸尽可能小。
文档很好,该项目是根据Apache 2.0许可发布的。
这是一个小型图像水印库,还支持加密和不可见的水印。

该库功能非常强大,可以创建多个水印,选择绘图模式以及一种加载资源的方式(作为文本,作为View
组件或作为Android资源)。 文档很好,还有一个示例应用程序。
该库是根据Apache 2.0许可发布的。
这是本文的第二个库集合。 这次来自Mozilla团队,这对于创建浏览器或类似浏览器的应用程序很有用。
下图显示了一些可用的组件。

该项目中有4个示例应用程序 ,它们演示了各种组件的用法。 它还具有完善的文档,并根据MPL 2.0许可证发布。
该库将RxJava和RxKotlin与Android上的Biometric Prompt(指纹扫描仪)链接(已添加到Android 9 Pie,API 28+)。

根据Android开发人员的官方博客 ,如果您通过应用程序中的指纹使用自己的授权机制,则应尽快切换到使用BiometricPrompt API。
RxBiometric将通过RxJava流帮助您完成此任务。 它具有可靠的文档以及用法示例。 根据Apache 2.0许可发布。
这是一个库,它扩展了Google的BottomNavigationView
,并允许您从一个非常有趣的角度进行查看。

该项目是用Kotlin编写的。 在Apache 2.0许可下发布,并且具有使用该库的示例应用程序。
这是Kotlin LiveData
扩展,可将代码转换为Shopify团队的调用链,例如RxJava。 如果您从Android的体系结构组件中使用LiveData
,则可以轻松地用LiveData KTX
替换它并创建这样的链,如下例所示:

该项目由四名开发人员开发,并根据MIT许可发布。
Tumbleweed是Universal-Tween-Engine的一个分支,可让您为项目中每个对象的每个属性创建平滑插值。

风滚草与原始项目在以下方面有所不同:
Tweens
和Timelines
更改(对Tweens
声明和实现进行了Tweens
);- 通过创建特定类型(
TweenType<T>
)来封装插值; - 删除了池(持续不断的意外行为源)等等。
它包含全面的文档,并根据Apache 2.0许可发布。 它还有一个示例应用程序 。
造型师是由Uber开发人员创建的项目。 这是一个Kotlin Gradle插件,可生成一组基本的Android主题。 例如,如果要确定应用程序的深色和浅色主题中文本的大小,则将创建以下类:

您将获得生成的XML主题:

该项目是根据Apache 2.0许可发布的。
这是一个小型库,提供响应式共享首选项。 它是专门为与Kotlin一起使用而设计的。
使用RxkPrefs
的实例,您可以获得首选项。 但这不是偏好的原始值,而是提供更多功能的Pref
接口的实例。
该库是根据Apache 2.0许可发布的。
该库提供了一种轻松替换应用程序字符串资源或添加新语言的简便方法,而无需在Google Play上发布新版本。 如何运作?
语言学不会改变在应用程序开发中使用资源的方式。 取而代之的是,对该过程进行了介绍:从应用程序内部文件返回的值将被拦截,并检查服务器上是否存在更新的值。 这使您可以消除错别字,改善语言,甚至添加新的语言。 全部实时,无需发布应用程序的新版本。
这是一个好主意。 该库是根据Apache 2.0许可发布的。 该项目包含一个示例应用程序,以及真正完整的文档。
这是来自Tinder团队针对Kotlin和Java的Retrofit启发式WebSocket
客户端。 本文对该库进行了很好的记录和描述。
您还可以在应用程序中查看其用途,以实时检查比特币汇率 。
Scarlet由StateMachine管理,该机器也由Tinder团队开发。

该项目根据BSD 3-条款许可发布。
结论
仅此而已! 我希望您喜欢这份清单,并且一些项目启发了您。 如果您知道最近5个月内发布的任何其他大型图书馆,而我没有提及,请在评论中告知我。
另请阅读其他相关收藏:
“ 25个有趣的Android库。 2018春季
“每个Android开发人员都应该知道的10个库”
“ 7个用于在Kotlin上进行Android开发的库”