不可錯過的2017 早期 25 個 Android 開源庫
說明:本篇文章是我在讀過的大量文章中細心篩選出的優秀作品,為你節省大量選擇時間,希望給你帶來最大化的幫助!
我會經常推薦一些優秀的文章作品,歡迎你持續訂閱關注!
大家有什麼想看的也歡迎留言或者私信告訴我!
文章來源 來自 安卓筆記俠 特別感謝!僅供學習閱讀,請大家尊重原創!再次感謝 安卓筆記俠
前言:來自 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 官方網站為:
http://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 是一個快速實現 TabLayout
和CoordinatorLayout
聯合使用場景下的自定義混合控制。你可以從下面的 Gif 圖中看出其使用效果:
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的辛苦整理。如有翻譯不當的地方,煩請大家指出。