1. 程式人生 > >Android 開發中常用到的第三方支援庫

Android 開發中常用到的第三方支援庫

專案第三方庫的整理

1.Leaks 記憶體洩漏檢測工具

​ 實用性:★★★★★

​ 安全性:★★★★★

​ 難 度:★★

​ 推 薦:★★★★★

​ 來 源:Square

​ 簡 述:A memory leak detection library for Android and Java.

​ 薦 語:移動開發中遇到OOM並不新鮮,難就難在不易發現。但凡在開發中稍有疏忽就會導致問題的發生。雖說根源在開發人員的素養和技術認知上,但預防手段還是要有的。

2. Gridpagersnaphelper RecyclerView封裝版

​ 實用性:★★★★

​ 安全性:★★★

​ 難 度:★

​ 推 薦:★★★

​ 來 源:Hanhailong(58同城)

​ 簡 述:A powerful tools to impl grid paging layout by RecyclerView,support horizontal and vertical page.

​ 薦 語:RecyclerView 是Android中ListView、GridView的最好替代品。適合用於為大型資料集提供有限的視窗。運用非常靈活。但是僅支援Android5.0以上的系統。但是從Google沒有把它標記為@Deprecated就可以看出,這個東西並不是必須的。只是方便了我們開發人員。本外掛只是在此基礎上進行了簡單的封裝。

3. pager-bottom-tab-strip 底部導航欄的封裝

​ 實用性:★★★

​ 安全性:★★★

​ 難 度:★

​ 推 薦:★★★

​ 來 源:majiajie(個人)

​ 簡 述:A bottom navigation bar for Android .

​ 薦 語:一個通用導航欄的封裝,免去了開發者去重複造輪子。可塑性還是挺高的。

4. 網路請求庫

​ 實用性:★★★★★

​ 安全性:★★★★★

​ 難 度:★★★

​ 推 薦:★★★★★

​ 來 源:square、google

​ 簡 述:Retrofit2、gson、okhttp3

​ 薦 語:這個沒啥好說的,比xutils輕量,目前個人認為比較好用的網路框架。

5.RxJava

​ 實用性:★★★★★

​ 安全性:★★★★★

​ 難 度:★★★

​ 推 薦:★★★★★

​ 來 源:http://reactivex.io/

​ 簡 述:一個用於使用Java VM的可觀察序列組合非同步和基於事件的程式庫

​ 薦 語:簡潔是Rxjava的第一大優點。另外這個也是響應式程式設計的典範之作。還有一個比較重要的就是背壓。用好Rxjava對於移動端開發者真的是幫助很大。

6.Glide圖片載入庫

​ 實用性:★★★★★

​ 安全性:★★★★

​ 難 度:★

​ 推 薦:★★★★★

​ 來 源:Sam Judd https://github.com/bumptech/glide

​ 簡 述:Glide是一個快速高效的Android圖片載入庫

​ 薦 語:高效能、可擴充套件、自動資源池技術。選擇Glide最主要的一個原因就是glide可以讓圖片列表的滾動儘可能的快,儘可能的順暢,除此之外還幾乎滿足了你對遠端圖片的拉取/縮放/顯示的一切要求。我們做移動端開發無非就是為了“快”、“順”,不用glide簡直對不起自己。

7.Android下拉重新整理框架-SmartRefreshLayout

​ 實用性:★★★★

​ 安全性:★★

​ 難 度:★

​ 推 薦:★★★

​ 來 源:scwang90 https://github.com/scwang90/SmartRefreshLayout

​ 簡 述:一個個人封裝的下拉重新整理框架

​ 薦 語:支援自動重新整理、自動載入、各種動畫效果、巢狀圖層、自定義header/footer等等,移動端的這些功能還是挺多的,所以直接使用這個也是很方便的。但是這個框架屬於個人專案,直接用在我們的專案中不是很合適,需要時間的考驗。

8.BaseRecyclerViewAdapterHelper RecyclerView輔助框架

​ 實用性:★★★★★

​ 安全性:★★★

​ 難 度:★★

​ 推 薦:★★★★★

​ 來 源:BRVAH https://github.com/CymChad/BaseRecyclerViewAdapterHelper

