Android開源專案收集
現在 GitHub 上流行的開源庫極大地節省了開發者從 0 開發的時間,很多公司和個人都在 GitHub 上開源自己的專案,今天我們就來整理一下 Android 開發中一些非常流行的庫,也是我們必須掌握的,這樣可以使我們在使用到時快速的查詢到。
一、網路庫
1. Retrofit
Retrofit 是 Square 公司研發的網路請求庫,也是目前 Android 最流行的 HttpClient 庫之一,越來越多的公司開始使用這個請求庫,並且可以完美結合 RxJava,就像官網介紹的一樣,Retrofit 是一款型別安全的網路框架,基於 HTTP 協議,服務於 Android 和 Java 語言
GitHub 地址:Retrofit GitHub 地址
2. okhttp
同樣 okhttp 也是 Square 公司研發的網路請求庫,是一款基於 HTTP 和 HTTP2.0 協議的網路框架,服務於 Java 和 Android 客戶端,okhttp 以 21K 的 stars 排在 GitHub 中 android 子標題的第二名,很多公司都在使用,從 Retrofit 2.0 開始內建 okhttp 框架,Retrofit 專注封裝介面完成業務需求,okhttp 專注網路請求的高效安全
GitHub 地址:okhttp GitHub 地址
3. volley
Google 的 Andorid 開發團隊也意識到有必要將 HTTP 的通訊操作再進行簡化,於是在 2013 年度的 Google I/O 大會上推出了一個新的網路通訊框架—Volley,Volley 在效能方面進行了大幅度的調整,它是設計目標是適合進行資料量不大,但通訊頻繁的網路操作,對於資料量大的網路操作就會表現糟糕
GitHub 地址:volley GitHub 地址
網路方面的庫我們就介紹上面主要用到的 3 個
二、圖片載入庫
在 Android 裝置上面,快速高效的顯示圖片是極為重要的,在過去的很長時間裡,我們在如何高效的儲存影象這方面遇到了很多問題,例如圖片太大,但是記憶體卻比較小,但是越來越多優秀開源框架的使用解決了我們這方面的問題,接下來我們來看看這些優秀的開源框架
1. glide
在泰國舉行的谷歌開發者論壇上,谷歌為我們介紹了一個名叫 glide 的圖片載入框架,作者是 bumptech 這個庫被廣泛的應用在 Google 開源的專案中,包括 2014 年 Google I/O 大會上釋出的官方 App
GitHub 地址:Glide GitHub 地址
2. fresco
一款管理圖片記憶體的方案,是目前最強大的圖片載入框架之一,facebook 的出身證明了它不是重複的製造輪子,在管理圖片的記憶體上以及漸進式載入、載入 gif 都具有獨有特性
GitHub 地址:Fresco GitHub 地址
3. picasso
非常強大的圖片下載、快取框架,picasso 更強調的是圖片的下載,更重要的是這也是 square 團隊的作品,想必提到 square 團隊,它出片的東西我們還是非常的放心使用
GitHub 地址:picasso GitHub 地址
4. Android-Universal-Image-Loader
看到這個,想必有一定經驗的 Android 開發者都會非常的熟悉,曾經的圖片載入之王當之無愧,15.4k 的 stars 足以證明它的熱門,與 glide 不同的是 UIL 提供了大量的配置方式,圖片載入狀態的回撥,載入動畫等,以及提供了移動端圖片載入框架的快取思路,三級快取策略等
GitHub 地址:UIL GitHub 地址
5. PhotoView
一款 ImageView 展示框架,支援縮放,響應手勢,位於圖片排行榜的第五位,PhotoView 與上面不同的是圖片的展示功能,可以實現類似微信頭像的放大功能,還有就是很多 App 的圖片顯示響應手勢按壓式如何是現實的,這裡 PhotoView 將都可以輕鬆實現
GitHub 地址:PhotoView GitHub 地址
6. CircleImageView
圓角 ImageView,在我們的 App 中這個想必是太常見了,也許我們可以有無數種展示圓角圖片的方法,但是 CircleImageView 絕對是我們在開發時需要優先考慮的,如果你還不知道 CircleImageView,那麼你需要趕快去體驗它在處理圓角圖片時的強大了,相信你肯定會覺得和 CircleImageView 相見恨晚,需要注意的是這個並不是圖片載入庫,暫且歸類放在這裡
GitHub 地址:CircleImageView GitHub 地址
關於圖片載入庫我們就介紹這 6 個,大家可以根據自己的特定情況來選擇使用
三、UI
1. material-dialogs
是一款自定義View框架,如多你還是一個自定義 View 的新人,對 Dialog 使用還有點生疏,那麼通過使用 material-dialogs 可以提升你的 Dilaog 使用能力
GitHub 地址:material-dialogs GitHub 地址
2. flexbox-layout
是一款彈性伸縮佈局,FlexboxLayout 作為 LinearLayout 和 RelativeLayout 的替代者,值得大家在專案開發中去嘗試使用,畢竟是 Google 出品
GitHub 地址:flexbox-layout GitHub 地址
3. AndroidSwipeLayout
非常強大的滑動式佈局,滑動刪除是我們 app 中的常見需求,商品詳情的上下滑動需求在實際開發中我們也是經常遇到,AndroidSwipeLayout 在 GitHub 上有 8300 個 stars,證明還是值得使用
GitHub 地址:AndroidSwipeLayout GitHub 地址
4. BaseRecyclerViewAdapterHelper
強大的通用 RecyclerView 介面卡,在 GitHub Android 介面卡排行榜第一
GitHub 地址:BaseRecyclerViewAdapterHelper GitHub 地址
5. MaterialDrawer
強大的材料風格的抽屜框架,非常靈活,易於使用
GitHub 地址:MaterialDrawer GitHub 地址
6. Android-ObservableScrollView
一款讓檢視滑動更具有視覺效果的滑動式框架,在 GitHub 上提供了 12 種滑動效果,可以用來提升 App 的滑動體驗
GitHub 地址:Android-ObservableScrollView GitHub 地址
7. AppIntro
一款提供快速製作歡迎頁的框架,在國內的 App 開發中,ViewPager 開發 App 的歡迎頁已經是標配的需求,但是 AppIntro 也是絕對值得你一看
GitHub 地址:AppIntro GitHub 地址
8. ViewPagerIndicator
一款基於 ViewPager 的頁面指示器開源框架,作者是 Android 大神 JakeWharton,只是已經很長時間沒有更新了,大家可以參考使用
GitHub 地址:ViewPagerIndicator GitHub 地址
好了 UI 相關的庫就介紹這麼多,以後發現好用的會新增進來,方便查閱
四、動畫
1. lottie-android
動畫類框架排行榜第一名,一款可以在 Android 端快速展示 Adobe Afeter Effect(AE) 工具所做動畫的框架,利用 json 文 件快速實現動畫效果是它最大的便利,而這個 json 檔案也是由 Adobe 提供的 AE 工具製作的,在 AE 中裝一個 Bodymovin 的外掛,使用這個外掛最終將動畫效果生成 json 檔案,這個 json 檔案即可由 LottieAnimationView 解析並生成絢麗的動畫效果,而且它還支援跨平臺
GitHub 地址:lottie-android GitHub 地址
2. Material-Animations
一款提供場景轉換過渡能力的動畫框架,與 lottie-android 不同的是,Material-Animations 提供的是場景切換的動畫效果
GitHub 地址:Material-Animations GitHub 地址
3. AndroidViewAnimations
一款提供可愛動畫集的動畫框架,在 lottie-android 和 Material-Animations 兩個動畫框架霸主之後排名第三,可見也是非常厲害
GitHub 地址:AndoridViewAnimations GitHub 地址
4. recyclerview-animators
為 recyclerview 提供擴充套件動畫的框架,recyclerview 已經推出了很長時間,如果你還在使用 ListView,那就說明你老了
GitHub 地址:recyclerview-animators GitHub 地址
五、json 解析框架
1. fastjson
一款基於 json 解析、生成的框架,是阿里出品,這就保證了程式碼的質量,在網路請求時使用較多,值得嘗試
GitHub 地址:fastjson GitHub 地址
六、記憶體洩露檢測
1. leakcanary
一款記憶體檢測框架,服務於 Java 和 Andorid 客戶端,方便簡潔是 leakcanary 最大的特點,只需要在應用的 apllication 中整合,就可以直接使用它,15.9k 的 stars 足夠說明它的厲害,最關鍵是是,它也是 square 團隊的作品,就這一條,不用說相信大家也都明白
GitHub 地址:leakcanary GitHub 地址
七、頁面路由
1. ARouter
一款提供服務、頁面跳轉的路由框架,由阿里出品,該框架提供:從外部 URL 對映到內部頁面、跨模組的頁面跳轉(模組化必備,頁面解耦),攔截跳轉過程等能力,絕對是一個企業級的開發框架
GitHub 地址:ARouter GitHub 地址
八、資料庫框架
1. realm-java
Realm 是一款專門為移動端打造的資料庫框架,比普通的資料庫更快,力壓 greenDAO
GitHub 地址:Realm GitHub 地址
2. greenDAO
greenDAO 是一款高效、快速的 SQLite 型資料庫,star 數量和 Realm 不相上下,由 greenrobot 團隊開發維護,此團隊還有一個很牛的框架便是 EventBus
GitHub 地址:greenDAO GitHub 地址
九、非同步
1. RxJava
RxJava 是 ReactiveExtensions 的 Java VM 實現:用於通過使用 observable 序列來組合非同步和基於事件程式的庫,它擴充套件觀察者模式以支援資料/事件序列,並新增允許你以宣告組合序列的操作符,同時提取對低階執行緒、同步、執行緒安全性和併發資料結構等問題的隱藏
GitHub 地址:RxJava GitHub 地址
2. RxAndroid
一款 Android 客戶端元件間非同步通訊框架,位於通訊框架排行榜的第二名,僅在 EventBus 之後,兩者的區別是 EventBus 是用來取代元件之間繁瑣的 Interface,而 RxAndroid 是用來取代 AnsyTask 的,兩者並不衝突
GitHub 地址:RxAndroid GitHub 地址
3. agera
Agera 是一組類和介面,可以幫組編寫 Android 的功能,非同步和無效應用程式,需要 Android SDK 版本 9 或更高,是 Google 官方出品
GitHub 地址:Agera GitHub 地址
4. RxBinding
一款提供 UI 元件事件響應能力的框架,通過 RxBinding 可以理解響應式程式設計的快樂,讓專案的事件流程更加的清晰
GitHub 地址:RxBinding GitHub 地址
十、事件訊息
1. EventBus
事件間通訊框架 stars 第一,在大型專案的 Activities、Fragments、Threads、Services 都有使用場景,儘管 EventBus 在向未建立的元件傳遞事件時有些侷限,僅適合在活著的元件之間傳遞訊息,但任然不妨礙在各個大型專案的場景中使用
GitHub 地址:EventBus GitHub 地址
十一、圖表
1. MPAndroidChart
MPAndroidChart 是一款圖表框架,以快速、簡潔,強大著稱的圖表框架,支援線條、餅型、氣泡和燭臺圖,以及縮放、拖動和動畫
GitHub 地址:MPAndroidChart GitHub 地址
十二、生成模板程式碼
1. butterknife
使用註解生成模板程式碼,將 view 與方法和引數繫結,配合 Android Studio 提供的 ButterKnife 外掛,幫組開發者省卻了頻繁的 findViewById 的煩惱,最新的 ButterKnife 還提供了 onclick 繫結以及字串的初始化,初學者可以查閱 ButterKnife 以及 ButterKnife 進一步學習,作者是 JakeWharton,是大名鼎鼎的 square 的團隊成員之一
GitHub 地址:butterknife GitHub 地址
軟體名:gaeproxy
軟體作用:Android手機配置GoAgent翻牆。
專案地址:https://github.com/madeye/gaeproxy.git
軟體名:ProxyDroid
軟體作用:Global Proxy App for Android System
專案地址:https://github.com/madeye/proxydroid.git
軟體名:dbartists
軟體作用:Douban Artists Third-party Android Client
專案地址:https://github.com/madeye/dbartists.git
軟體名:droidwall
軟體作用:Android手機防火牆
專案地址:https://github.com/abeluck/droidwall.git
軟體名:android-ffmpeg
軟體作用:a system for building custom ffmpeg binaries for Android
專案地址:https://github.com/abeluck/android-ffmpeg.git
軟體名:gnupg-for-android
軟體作用:A port of gnupg to Android
專案地址:https://github.com/abeluck/gnupg-for-android.git
軟體名:keepassdroid
軟體作用:KeePass implementation for android。http://www.keepassdroid.com
專案地址:https://github.com/bpellin/keepassdroid.git
軟體名:Superuser
軟體作用:Android superuser permissions app
專案地址:https://github.com/ChainsDD/Superuser.git
相關推薦
Android開源專案收集
現在 GitHub 上流行的開源庫極大地節省了開發者從 0 開發的時間,很多公司和個人都在 GitHub 上開源自己的專案,今天我們就來整理一下 Android 開發中一些非常流行的庫,也是我們必須掌握的,這樣可以使我們在使用到時快速的查詢到。 一、
Android G開源專案收集
1.Android 開源專案分類彙總 這個可真稱得上大全了 2.AndroidUtilCode 常用工具類大全 RxTool Android開發人員不得不收集的工具類集合 | 支付寶支付 | 微信支付(統一下單) | 微信分享 | Zip4j壓縮(支援分卷壓縮與
Android開源專案地址
菜鳥新聞 菜鳥新聞 客戶端是一個仿照36Kr官方,實 時抓取36Kr官網資料的資訊類新聞客戶端。 包括首頁新聞,詳情,發現,活動,實時資料抓取,側滑效果,第三方登入以及分享,訊息推送等相關功能客戶端。 專案原始碼下載地址:https://gi
[轉]Android 開源專案分類彙總
Android 開源專案分類彙總,更全更新可見 codekk.com Other: English Version, 繁體版, Website Version. 我們的微信公眾號:codekk。二維碼如下: 專注於 Android 開源分享、原始碼解析、框架設計、Andr
Android開源專案及庫彙總
Awesome-MaterialDesign - MaterialDesignCenter改名為Awesome-MaterialDesign,優化了佈局,新增了不少庫。 ChipsLibrary - 在Android EditText中實現打Tag功能。 ObservableScrollView
【開源】Android開源專案:始終
介,,介紹 內個什麼,這是一個 Android 平臺的 APP,專案基於 RxAndroid+Retrofit+Glide 開發,使用MVP架構(好像大家都喜歡這麼寫…)。 最近經濟什麼的不太好大家都知
github上的優秀android開源專案
菜鳥新聞 菜鳥新聞 客戶端是一個仿照36Kr官方,實 時抓取36Kr官網資料的資訊類新聞客戶端。 包括首頁新聞,詳情,發現,活動,實時資料抓取,側滑效果,第三方登入以及分享,訊息推送等相關功能客戶端。 執行截圖:
酷炫的Android開源專案
抽屜選單 MaterialDrawer ★7337 - 安卓抽屜效果實現方案 Side-Menu.Android ★3865 - 創意邊側選單 FlowingDrawer ★1744 - 向右滑動流
使用Gradle釋出Android開源專案到JCenter
喜歡做些開源專案的朋友,相信有不少人都希望能把自己的專案釋出到公共的中央倉庫,如maven中央倉庫,以供別人方便地整合使用。而使用了Android Studio的同學,應該也對gradle和jcenter印象深刻,不少開源庫都是釋出到這裡的。這一篇就主要來介紹一下,如何使用
GitHub“最受歡迎的開源專案” TOP 50 android開源專案 直接拿來用
GitHub在中國的火爆程度無需多言,越來越多的開源專案遷移到GitHub平臺上。更何況,基於不要重複造輪子的原則,瞭解當下比較流行的Android與iOS開源專案很是必要。利用這些專案,有時能夠讓你達到事半功倍的效果。為此,CSDN特整理了在GitHub平臺上最受歡迎的Android及iOS開源專案,以
【Android開源專案解析】QQ“一鍵下班”功能實現解析——學習Path及貝塞爾曲線的基本使用
早在很久很久以前,QQ就實現了“一鍵下班”功能。何為“一鍵下班”?當你QQ有資訊時,下部會有資訊數量提示紅點,點選拖動之後,就會出現“一鍵下班”效果。本文將結合github上關於此功能的一個簡單實現,介紹這個功能的基本實現思路。 專案地址
GitHub上最火的Android開源專案
摘要:截至目前,在GitHub“最受歡迎的開源專案”系列文章中我們已介紹了40個Android開源專案,對於如此眾多的專案,你是Mark、和碼友分享經驗還是慨嘆“活到老要學到老”?今天我們將繼續介紹另外34個Android開源專案。 此前,CSDN移動頻道推出的GitHu
GitHub 優秀的 Android 開源專案
SwipeListView是一個Android List View實現,實現了自定義ListView單元格,可通過滑動來顯示擴充套件面板。開發者可直接登陸Google Play下載安裝其Demo應用。 greenDAO是一個可以幫助Android開發者快速將Java物件對映到SQLite資
Android 開源專案
android地圖應用(路徑規劃,地理編碼,公交查詢,活動軌跡)http://download.csdn.net/detail/zillvip/9126691 仿QQ5.0-側滑選單(非常經典值得學習) http://download.csdn.net/detail/zil
android開源專案---RoundedImageView製作圓角矩形,橢圓形以其圓形控制元件
一、專案概述 在專案中美工提供給我們的圖片通常是矩形的,我們如何把矩形的圖片做成圓角矩形、橢圓形以其圓形效果的圖形顯示效果,這就是我這篇文章要講的內容。 效果如下: 我這裡使用的是開源專案 RoundedImageView 二、搭建RoundedImageVi
Android 開源專案分類彙總
Trinea發起的,向這個人致敬!網上有許多開源元件可以下載,但是有原始碼分析的卻不多,反正我沒見過,很感謝這些達人,提供這些珍貴的資料!目前包括:第一部分 個性化控制元件(View)主要介紹那些不錯個性化的 View,包括 ListView、ActionBar、Menu、V
Android 第三方庫--2017年Android開源專案及庫彙總
Awesome-MaterialDesign - MaterialDesignCenter改名為Awesome-MaterialDesign,優化了佈局,新增了不少庫。 ChipsLibrary - 在Android EditText中實現打Tag功能。 ObservableScrollView
【Android開源專案分析】android輕量級開源快取框架——ASimpleCache(ACache)原始碼分析
ASimpleCache框架原始碼連結 官方介紹 ASimpleCache 是一個為android制定的 輕量級的 開源快取框架。輕量到只有一個java檔案(由十幾個類精簡而來)。 1、它可以快取什麼東西? 普通的字串、J
GitHub 優秀的 Android 開源專案——轉自多篇網路文章
SwipeListView是一個Android List View實現,實現了自定義ListView單元格,可通過滑動來顯示擴充套件面板。開發者可直接登陸Google Play下載安裝其Demo應用。 greenDAO是一個可以幫助Android開發者快速將Java物件對映到SQLite資
Android開源專案(一)音樂播放器
作為一個有追求的程式設計師來說,專案原始碼必須看,但是網上那麼多資源是不讓你無從下手啊,博主今天為大家推薦五個經典專案吧。 一、android-UniversalMusicPlayer 這個開源專案展示瞭如何實現一個橫跨各種Android平臺的音樂播放器,包括手機,平板,汽車,手錶,電視等。 架構: