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的快速,低記憶體的漢字轉拼音庫。
薦 語:高效、快速、簡單、易用。