​ 簡 述:一個強大的RecyclerAdapter框架,結合RecyclerView使用簡直就是享受。

​ 薦 語:節約了開發者大量的時間,條目清晰,文件健全。

*9.EasySwipeMenuLayout Item滑動選單

​ 實用性:★★

​ 安全性:★★

​ 難 度:★

​ 推 薦:★★

​ 來 源:個人 https://github.com/anzaizai/EasySwipeMenuLayout

​ 簡 述:雙向Item滑動選單

​ 薦 語:只是一個實現了雙向滑動的專案,介面也不是很優美,程式碼也不是很優雅,同類產品中競價很低。

*10.Material Dialogs 萬能Dialog

​ 實用性:★★★★

​ 安全性:★★★

​ 難 度:★

​ 推 薦:★★

​ 來 源:個人 https://github.com/afollestad/material-dialogs

​ 簡 述:A beautiful and fluid dialogs API for Kotlin & Android.

​ 薦 語:提供了各種各樣的dialog樣式,單選、多選、文字輸入、檔案選擇、顏色自定義等等,幾乎涵蓋了工作中正常的dialog需求(奇葩設計除外),雖然好用但是本人並不推薦,因為每個設計師都有自己的一套設計風格。

11.Material Calendar View 符合Material設計的日曆

​ 實用性:★★

​ 安全性:★★

​ 難 度:★★

​ 推 薦:★★

​ 來 源:Prolific Interactive https://github.com/prolificinteractive/material-calendarview

​ 簡 述:A Material design back port of Android’s CalendarView

​ 薦 語:如果只是大眾需求,用這個庫確實省事省力,但是一般涉及到日曆的需求大都屬於高度訂製格式,這個封裝庫就不是那麼的完美了。

12.banner 圖片輪播框架

​ 實用性:★★★

​ 安全性:★★

​ 難 度:★

​ 推 薦:★★★

​ 來 源:惡人

​ 簡 述:一個輪播控制元件封裝

​ 薦 語:一個簡單的封裝,用起來比較省時省力。

13.zxing 官方掃描庫

​ 實用性:★★★★★

​ 安全性:★★★★★

​ 難 度:★★

​ 推 薦:★★★★

​ 來 源:google

​ 簡 述:scanning library for Java, Android

​ 薦 語:官方提供的一款掃描二維碼、條形碼…一些列庫,只此一家別無分店。

14.flexbox可伸縮佈局

​ 實用性:★★★★★

​ 安全性:★★★★★

​ 難 度:★

​ 推 薦:★★★★

​ 來 源:google

​ 簡 述:一個可伸縮的外部佈局

​ 薦 語:官方提供,功能強大,可自定義推薦使用

14.BGAPhotoPicker-Android

​ 實用性:★★★★★

​ 安全性:★★★★

​ 難 度:★★

​ 推 薦:★★★★

​ 來 源:個人 https://github.com/bingoogolapple/BGAPhotoPicker-Android

​ 簡 述:Android圖片選擇,預覽,九宮格圖片控制元件,拖曳排序九宮格圖片控制元件

​ 薦 語:將MeiqiaSDK-Android裡的相簿單獨抽出來開源,將其中的GridView,ListView和RelativeLayout換成RecyclerView和工具欄,方便在以後的專案中直接依賴使用、類似需求使用這個庫省事省力。

*15.AndroidViewAnimations Android檢視動畫庫

​ 實用性:★★★

​ 安全性:★★

​ 難 度:★

​ 推 薦:★

​ 來 源:個人 https://github.com/bingoogolapple/BGAPhotoPicker-Android

​ 簡 述:幾種檢視特效的庫

​ 薦 語:比上不足比下有餘,相同產品有更好的,而且可擴充套件性很差。

16.高德地圖

​ 實用性:★★★★★

​ 安全性:★★★★★

​ 難 度:★★

​ 推 薦:★★★★★

​ 來 源:高德

​ 簡 述:國內地圖供應商

​ 薦 語:國內做的好的基本上就高德和百度可以提一下,兩者各有優劣,高德更注重地圖功能,而百度更注重橫向發展。所以在不同的需求下選擇適合自己的地圖。國外專案還是建議使用google map 因為據經驗所知,不管是百度還是高德到國外都會導致定位不準。

