你最不想錯過的 2017 早期 25 個 Android 開源庫

亦楓發表於2017-10-17

前言:來自 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亦楓

微信掃描二維碼,歡迎關注我的個人公眾號:安卓筆記俠

不僅分享我的原創技術文章,還有程式設計師的職場遐想

相關文章