前言:來自 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 官方網站為:
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 是一個快速實現 TabLayout
和 CoordinatorLayout
聯合使用場景下的自定義混合控制。你可以從下面的 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 設計的新實現方式(常見實現方式是 ActionBar
或 Toolbar
),結合 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。如果不是,那他們開發的 GreenDAO 和 EventBus 一定為人所知。現在,是時候瞭解一個新的重點在於效能上的物件資料庫了。正如 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.0。Luke Klinker 發現一個遺漏的 API 並且釋出了這個庫用於這個系統。
“允許快速簡單地文字輸入,無論來自你的聲音,一個鍵盤,或者預設回覆。這個遺漏的 API 現在可用啦!”
24, Shortbread
這是一個庫:
“生成 App 快捷鍵 用於
@Shortcut
註解過 Activities 和 methods。不需要開啟 manifest,建立 XML 檔案或者使用快捷鍵管理器。僅是註解你想使用這個快捷鍵調起的程式碼即可。”
25, Material About
這個庫為你準備好了展示自己給使用者的 About Me(關於我)介面。
好啦,這份清單至此結束。再次感謝作者 Michal Bialas 的辛苦整理。如有翻譯不當的地方,煩請大家指出。
關於我:亦楓,部落格地址:yifeng.studio/,新浪微博:IT亦楓
微信掃描二維碼,歡迎關注我的個人公眾號:安卓筆記俠
不僅分享我的原創技術文章,還有程式設計師的職場遐想