**17.極光推送

​ 實用性:★★★★★

​ 安全性:★★

​ 難 度:★★

​ 推 薦:★★★★

​ 來 源:深圳市和訊華谷資訊科技有限公司

​ 簡 述:移動端推送服務商

​ 薦 語:根據自己的需求選擇吧

​ 附對比圖:

平臺 個推 百度雲推送 極光推送 友盟推送
穩定性和到達率 單臺伺服器併發支援200-400萬,推送下發速率可達20萬/秒 百度強大的伺服器叢集,吞吐能力強 服務端先進技術架構,高併發可擴充套件性的雲服務 訊息推送所有人時有延遲,不支援富媒體推送
電量和流量 多個APP合併一條長連線,共享鏈路。SDK特意針對手機優化,空載耗電每日15-50毫安,空載流量0.8-1.2M/月 單通道技術,多應用共享一個推送通道。 客戶端 SDK 採用自定義的協議保持長連線,電量、流量消耗都很少 多應用共享一個長連線、智慧心跳等優化方案。
安全性 資料加密 安全隔離技術 一般加密 一般加密
訊息推送 推送通知推送訊息推送富媒體沒有LBS推送 推送通知推送訊息推送富媒體基於地理位置的推送(或“LBS推送”) 推送通知推送訊息推送富媒體沒有LBS推送 推送通知推送訊息沒有富媒體沒有LBS推送
後臺資料統計 資料報表支撐,智慧化分析推送 提供推送資訊和使用者行為的統計 “推送報表”與“使用者統計報表”呈現推送的效果和應用發展趨勢。 提供推送資訊和使用者行為的統計
SDK接入難度/成本 中文文件,技術支援 有中文文件,技術支援 中文文件,技術支援 中文文件,技術支援
收費情況 部分功能收費 免費 部分功能收費 免費
伺服器端支援 支援Java,PHP,C#,Python,Node.js服務端 支援Java,PHP,C#,Python,Node.js服務端 支援Java,PHP,C#,Python,Node.js,Ruby服務端 支援Java,PHP,Python 服務端
訊息推送策略 廣播推送標籤推送別名推送使用者分組 廣播推送標籤推送別名推送使用者分組地理區域劃分推送。 廣播推送標籤推送別名推送使用者分組 廣播推送標籤推送別名推送使用者分組地理區域劃分推送。
案例 新浪微博,墨跡天氣,唱吧,PPTV,美圖秀秀等 糗事百科,Gif快手 珍愛網,超級課程表,美咖相機 暴風影音,南方週末,別踩白塊
額外功能 app增量更新 百度賬戶系統登入

*18.Jsoup

​ 實用性:★★

​ 安全性:★★★★★

​ 難 度:★

​ 推 薦:★

​ 來 源:Jonsthan

​ 簡 述:一款處理HTML的Java庫

​ 薦 語:提供了非常方便的API去處理HTML,用於提取和操作資料。但是在Android專案中如果只是個例的話完全沒有必要去引入該庫。總之看情況吧,如果是混合開發這個庫還是很重要的。

19.加密演算法 curve25519-Android庫

​ 實用性:★★★

​ 安全性:★★★★★

​ 難 度:★★★

​ 推 薦:★★★★

​ 來 源:signalapp

​ 簡 述:一種在Android上被廣泛使用的加密方法

​ 薦 語:適合用於公共領域的安全軟體,橢圓曲線迪菲-赫爾曼(ECDH)金鑰交換方法,可用作提供128 bit的安全金鑰。

20.微信分享/登入,qq分享/登入,新浪分享

​ 實用性:★★★★★

​ 安全性:★★★★★

​ 難 度:★★★

​ 推 薦:★★★★★

​ 來 源:騰訊,新浪

​ 簡 述:

​ 薦 語:沒有選擇。

21.tinypinyin 漢字轉拼音庫

​ 實用性:★★★★

​ 安全性:★★★★

​ 難 度:★

​ 推 薦:★★★★

​ 來 源:promeg https://github.com/promeG/TinyPinyin

​ 簡 述:一個適用於Java和Android的快速,低記憶體的漢字轉拼音庫。

​ 薦 語:高效、快速、簡單、易用。