轉(zhuǎn)載自GitHub Android Libraries Top 100 簡(jiǎn)介
GitHub Android Libraries Top 100 簡(jiǎn)介
本項(xiàng)目主要對(duì)目前 GitHub 上排名前 100 的 Android 開(kāi)源庫(kù)進(jìn)行簡(jiǎn)單的介紹, 至于排名完全是根據(jù) GitHub 搜索 Java 語(yǔ)言選擇 (Best Match) 得到的結(jié)果, 然后過(guò)濾了跟 Android 不相關(guān)的項(xiàng)目, 所以排名并不具備任何官方效力, 僅供參考學(xué)習(xí), 方便初學(xué)者快速了解當(dāng)前一些流行的 Android 開(kāi)源庫(kù).
iOS 版本的在此:https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md
感謝@GitHubDaily的大力支持, 以及@stormzhang的指點(diǎn)
若有任何疑問(wèn)可通過(guò)郵件或微博聯(lián)系我
項(xiàng)目名稱(chēng)
項(xiàng)目簡(jiǎn)介
這個(gè)是 Facebook 在 React.js Conf 2015 大會(huì)上推出的基于 JavaScript 的開(kāi)源框架 React Native, 該框架結(jié)合了 Web 應(yīng)用和 Native 應(yīng)用的優(yōu)勢(shì), 可以使用 JavaScript 來(lái)開(kāi)發(fā) iOS 和 Android 原生應(yīng)用
Android-Universal-Image-Loader
ImageLoader 是最早開(kāi)源的 Android 圖片緩存庫(kù), 強(qiáng)大的緩存機(jī)制, 早期被廣泛 Android 應(yīng)用使用, 至今仍然有很多 Android 開(kāi)發(fā)者在使用
RxJava 是一個(gè)在 Java VM 上使用可觀測(cè)的序列來(lái)組成異步的, 基于事件的程序的庫(kù), 簡(jiǎn)單來(lái)說(shuō)它就是一個(gè)實(shí)現(xiàn)異步操作的庫(kù), RxJava 的優(yōu)點(diǎn)在于一個(gè)詞 "簡(jiǎn)潔", 使用它就算你程序邏輯有多么復(fù)雜, 它依然能夠保持簡(jiǎn)潔易懂
Retrofit 是 Square 公司出品的 HTTP 請(qǐng)求庫(kù), 同時(shí)是 Square 是最早開(kāi)源項(xiàng)目之一, Retrofit 是目前 Android 最流行的 Http Client 庫(kù)之一, 目前版本是 Retrofit2.0 Beta4, 越來(lái)越多 Android 開(kāi)發(fā)者開(kāi)始使用這個(gè)請(qǐng)求庫(kù)了
OkHttp 是 Square 公司出品的 HTTP 另一個(gè)請(qǐng)求庫(kù), Google 不推薦人們使用 HttpClient, 可是 HttpURLConnection 實(shí)在是太難用了, 因此很多人使用了 OkHttp 來(lái)解決這問(wèn)題, 據(jù)說(shuō) Android4.4 的源碼中可以看到 HttpURLConnection 已經(jīng)替換成 OkHttp 實(shí)現(xiàn)呢
一個(gè)側(cè)滑菜單開(kāi)源庫(kù), 在 Google 自己原生態(tài)的側(cè)滑菜單 NavigationDrawer 沒(méi)有出現(xiàn)之前, 這個(gè)庫(kù)就已經(jīng)被廣泛使用, 可是到現(xiàn)在這個(gè)庫(kù)已經(jīng)被放棄了
Picasso 是 Square 公司出品的一款圖片緩存庫(kù), 主導(dǎo)者是 JakeWharton 大神
Android 開(kāi)發(fā)最佳實(shí)踐, 里面所介紹的經(jīng)驗(yàn)都是來(lái)自于 Futurice 公司 Android 開(kāi)發(fā)者, 介紹內(nèi)容有 Android 開(kāi)發(fā)規(guī)范, 架構(gòu), 布局技巧, 以及使用一些有助于快速開(kāi)發(fā)相關(guān)工具等等, 非常適合新手去學(xué)習(xí)
EventBus 是 Android 事件管理總線(xiàn), 使用它可以替帶 Android BroadCast, BroadCastReceiver, Handler 在 Activity, Fragment, Service, 線(xiàn)程之間傳遞消息, 大大簡(jiǎn)化了事件傳遞邏輯
Android-Async-Http 是 Android 一款老牌異步請(qǐng)求庫(kù), 專(zhuān)門(mén)對(duì) Android 在 Apache 的 HttpClient 基礎(chǔ)上構(gòu)建的異步 http 連接, 該庫(kù)有很多特征, 例如: 庫(kù)的 size 小, 支持文件上傳不需使用第三方庫(kù)支持, 內(nèi)部使用線(xiàn)程池來(lái)處理并發(fā), 等等
Fresco 是 FaceBook 公司出品的一款圖片緩存庫(kù), Fresco 是一個(gè)強(qiáng)大的圖片加載組件, 支持加載 Gif 圖和 WebP 格式, 支持 Android2.3(API level 9) 及其以上系統(tǒng), Fresco 中設(shè)計(jì)了 Image pipeline 和 Drawees 兩個(gè)模塊各施其職, 使得圖片完美加載出來(lái), 想知道更多 image pipeline 和 Drawees 有關(guān)于它的特性, 可以到它官方平臺(tái)看介紹
ZXing 是二維碼領(lǐng)域中名氣最大的開(kāi)源項(xiàng)目, 它提供了多個(gè)平臺(tái)的二維碼/條形碼掃描解決方案, 擁有掃描快, 識(shí)別率高, 使用簡(jiǎn)單等特點(diǎn)
LeakCanary 是 Square 公司出的一款檢測(cè)內(nèi)存泄露工具, 該工具能幫助你在開(kāi)發(fā)階段方便的檢測(cè)出內(nèi)存泄露的問(wèn)題, 使用起來(lái)非常簡(jiǎn)單方便
由 JakeWharton 大神開(kāi)發(fā)出來(lái)的, ButterKnife 是 View 注入框架, 使用它為了簡(jiǎn)寫(xiě)很多 findViewById 代碼, 同時(shí)還支持 View 的一些事件處理函數(shù)
MPAndroidChart 是一款強(qiáng)大的 Android 圖表庫(kù), 支持各種各樣圖表顯示, 能想到的圖表樣式這里幾乎都有, 圖表還支持選擇, 拖放和縮放動(dòng)畫(huà)效果
ActionBarSherlock 這個(gè)庫(kù)是 JakeWharton 大神開(kāi)發(fā)出來(lái)支持 Android3.0 以下版本的, 后來(lái)慢慢的 Google 也提供了 AppCompat 庫(kù)來(lái)支持 Android3.0 以下版本使用 ActionBar, 因此作者不建議我們?cè)偈褂眠@個(gè)庫(kù)了
AndroidAnnotations 是一個(gè)能夠讓你快速進(jìn)行 Android 開(kāi)發(fā)的開(kāi)源框架, 它能讓你專(zhuān)注于真正重要的地方, 使代碼更加精簡(jiǎn), 使項(xiàng)目更加容易維護(hù), 它的目標(biāo)就是 "Fast Android Development.Easy maintainance"
由 JakeWharton 大神開(kāi)發(fā)出來(lái)的一個(gè) ViewPager 指示器, 使用起來(lái)簡(jiǎn)單方便, 可高度定制, 開(kāi)發(fā)出各種各樣動(dòng)畫(huà)效果
Glide 是 Google 員工的開(kāi)源項(xiàng)目, 廣泛應(yīng)用于 Google 一些 App 上, 在2014年 Google I/O 大會(huì)上被推薦使用, Glide 和 Picasso 被人拿來(lái)比較研究過(guò), Glide 與 Picasso 有 90% 的相似度, 但在一些細(xì)節(jié)上還是有點(diǎn)區(qū)別的, 各有各優(yōu)缺點(diǎn)看君選擇
開(kāi)發(fā)者是由一名程序媛 Hannah Mittelstaedt , HomeMirror 是一款 Android 鏡子應(yīng)用, 目前它能實(shí)現(xiàn)日期, 時(shí)間, 天氣, 生日信息, 事件提醒器, 騎車(chē)天氣的推薦, 股票信息, XKCD 漫畫(huà)網(wǎng)站的新帖等等
一個(gè)強(qiáng)大的拉動(dòng)刷新開(kāi)源項(xiàng)目, 支持各種控件下拉刷新, ListView, ViewPager, WebView, ExpandableListView, GridView, ScrollView, Horizontal ScrollView, Fragment 上下左右拉動(dòng)刷新, 不過(guò)現(xiàn)在這個(gè)項(xiàng)目已經(jīng)停止維護(hù)更新了, 推薦使用Android-Ultra-Pull-To-Refresh
這個(gè)庫(kù)控件都是遵循了 Google Material Design 設(shè)計(jì)規(guī)范開(kāi)發(fā)出來(lái), 例如有: Flat Button, Rectangle Button, CheckBox, Switch, Progress bar circular indeterminate 等等
PhotoView 是 ImageView 的子類(lèi), 支持所有 ImageView 的源生行為, 例如: 支持 Pinch 手勢(shì)自由縮放, 支持雙擊放大/還原, 支持平滑滾動(dòng)等等, 并且非常方便的與 ImageLoader/Picasso 之類(lèi)的網(wǎng)絡(luò)圖片讀取庫(kù)集成使用, 還方便的與 ViewPager 等同樣支持滑動(dòng)手勢(shì)的控件集成
由 JakeWharton 大神主導(dǎo)開(kāi)發(fā)的項(xiàng)目, RxAndroid 是 RxJava 的一個(gè)針對(duì) Android 平臺(tái)的擴(kuò)展, 主要用于 Android 開(kāi)發(fā)
Material Dialogs 是一個(gè)可高度定制易用, 符合 Material Design 風(fēng)格的 Dialogs, 兼容 Android API8 以上版本, 個(gè)人使用感覺(jué)它完全可替代 Android 原生那個(gè), 比原生那個(gè)更加簡(jiǎn)單易用
ObservableScrollView 是一款用于在滾動(dòng)視圖中觀測(cè)滾動(dòng)事件的 Android 庫(kù), 它能夠輕而易舉地與 Android 5.0 Lollipop 引進(jìn)的工具欄 (Toolbar) 進(jìn)行交互, 還可以幫助開(kāi)發(fā)者實(shí)現(xiàn)擁有 Material Design 應(yīng)用視覺(jué)體驗(yàn)的界面外觀, 支持ListView, ScrollView, WebView, RecyclerView, GridView組件
Android 版的 Bootstrap, 利用這個(gè)庫(kù)能夠?qū)崿F(xiàn)很多 Bootstrap 樣式風(fēng)格, 之前有學(xué)過(guò) Html 的人就知道 Bootstrap 是什么玩意啦
開(kāi)發(fā)者是代碼家, AndroidSwipeLayout 是一個(gè)支持ListView, GridView, ViewGroup等等左右上下滑動(dòng)出操作菜單, 類(lèi)似 qq 消息列表向左滑動(dòng)顯示出多某條信息的操作菜單
Dagger 是 Square 公司出品的一個(gè)針對(duì) Android 和 Java 的快速依賴(lài)注入器, 能夠有效減少你敲代碼量
一個(gè)輕輕松松給 Android ListView 添加動(dòng)畫(huà)效果的庫(kù), 支持的動(dòng)畫(huà)有: Alpha, SwingRightIn, SwingLeftIn, SwingBottomIn, SwingRightIn and ScaleIn等等, 使用它能很容易就實(shí)現(xiàn)帥爆的效果
PagerSlidingTabStrip 是一個(gè)給 Android ViewPager添加上 ViewPager 滑動(dòng)指示器, 從 GitHub 上面看, 這個(gè)庫(kù)似乎沒(méi)有人在維護(hù)了, 因此不建議使用, 可使用SmartTabLayout來(lái)代替
開(kāi)發(fā)者是代碼家, 這個(gè)庫(kù)實(shí)現(xiàn)很多很酷炫的 Android 動(dòng)畫(huà), 動(dòng)畫(huà)效果是借鑒 Animate.css 來(lái)實(shí)現(xiàn)的, 非常酷, 而且這個(gè)使用起來(lái)也是非常簡(jiǎn)單
AndroidSlidingUpPanel 是一個(gè)上拉面板, 就是向上滑動(dòng)的時(shí)候往上飛出一個(gè)顯示面板控件, 該庫(kù)效果在 Google Music, Google Maps and Rdio等 App 應(yīng)用到
MaterialDrawer 是一個(gè)類(lèi)似 Google 官方 NavigationView 側(cè)滑顯示控件, 個(gè)人認(rèn)為 NavigationView 并沒(méi)有 MaterialDrawer 實(shí)用, 因?yàn)?NavigationView 自由度不是很好, 很多都寫(xiě)死了不可以自由定義布局, 而 MaterialDrawer 能夠?qū)崿F(xiàn)跟 NavigationView 一樣的效果, 同時(shí)還支持自定義效果, 自由度非常高
Material-Animations 是一個(gè)很好過(guò)渡動(dòng)畫(huà)庫(kù), 可以應(yīng)用于 Activity 與 Activity 之間的跳轉(zhuǎn), Fragment 與 Fragment 之間的跳轉(zhuǎn), 以及各個(gè) View 變化前后的過(guò)渡動(dòng)畫(huà)
一個(gè)簡(jiǎn)單易用 Material Design 風(fēng)格的 ViewPager 庫(kù)
ion 是一個(gè)讓 Android 的網(wǎng)絡(luò)操作變得極其簡(jiǎn)單, 支持異步獲取和處理JSON, 支持 Android 文件下載 (同時(shí)支持下載進(jìn)度條綁定), 支持安全鏈接和代理
Stetho是 Facebook 出品的一個(gè)強(qiáng)大的 Android 調(diào)試工具,使用該工具你可以在 Chrome Developer Tools查看App的布局, 網(wǎng)絡(luò)請(qǐng)求(僅限使用Volley, okhttp的網(wǎng)絡(luò)請(qǐng)求庫(kù)), sqlite, preference, 一切都是可視化的操作,無(wú)須自己在去使用adb, 也不需要root你的設(shè)備
Fastjson 是一個(gè) Java 語(yǔ)言編寫(xiě)的高性能功能完善的 JSON 庫(kù). 它采用一種“假定有序快速匹配”的算法, 把 JSON Parse的性能提升到極致, 是目前Java語(yǔ)言中最快的JSON庫(kù). Fastjson接口簡(jiǎn)單易用, 已經(jīng)被廣泛使用在緩存序列化, 協(xié)議交互, Web輸出, Android客戶(hù)端等多種應(yīng)用場(chǎng)景
Cardslib 是早期由 Gabriele Mariotti 開(kāi)發(fā)的一個(gè)為開(kāi)發(fā)者方便實(shí)現(xiàn)各種 Card UI 的 Android 開(kāi)源代碼庫(kù), 后來(lái) Google 官方提供自己封裝了 CardView 在 v7 包下, 使用 Google 官方的可以完全替代了這個(gè)庫(kù), 因此這個(gè)也被棄用了
開(kāi)發(fā)者是廖祜秋, 這個(gè)是一個(gè)非常強(qiáng)大的下拉刷新庫(kù), 繼承 ViewGroup 可以包含任何 View, 功能甚至比 SwipeRefreshLayout 強(qiáng)大, 使用起來(lái)也非常容易, 還可以自由定制自己的 UI 樣式
greenDAO 是一個(gè)可以幫助 Android 開(kāi)發(fā)者快速將 Java 對(duì)象映射到 SQLite 數(shù)據(jù)庫(kù)的表單中的 ORM解決方案, 通過(guò)使用一個(gè)簡(jiǎn)單的面向?qū)ο?API, 開(kāi)發(fā)者可以對(duì) Java 對(duì)象進(jìn)行存儲(chǔ), 更新, 刪除和查詢(xún), greenDAO 相對(duì) OrmLite, AndrORM 這兩個(gè) ORM 開(kāi)源庫(kù), 性能是最高的
AndroidStaggeredGrid 是一個(gè)支持多列并且每一行的 item 大小不一, 交錯(cuò)排列的 GridView, 就是實(shí)現(xiàn)瀑布流樣式效果, 目前該庫(kù)已經(jīng)被棄用了, 開(kāi)發(fā)者建議我們使用 Google 官方控件 RecyleView 中的 StaggeredGridLayoutManager 布局來(lái)實(shí)現(xiàn)瀑布流效果
Otto 是 Square 公司出的一個(gè)事件庫(kù) (pub/sub 模式), 用來(lái)簡(jiǎn)化應(yīng)用程序組件之間的通訊, otto 修改自 Google 的 Guava 庫(kù), 專(zhuān)門(mén)為 Android 平臺(tái)進(jìn)行了優(yōu)化, 與上面介紹的 EventBus 相比, 兩個(gè)庫(kù)各有各的優(yōu)點(diǎn), 完全取決于我們自己項(xiàng)目的需求來(lái)選擇它們哪一個(gè)
xUtils 是一個(gè)快速開(kāi)發(fā)框架, 里面包含 DbUtils, ViewUtils, HttpUtils, BitmapUtils 四大模塊, 可用于快速開(kāi)發(fā), 支持大文件上傳, 擁有更加靈活的 ORM, 最低兼容 Android 2.2
Realm 一個(gè)輕量的 Android 版本的數(shù)據(jù)存儲(chǔ)庫(kù), 比 Android 原生系統(tǒng)的 SQLite 更加簡(jiǎn)潔快速對(duì)數(shù)據(jù)進(jìn)行操作
CleanArchitecture 是一個(gè)非常典型使用 MVP 架構(gòu)的項(xiàng)目, 大家如果還沒(méi)有理解 MVP 架構(gòu)的可以看看這個(gè)項(xiàng)目
StickyListHeaders 是一個(gè)實(shí)現(xiàn)能夠固定在屏幕頂部的ListView Section Header庫(kù), 就是當(dāng)前 section 的 header 固定在屏幕頂部, 當(dāng)滑動(dòng)到其他 section 時(shí), 其他 section 的 header 會(huì)代替之前的 section 的 header, 固定到屏幕頂部, 類(lèi)似于 Android4.0 的手機(jī)通訊錄的效果
AppIntro 是一個(gè)讓人輕松快速搭建漂亮酷炫的引導(dǎo)頁(yè)庫(kù)
ActiveAndroid 是采用Rails中的Active Record架構(gòu)模式設(shè)計(jì)的適用于 Android 平臺(tái)的輕量級(jí) ORM 架構(gòu), 幾乎可以不用寫(xiě)任何 SQL 代碼實(shí)現(xiàn)快速開(kāi)發(fā)
Volley 是谷歌官方開(kāi)發(fā)團(tuán)隊(duì)在 2013 年 Google I/O 大會(huì)推出的一個(gè)新的網(wǎng)絡(luò)通信框架, 這個(gè)框架把 AsyncHttpClient 和 Universal-Image-Loader 的優(yōu)點(diǎn)集于了一身,既可以像AsyncHttpClient 一樣非常簡(jiǎn)單地進(jìn)行 HTTP 通信,也可以像 Universal-Image-Loader 一樣輕松加載網(wǎng)絡(luò)上的圖片, 這個(gè)庫(kù)并不是官方的, 只是托管同步在 Maven, 官方只提供的 Jar 包
TwoWayView 是簡(jiǎn)化 RecyclerView 開(kāi)發(fā)的一個(gè)庫(kù), 可以在其 Base LayoutManager 基礎(chǔ)上構(gòu)建各種各樣的布局, 該庫(kù)內(nèi)置了幾個(gè)常用布局 List, Grid, Staggered Grid,Spannable Grid
ShowcaseView 是一個(gè)非常適合用于對(duì)用戶(hù)進(jìn)行第一次使用進(jìn)行指導(dǎo)的庫(kù),使用起來(lái)非常簡(jiǎn)單還可以自定義樣式
Calligraphy 是一個(gè)用來(lái)簡(jiǎn)化 Android 應(yīng)用使用自定義字體的類(lèi)庫(kù), 該類(lèi)庫(kù)會(huì)自動(dòng)查找應(yīng)用中的 TextView 并設(shè)置其使用的字體
NineOldAndroids 由 JakeWharton 大神開(kāi)發(fā)的一個(gè)向下兼容的動(dòng)畫(huà)庫(kù), 主要是使低于API 11的系統(tǒng)也能夠使用 View 的屬性動(dòng)畫(huà), 不過(guò)現(xiàn)在 JakeWharton 大神已經(jīng)不推薦使用該庫(kù), 而是推薦我們使用官方封裝在 Support 庫(kù)里面的動(dòng)畫(huà)
android-floating-action-button
FloatingActionButton 是一個(gè)懸浮操作按鈕, 官方在 Support Design 包下也有封裝一個(gè)類(lèi)似這個(gè)庫(kù)效果的 FloatingActionButton, 值得說(shuō)明的是這個(gè)庫(kù)是早在官方封裝之前就存在的, 個(gè)人感覺(jué)這個(gè)庫(kù)比官方那個(gè)更加好用
CircleImageView 是一個(gè)輕松幫你實(shí)現(xiàn)圓形效果 ImageView 圖片庫(kù), CircleImageView 是基于 ImageView 擴(kuò)展出來(lái), 因此它擁有 ImageView 控件所有屬性, 簡(jiǎn)單易用值得你使用的庫(kù)
Material 是將 Material Design 風(fēng)格控件封裝在該庫(kù)當(dāng)中, 目前封裝有Progress, Button, Switch, Slider, Spinner, Text Field, TabPageIndicator, SnackBar, Dialog, BottomSheetDialog, Dynamic theme
ActionBar-PullToRefresh 是一個(gè)下拉刷新, 下拉刷新時(shí)在 ActionBar 出現(xiàn)加載中提示的庫(kù)
又一個(gè)懸浮操作按鈕庫(kù), 該庫(kù)添加支持監(jiān)聽(tīng)滑滾動(dòng)事件, 當(dāng)向下滑時(shí)按鈕隱藏, 向上滑時(shí)按鈕顯示, 還有動(dòng)畫(huà)效果, 支持監(jiān)聽(tīng) ListView, ScrollView, RecylerView
AndroidAsync 是一款基于 NIO 的低端 Android 異步 socket, http (client+server), websocket 和 socket.io 網(wǎng)絡(luò)通信協(xié)議類(lèi)庫(kù)
Rebound 是 Facebook 推出的一個(gè)彈性動(dòng)畫(huà)庫(kù), 可以讓動(dòng)畫(huà)看起來(lái)真實(shí)自然, 像真實(shí)世界的物理運(yùn)動(dòng), 帶有力的效果, 使用的參數(shù)則是 Facebook 的 origami 中使用的
android-common-lib 是 Trinea 大神收集的一些開(kāi)發(fā)通用的緩存, 公共 View 以及一些常用工具類(lèi)
RippleEffect 是一個(gè)實(shí)現(xiàn)在 Android 任何組件點(diǎn)擊出現(xiàn) Material Design 的波紋效果, 向下兼容到 Android API9
SmoothProgressBar 是一個(gè)幫你的 App 方便實(shí)現(xiàn)可定制, 平滑動(dòng)畫(huà)的水平滾動(dòng)進(jìn)度條庫(kù)
RecyclerView Animators 是一個(gè)對(duì) Recycler 控件的 Item 添加以及刪除增加動(dòng)畫(huà)效果, 動(dòng)畫(huà)效果有Scale, Fade, Flip, Slide 里面各種各樣效果
一個(gè)帶進(jìn)度顯示的 Button, 效果和動(dòng)畫(huà)做的都非常贊
DroidPlugin 是 360 手機(jī)助手在 Android 系統(tǒng)上實(shí)現(xiàn)了一種新的插件機(jī)制: 它可以在無(wú)需安裝, 修改的情況下運(yùn)行APK文件, 此機(jī)制對(duì)改進(jìn)大型APP的架構(gòu), 實(shí)現(xiàn)多團(tuán)隊(duì)協(xié)作開(kāi)發(fā)具有一定的好處
開(kāi)發(fā)者是 singwhatiwanna(任玉剛), 是《Android 開(kāi)發(fā)藝術(shù)探索》書(shū)籍的作者, 這個(gè)是作者聯(lián)合另兩位開(kāi)發(fā)者嘯(時(shí)之沙)和宋思宇花了幾個(gè)月時(shí)間研究出來(lái)的 Apk 動(dòng)態(tài)加載框架, 想了解更多關(guān)于這框架可到作者博客看這篇文章有詳細(xì)介紹
ExoPlayer 是Google 開(kāi)發(fā)團(tuán)隊(duì)開(kāi)源出來(lái)的一個(gè)媒體播放庫(kù), 比 Android 框架原生的 MediaPlayer 擁有更多優(yōu)點(diǎn)支持動(dòng)態(tài)的自適應(yīng)流 HTTP(DASH) 和 平滑流, 支持高級(jí)的HLS特性, 支持自定義和擴(kuò)治你的使用場(chǎng)景等等
Crouton 是一個(gè)顯示提示信息的顯示工具類(lèi), 可以用來(lái)代替 Toast, 默認(rèn)顯示在窗口的頂部, 可以按隊(duì)列一個(gè)接著一個(gè)顯示, 不過(guò)該庫(kù)已經(jīng)被棄用, 不推薦使用
RoboSpice 是一個(gè)使你建立異步的長(zhǎng)時(shí)間的運(yùn)行任務(wù)異常輕松的一個(gè)網(wǎng)絡(luò)庫(kù)税课,在網(wǎng)絡(luò)請(qǐng)求讹躯,緩存支持址愿,和提供開(kāi)箱即用的 rest 請(qǐng)求方面尤為強(qiáng)大
Hugo 是 JakeWharton 大神推出的一個(gè)用于打印 Log, hugo 是基于注解被調(diào)用的, 引入相關(guān)依賴(lài)后, 在方法上加上 @DebugLog 即可輸出 Log, 使用非常簡(jiǎn)單
AsyncHttpClient 是又一款 Android 異步請(qǐng)求庫(kù), 該庫(kù)支持 WebSocket 協(xié)議, 使用起來(lái)也比較簡(jiǎn)單易用
UltimateRecyclerView 是一個(gè)功能強(qiáng)大的 RecyclerView(advanced and flexible version of ListView), 包括了下拉刷新, 加載更多, 多種動(dòng)畫(huà), 空數(shù)據(jù)提示, 拖動(dòng)排序, 視差處理, 工具欄漸變, 滑動(dòng)刪除, 自定義floating button, 多種刷新效果, scrollbar, sticky header, 多 layout 支持等等元素, 而且使用起來(lái)跟 RecyclerView 一樣的方便
MaterialEditText 是就職于 Flipboard 的員工扔物線(xiàn)開(kāi)發(fā)的, 在 AppCompat v21 中也提供了 Material Design 的控件 EditText, 可是由于比較難用, 沒(méi)有提供設(shè)置顏色的 Api, 于是就產(chǎn)生這個(gè)第三方庫(kù)
Side Menu 是Yalantis組織開(kāi)源出來(lái), 該組織因開(kāi)源出一些動(dòng)畫(huà)很棒的開(kāi)源庫(kù)為大家所熟知該庫(kù)是其中一個(gè), 該庫(kù)是提供翻頁(yè)動(dòng)畫(huà)效果的側(cè)邊菜單, 動(dòng)畫(huà)體驗(yàn)超贊的
DragSortListView 是一個(gè)可以實(shí)現(xiàn)拖動(dòng)排序, 滑動(dòng)刪除的 listview 控件, 注意的是作者對(duì)該庫(kù)已經(jīng)放棄維護(hù)更新了, 不過(guò)感興趣的人可以去研究一下
TimesSquare 是 Square 公司出品的一款顯示日歷選擇日期的控件, 可以讓用戶(hù)選擇多個(gè)日期
GreenDroid 是一個(gè)封裝好的 Android UI 界面庫(kù), 不過(guò)該庫(kù)已經(jīng)被棄用了, 不建議使用
Logger 是一個(gè)簡(jiǎn)單, 漂亮, 強(qiáng)大 Android 打印日志庫(kù)
Acra 是一個(gè)能夠讓 Android 應(yīng)用自動(dòng)將崩潰報(bào)告以谷歌文檔電子表的形式進(jìn)行發(fā)送的庫(kù), 旨在當(dāng)應(yīng)用發(fā)生崩潰或出現(xiàn)錯(cuò)誤行為時(shí), 開(kāi)發(fā)者可以獲取到相關(guān)數(shù)據(jù)
FadingActionBar 是一個(gè)支持 ListView, ScrollView, WebView 向下滾動(dòng)時(shí)逐漸顯示 ActionBar 庫(kù)
AndroidImageSlider 庫(kù)開(kāi)發(fā)者是代碼家, 該庫(kù)是為 Banner 圖片滑動(dòng)提供多種動(dòng)畫(huà)效果, 還可以輕易為 Banner 加載網(wǎng)絡(luò)圖片
SystemBarTint 是一個(gè)實(shí)現(xiàn)沉浸式狀態(tài)欄庫(kù), 適用于 Android 系統(tǒng) 4.4 其以上的版本
MenuDrawer 是一款滑出式菜單庫(kù), 通過(guò)拖動(dòng)屏幕邊緣滑出菜單, 支持屏幕上下左右劃出, 支持當(dāng)前 View 處于上下層, 支持 Windows 邊緣, ListView 邊緣, ViewPager 變化劃出菜單等
RoundedImageView 一個(gè)快速支持圖片圓角顯示效果的庫(kù), 該庫(kù)特點(diǎn)是能快速加載, 為了提高加載速度, 該庫(kù)不用創(chuàng)建原始位圖的副本, 不使用 clipPath, 不使用 setXfermode 裁剪的位圖等方式來(lái)實(shí)現(xiàn) ImageView 圓角, 使用也非常簡(jiǎn)單
Afinal 是一個(gè) android 的 sqlite orm 和 ioc 框架, 同時(shí)封裝了 android 中的 http 框架, 使其更加簡(jiǎn)單易用, 使用 finalBitmap, 無(wú)需考慮 bitmap 在 android 中加載的時(shí)候 oom 的問(wèn)題和快速滑動(dòng)的時(shí)候圖片加載位置錯(cuò)位等問(wèn)題, Afinal 的宗旨是簡(jiǎn)潔, 快速, 約定大于配置的方式, 盡量一行代碼完成所有事情
另一個(gè)下拉刷新庫(kù), 但是該庫(kù)已經(jīng)停止維護(hù), 因此不建議使用, 推薦使用Android-Ultra-Pull-To-Refresh
Bolts 是一款底層類(lèi)庫(kù)集合, 在后臺(tái)實(shí)現(xiàn)異步操作, 并提供接口反饋當(dāng)前異步執(zhí)行的程度 (可以通過(guò)接口實(shí)現(xiàn)UI進(jìn)度更新), 最后反饋執(zhí)行的結(jié)果給UI主線(xiàn)程, 與AsyncTask比較: (1)使用的是無(wú)大小限制的線(xiàn)程池; (2)任務(wù)可組合可級(jí)聯(lián),防止了代碼耦合
NumberProgressBar 開(kāi)發(fā)者是代碼家, 這是一個(gè)帶簡(jiǎn)約性感數(shù)字顯示的進(jìn)度條庫(kù), 使用非常簡(jiǎn)單方便
SwipeBackLayout 是一個(gè)支持屏幕上下左右滑動(dòng)返回上層 Activity, 關(guān)閉當(dāng)前 Activity, 類(lèi)似簡(jiǎn)書(shū) App
一個(gè)支持 gif 顯示的 view, 用 jni 實(shí)現(xiàn)的, 編譯生成 so 庫(kù)后直接 xml 定義 view 即可, 簡(jiǎn)單易用
Vitamio 是一款 Android 與 iOS 平臺(tái)上的全能多媒體開(kāi)發(fā)框架, 特點(diǎn):(1) 全面支持硬件解碼與 GPU 渲染, (2) 能夠流暢播放 720P 甚至 1080P 高清 MKV, FLV, MP4, MOV, TS, RMVB 等常見(jiàn)格式的視頻, (3) 在 Android 與 iOS 上跨平臺(tái)支持 MMS, RTSP, RTMP, HLS(m3u8)等常見(jiàn)的多種視頻流媒體協(xié)議, 包括點(diǎn)播與直播
SmartTabLayout 是一個(gè)自定義的 Tab title strip, 基于 Google Samples 中的 android-SlidingTabBasic 項(xiàng)目, 滑動(dòng)時(shí) Indicator 可平滑過(guò)渡
uCrop 是Yalantis組織開(kāi)源的圖片裁剪庫(kù), 支持縮放, 旋轉(zhuǎn)圖片, 支持各種比例的裁剪框, 非常強(qiáng)大的一個(gè)圖片裁剪庫(kù)
又一個(gè)圖片裁剪庫(kù), 向下兼容到 Api 10, 個(gè)人感覺(jué)這個(gè)庫(kù)并沒(méi)有比上面介紹的 uCrop 強(qiáng)大
HoloEveryWhere 是一套 Android 開(kāi)發(fā)庫(kù), 提供了全套 Holo Style 控件, 它的外觀與功能和標(biāo)準(zhǔn) Holo Style 控件基本相同, 唯一不同的是它可以運(yùn)行在低于 4.0 版本的 Android 系統(tǒng)上
AVLoadingIndicatorView 庫(kù)含有各種各樣漂亮的加載動(dòng)畫(huà)效果, 使用起來(lái)也非常簡(jiǎn)單, 和平時(shí)使用 ProgressBar 一樣
Android 版的 SweetAlert, 清新文藝, 快意靈動(dòng)的甜心彈框, 靈感來(lái)源于 JS 版SweetAlert
粗計(jì)
Square 公司占有 7 席
項(xiàng)目名稱(chēng)排名
Dagger29
Otto44
FaceBook 公司占有 4 席
項(xiàng)目名稱(chēng)排名
Fresco11
Stetho38
Rebound62
JakeWharton 大神占有 5 席
項(xiàng)目名稱(chēng)排名
Hugo73
代碼家大神占有 4 席
項(xiàng)目名稱(chēng)排名
感謝
感謝所有為開(kāi)源而辛辛苦苦付出努力的人, 相信有你們 Android 會(huì)發(fā)展的更加美好, 讓我們一起為他們辛辛苦苦付出的努力鼓掌吧!!