你最不想错过的 2017 早期 25 个 Android 开源库

8,064 阅读6分钟

前言:来自 Medium 博客网站的一名国外作者 Michal Bialas 整理有几份有关 2017 Android 优秀开源库的介绍清单,包含有诸多年内新鲜出炉的项目。由于访问障碍(科学上网)和英文著作等原因,我花了点时间,将其翻译过来,备份于博客当中,也方便大家闲暇时浏览。

这是第一篇。原文地址:25 Android libraries you definitely want to try out in early 2017

这是一份全部诞生于 2017 一月和二月期间的 25 个最优秀的 Android 开源库的清单。排名不分先后,全都值得我们一试。

1, Lottie


Lottie 是 Airbnb 公司开源的一款同时适用于 Android、 iOS、Reactive 和 Web 平台的手机端动画开发库。借助 Bodymovin 插件我们能够将 Adobe AE 软件设计的动画效果导出为 JSON 格式的文本文件,而 Lottie 能够解析这种 JSON 内容并用原生方式渲染到手机屏幕当中。

Lottie 的 GitHub 主页案例效果图有很多,比如:

截至目前,Lottie 的 GitHub 关注数已经超过 16k 人,广受欢迎,绝对不容错过。Lottie 官方网站为:

airbnb.io/lottie/

2, Toasty


一个用于创建自定义 Toast 的开源库。作者使用这么一句话来描述这个库:

“The usual Toast, but with steroids.”

“常见吐司,却带有类固醇。”来自 GitHub 主页的部分使用截图如下:

3, StyleableToast


另一个自定义 Toast 的实现。丰富多彩的样式选择给你的 app 和用户体验带来一点额外的独特感觉。能够通过动态代码和 xml 布局两种方式设计 Toast 提示。

4, Store


Store 开源库用于数据的异步加载和缓存。根据文档:

“Store 类用于简化应用中的数据读取、解析、存储和检索。单个 Store 类似于 仓库模式,提供基于单向数据流的 RxJava 构建的响应式 API 操作。”

Store 文档非常全面,而且这个库也非常值得一试。你可以尝试许多操作流,如数据请求,缓存和解析。

5, PreviewSeekBar


如果你使用 Google Play Movies App 的话,你可能会注意到这个带有视频预览效果的 SeekBar 动画。 而 Rúben Sousa 作为一个开源库实现了这个效果。其功能正如下面这个 Gif 图所展示的这般。如果你的 app 也有视频播放功能,你一定要尝试一下这个库。

6, Chuck


如果你有使用 OkHttp 的话,这个库能够帮助拦截和留存你的应用中出现的所有 HTTP 请求和响应操作。Chuck 也提供一个 UI 用于查看 HTTP 内容。

7, CoordinatorTabLayout


CoordinatorTabLayout 是一个快速实现 TabLayoutCoordinatorLayout 联合使用场景下的自定义混合控制。你可以从下面的 Gif 图中看出其使用效果:

8, boxing


Boxing 是一款多媒体选择器开源库,提供的功能有:

  • 图片选择(单张或者多张图片)

  • 图片预览和裁剪

Boxing 也支持 gif 图片,视频选择,图片压缩和自定义 UI 样式,如:

9, excelPanel


这是一个二维的 RecyclerView 实现,不仅支持向前加载历史数据,也支持加载向后加载数据。

10, Horizontal Calendar


另一种 Material Design 风格横向日历视图的 RecyclerView 实现。

11, CameraFragment


利用 Fragment 实现的 CameraFragment 库帮助你轻松集成相机功能到你的 app 当中。Readme 文件是这么介绍的:

“CameraFragment 直接预览相机视图,并且提供一个简单的 API 来捕获或管理设备。你能够使用 CameraFragment 设计自己的布局和控制相机。”

12, AwesomeBar


这是来自作者 Florent Champigny 的大神之作。一种用于 Top Bar 设计的新实现方式(常见实现方式是 ActionBarToolbar),结合 DrawerLayout 的使用,灵感来自于 Gmail Mobile from Weekz。效果如图:

