來自: 開源中國社群
連結:oschina.net/translate/25-new-android-libraries-and-projects-2018
https://medium.com/@mmbialas/25-new-android-libraries-and-projects-to-check-at-the-beginning-of-2018-ba3b422bbbb4
這是我最新收集的 25 個 Android 庫和專案串列,你也許會發現它們有用,有趣,並值得檢視一下。所有的都在最近 3 個月釋出的,排序不分先後。
1、transitioner
Transitioner 是一個為兩個擁有嵌入子檢視的檢視之間提供簡便、動態且可調整的動畫效果的庫。它純 100% 使用 Kotlin 編寫而成,使用 MIT 許可,且擁有良好的檔案。
該庫支援 API 19 及以上的 SDK 版本,而且在專案中也包含了用來展現其功能特性的示例應用。毫無疑問,它值得一試!
2、FragmentRigger
該庫使用一種強大的方法來管理 Fragment。其標的是使得 Fragment 易於使用,並將管理它們的成本最小化。
該庫擁有配套的檔案以及示例應用。使用 MIT 開源許可協議。
3、PRDownloader
這是一個為 Android 提供的支援斷點續傳的檔案下載器。
這是 README 中的簡短說明:
PRDownloader 可以用來下載 image、video、pdf、apk 等等任意型別的檔案。
支援斷點續傳。
支援大檔案下載。
有簡單的介面做下載請求。
我們可以用給的下載Id檢查下載的狀態。
PRDownloader 在下載檔案時,提供了像 onProgress、onCancel、onStart、onError 等等的回呼。
支援適當的請求取消。
多個請求可以並行實現。
所有型別的自定義都是可能的。
該庫有很不錯的檔案和示例 App ,遵循 Apache-2.0 許可證。
4、AnimatedPieView
AnimatedPieView 是 Android 中展示餅圖和環形圖的另一種方法。
這個庫提供:
-
alpha 觸控動畫
-
設定間隙角
-
動畫期間自己適配文字域的位置
-
對每一個段設定描述並顯示它
-
點選回呼
-
點選特效
-
在餅圖和環形圖之間切換
-
繪製圖表時的動畫
它有很好的檔案(有英文版)。也有一個示例 App,也是遵循 Apache-2.0 許可證發行。
5、FloatWindow
這個庫可用於新增一個“懸浮視窗”,可以顯示在所有 Activity 的最前方。“懸浮視窗”可以定義為懸浮動作按鈕。如下所示:
這個庫使用 Apache 2.0 開源許可證。它有一個良好的檔案,但它是用中文寫的。不過只要翻譯成英文即可,祝玩得開心!
6、MyLittleCanvas
使用這個庫的原因是為了方便在 Android 上使用 canvas。除了方法,現在可以使用物件。
透過使用這個庫,你可以實現如上面所示的 TextView 的自定義下劃線。
README 中的示例通俗易懂,而且易於使用。這個專案的檔案相當不錯,並且這個庫使用的是 Apache-2.0 開源許可證。
7、WindowImageView
這是一個非常有趣的庫,可以用來在 RecyclerView 中展示 ImageView,它就像一個視窗。下麵的 gif 圖片可以顯示其直觀的效果。
該專案包含了一個示例應用。檔案對於入手來說足夠豐富,而它是以 MIT 許可發行的。
8、ChartView
ChartView 是一個主要用來解決如何使用 Canvas 和 ValueAnimator 來繪製自定義圖表此類問題的專案。
9、hyperlog-android
這是一個公用工具日誌庫,位於標準的 Android 日誌類之上,用於儲存資料庫中的日誌,並將它們推入遠端伺服器進行除錯。
這個專案的檔案真的很全面。還有一篇關於它的部落格文章和一個示例應用程式。這個庫是基於 MIT 許可證釋出的,目前的版本是 0.0.7。
10、Fairy
Fairy 是一個簡單的除錯工具,允許開發者使用 adb logcat 命令在 Android 手機上檢視 Android 系統日誌,而不是在電腦上。
它還允許在任何地方使用 Android 手機掃描系統日誌資訊,甚至不需要 root。
這個庫有相當好的檔案,它基於 Apache-2.0 釋出,支援 Android API 21 及以上。
11、ExpansionPanel
這是另外一個來自於 Florent Champigny 的很棒的庫。它給我提供了 Expansion Panels(其中包含了建立流程,且讓我們可以輕量化的編輯一個元素)的一種實現。
檔案很全面,而且專案本身也包含了示例應用。所有的程式碼都採用了 Apache-2.0 許可。示例應用在Google Play上也可以獲取到。
12、kotlin-math
這是
使得圖形數學演演算法寫起來更輕鬆的 Kotlin API 的集合。這些 API 大多都是在 GLSL (OpenGL Shading Language) 之後建模的,以便使從著色器或者向著色器移植程式碼更輕鬆。
由該庫提供的變數型別只是值型別,因此大多數 API 是以頂級函式的形式暴露出來,而非方法。
該專案是以 Apache-2.0 開源許可證發行的。
13、TicketView
這是一個提供卡片檢視(Ticket View)的庫,它提供了 3 種型別的 TicketView 邊角:常規的、圓形的以及扇貝形的。
專案是以 Apache-2.0 許可發行的,而示例應用可以在 Github 資源庫或者在 Google Play 上獲取到。檔案還可以,且庫支援 API 15 及以上版本。
14、Cipher.so
該庫提供了一種將敏感資料加密到原生 .so 庫的簡單方法。
這個庫是如何工作的呢? 在編譯時所有的鍵值對會被自動打包到一個原生庫裡面去。接著他可以從由 Cipher.so 生成的 Java 介面獲取這些鍵值對資料。
檔案足夠好,專案是以 Apache-2.0 發行的。
15、android-clean-architecture-mvi-boilerplate
這是使用 Model-View-Intent 樣式的一個 Buffer 的分支,是乾凈的應用架構樣板。
在展現層它現在使用的是來自 Android Architecture Components Library 的 ViewModel。快取層現在也使用了 Room。
16、Android-Indefinite-Pager-Indicator
這個庫是提供給 RecyclerView 與 ViewPager 的輕量級即插即用型的無限翻頁指示器。
該庫擁有相當好的檔案,示例應用,還有許多的定製,並且是以 MIT 許可發行的,支援的最低 SDK 版本是 16。
17、daggraph
如果你使用 Dagger 的話, 你可能會發現自己的依賴在一張圖上看起來挺有趣的。 Daggerph 就是為你提供此項功能的一個工具。
它的檔案相當地簡短,但是足夠你入手這個專案了,它是以 Apache-2.0 許可發行的。
18、ToastCompat
這是一個用來勾住 Toast 的 BadTokenException 併進行修複的 Android 庫。
這個庫的目的就是為應對從 API 25 開始,一個新的引數被新增到了供 Toast#handleShow() 使用的 IBinder 的 windowToken 方法,而它會導致 BadTokenException 異常。該庫就是用來嘗試去解決這個問題的。
你可以在 Github 上找到更多資訊。該專案是以 Apache-2.0 許可發行的。
19、RecyclerBanner
這並非一個庫,而是一個示例應用,向你展示瞭如何使用 RecyclerView 建立輪播檢視。
不幸的是,該專案並沒有英語檔案,不過你可以參考這篇文章(教程)然後翻譯它。
20、FancyToast-Android
這個庫使用了原生的 Android Toasts Fancy。它將標準的 Android Toast 帶到了一個新的級別,使其擁有大量的樣式選項。它也提供了使用程式碼來控制 Toast 樣式的能力。
該庫擁有良好的檔案,而且也包含了一個示例應用。支援的最低 SDK 版本是 19,而整個專案是以 Apache-2.0 許可發行的。
21、RecyclerViewCardGallery
這個類庫 fork 自 RecyclerViewCardGallery。與使用 ViewPager 不同的是,作者使用了 RecyclerView,透過滑動來達到掃清的效果。
這專案有基本的檔案、app 樣例,並且它是在 Apache-2.0 許可下釋出的。
22、ig-lazy-module-loader
這個類庫有助於在 Android 程式中在每當需要時按需載入模組(功能)。在使用這個類庫前,需要編譯為一個單獨的 jar/dex 或者 apk 檔案,才能作為模組使用。
現在這個類庫有 Java 的和 Andriod 的,Android 的不需要依賴於 Android 資源。
這個類庫的作者也提到了延遲載入特性 VS 在主可執行檔案中具有(延遲載入)特性的好處:
-
只有在真正需要時把功能載入到記憶體中。它可在主執行檔案中解除安裝程式碼(offloads code),該檔案仍然較小,以保證有更好的冷啟動時間。在 Dalvik 上,它解除安裝了主要的 dex 檔案,降低了多 dex 的效能損失。
-
因為它在一個檔案中,所以功能程式碼在記憶體中集中在起來,它在記憶體訪問方面提供了最優的方案。
-
如果某些功能未使用則只佔用較少的磁碟空間,因為程式碼不是未壓縮的。
-
透過在功能之間提供非常嚴格的隔離,可以提高開發人員的速度,其中許多開發人員都同時在相同的程式碼庫上工作的。
-
模組的熱插拔(hotswapping)可能可實現允許更快地開發而不用重啟 app。
23、retrofit2-kotlin-coroutines-adapter
這是用於 Kotlin 協程的 Deferred 的實驗性 Retrofit 2 CallAdapter.Factor。在 Apache 2.0 許可下釋出。
24、CalendarPicker
這個庫是另一個日曆和日期選擇器。它可以預設一個選定的日期,並可以深度定製 – 你可以自定義幾乎所有的文字大小和顏色、背景顏色和月份標題。
該庫使用 MIT 許可發行,並有基本的檔案。
25、avdo
這是一個最佳化 Android VectorDrawable(VD) 和 AnimatedVectorDrawable(AVD) xml 檔案的命令列工具(類似於 svgo)。
它由 Alex Lockwood 建立併在 MIT 許可下釋出。
它確切的功能如下:
avdo 使用最少數量的
和 來重寫 VectorDrawable,從而減少檔案大小,並使其能在執行時更快地解析和繪製。下麵的例子顯示了在執行 avdo 之前和之後的 VectorDrawable 的內容
就這些了。希望你能喜歡這份清單。如果你知道在過去三個月內釋出的其他優秀的庫,並且我沒有提到的話,請在評論中告訴我。
●本文編號283,以後想閱讀這篇文章直接輸入283即可
●輸入m獲取文章目錄
Java程式設計
更多推薦《18個技術類微信公眾號》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。