13, ArcNavigationView


这是一种将来自 Android Design support 包的 NavigationView 的边缘弯曲化的实现方式。

14, ShimmerRecyclerView


自定义 RecyclerView 并结合 shimmer views(微光效果)来表示 views 正在加载的状态。这个 RecyclerView 也有一个内置 adapter 用于控制微光效果的出现。

15, Android-SwitchIcon


“一种 Google launcher 样式的开关 Icon 的实现方式。”

这个库继承自 AppCompatImageView 并且允许你设置任何图标(vector 或者 图片),使用 app:srcCompat 属性到 SwitchIconView 中。

16, CounterFab


这个库是 FloatingActionButton 的子类,用于在右上角显示数字角标。在 Google Play 上可以下载 Demo App 体验。

17, FadingTextView


这个开源库允许你每隔几秒钟自动改变一个 TextView 控件的内容。

18, Bridge


“Bridge 是一个简单但功能强大的 Android HTTP 网络库,使用 Java/Android 提供的 URLconnection 类提供流畅的链式 API,保证最大限度的兼容性和速度。”

这个库有一个完整的文档说明,值得一试。

19, Ason


来自 Aidan Follestad 的第二个开源库。核心思想在于简化 JSON 交互操作。用作者的话来说,这个库:

“也使(反)序列化无痛操作。”

该库的文档写得非常精美,可在 GitHub 主页查看。

20, ObjectBox


我敢肯定你们大多数人都知道 greenrobot。如果不是,那他们开发的 GreenDAOEventBus 一定为人所知。现在,是时候了解一个新的重点在于性能上的对象数据库了。正如 greenrobot 所言:

“性能是我们创建 ObjectBox 的首要原因。先前,我们创建 了 greenDAO,用于 Android 和 SQLite 的速度最快的 ORM(对象关系映射)。自从 2011 年的第一次发布以来,我们获得了大量关于对象持久化的顿悟,和 SQLite 的性能限制。我们意识到,为了在手机上显著提升性能,我们需要深入核心并且构建一个用于对象设计的数据库。”

你可以在 这里 阅读 ObjectBox 的更多信息。

21, FlowLayout


这个库,

“允许子 views 在没有足够的空间时流动到下一行显示。子 views 之间的间隙由 FlowLayout 来计算,以保证 views 被均匀布局。”

22, Unofficial Google Actions Java SDK


来自 Mirek Stanek 的波兰口音语音库。由于官方 Google Actions SDK 使用 Node.js 写的这个事实,他引入了他的使用原生 Java 写的非官方版本。根据 README 介绍:

“Google Actions Java SDK 是基于官方 Node.js 库的,但是我的不是这个的一份镜像复制。目的在于使之完整地兼容 Conversational Protocol 助理平台。”

23, Wearable Reply


2017 年 2 月 9 号 Google 发布一个新版 Android Wear 2.0Luke Klinker 发现一个遗漏的 API 并且发布了这个库用于这个系统。

“允许快速简单地文本输入,无论来自你的声音,一个键盘,或者预设回复。这个遗漏的 API 现在可用啦!”

24, Shortbread


这是一个库:

“生成 App 快捷键 用于 @Shortcut 注解过 Activities 和 methods。不需要打开 manifest,创建 XML 文件或者使用快捷键管理器。仅是注解你想使用这个快捷键调起的代码即可。”

25, Material About


这个库为你准备好了展示自己给用户的 About Me(关于我)界面。

好啦,这份清单至此结束。再次感谢作者 Michal Bialas 的辛苦整理。如有翻译不当的地方,烦请大家指出。

关于我:亦枫,博客地址:yifeng.studio/,新浪微博:IT亦枫

微信扫描二维码,欢迎关注我的个人公众号:安卓笔记侠

不仅分享我的原创技术文章,还有程序员的职场遐想