自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android GitHub 常用開(kāi)源框架匯總

移動(dòng)開(kāi)發(fā) Android
現(xiàn)在 GitHub 上流行的開(kāi)源庫(kù)極大地節(jié)省了開(kāi)發(fā)者從 0 開(kāi)發(fā)的時(shí)間,很多公司和個(gè)人都在 GitHub 上開(kāi)源自己的項(xiàng)目,今天我們就來(lái)整理一下 Android 開(kāi)發(fā)中一些非常流行的庫(kù),也是我們必須掌握的,這樣可以使我們?cè)谑褂玫綍r(shí)快速的查找到,這里的總結(jié)基本也都是自己在開(kāi)發(fā)中用到的。

現(xiàn)在 GitHub 上流行的開(kāi)源庫(kù)極大地節(jié)省了開(kāi)發(fā)者從 0 開(kāi)發(fā)的時(shí)間,很多公司和個(gè)人都在 GitHub 上開(kāi)源自己的項(xiàng)目,今天我們就來(lái)整理一下 Android 開(kāi)發(fā)中一些非常流行的庫(kù),也是我們必須掌握的,這樣可以使我們?cè)谑褂玫綍r(shí)快速的查找到,這里的總結(jié)基本也都是自己在開(kāi)發(fā)中用到的,也就是一些個(gè)人的見(jiàn)解,只做參考,不具有權(quán)威性。

Android GitHub 常用開(kāi)源框架匯總

一、網(wǎng)絡(luò)庫(kù)

1. Retrofit

Retrofit 是 Square 公司研發(fā)的網(wǎng)絡(luò)請(qǐng)求庫(kù),也是目前 Android ***的 HttpClient 庫(kù)之一,越來(lái)越多的公司開(kāi)始使用這個(gè)請(qǐng)求庫(kù),并且可以***結(jié)合 RxJava,就像官網(wǎng)介紹的一樣,Retrofit 是一款類型安全的網(wǎng)絡(luò)框架,基于 HTTP 協(xié)議,服務(wù)于 Android 和 Java 語(yǔ)言。

GitHub 地址:Retrofit GitHub 地址

2. okhttp

同樣 okhttp 也是 Square 公司研發(fā)的網(wǎng)絡(luò)請(qǐng)求庫(kù),是一款基于 HTTP 和 HTTP2.0 協(xié)議的網(wǎng)絡(luò)框架,服務(wù)于 Java 和 Android 客戶端,okhttp 以 21K 的 stars 排在 GitHub 中 android 子標(biāo)題的第二名,很多公司都在使用,從 Retrofit 2.0 開(kāi)始內(nèi)置 okhttp 框架,Retrofit 專注封裝接口完成業(yè)務(wù)需求,okhttp 專注網(wǎng)絡(luò)請(qǐng)求的高效安全。

3. volley

Google 的 Andorid 開(kāi)發(fā)團(tuán)隊(duì)也意識(shí)到有必要將 HTTP 的通信操作再進(jìn)行簡(jiǎn)化,于是在 2013 年度的 Google I/O 大會(huì)上推出了一個(gè)新的網(wǎng)絡(luò)通信框架—Volley,Volley 在性能方面進(jìn)行了大幅度的調(diào)整,它是設(shè)計(jì)目標(biāo)是適合進(jìn)行數(shù)據(jù)量不大,但通信頻繁的網(wǎng)絡(luò)操作,對(duì)于數(shù)據(jù)量大的網(wǎng)絡(luò)操作就會(huì)表現(xiàn)糟糕。

GitHub 地址:volley GitHub 地址

4. Fast Android Networking

基于OkHttp的Fast Android Networking能讓網(wǎng)絡(luò)通信變得簡(jiǎn)潔(不用樣板代碼),使得開(kāi)發(fā)者能輕易寫出通信代碼。它是一個(gè)輕量級(jí)的快速網(wǎng)絡(luò)通信庫(kù)。試試看,你會(huì)愛(ài)上它。

GitHub 地址:FastAndroidNetworking GitHub 地址

二、圖片加載庫(kù)

在 Android 設(shè)備上面,快速高效的顯示圖片是極為重要的,在過(guò)去的很長(zhǎng)時(shí)間里,我們?cè)谌绾胃咝У拇鎯?chǔ)圖像這方面遇到了很多問(wèn)題,例如圖片太大,但是內(nèi)存卻比較小,但是越來(lái)越多優(yōu)秀開(kāi)源框架的使用解決了我們這方面的問(wèn)題,接下來(lái)我們來(lái)看看這些優(yōu)秀的開(kāi)源框架。

1. glide

在泰國(guó)舉行的谷歌開(kāi)發(fā)者論壇上,谷歌為我們介紹了一個(gè)名叫 glide 的圖片加載框架,作者是 bumptech 這個(gè)庫(kù)被廣泛的應(yīng)用在 Google 開(kāi)源的項(xiàng)目中,包括 2014 年 Google I/O 大會(huì)上發(fā)布的官方 App。

GitHub 地址:Glide GitHub 地址

2. fresco

一款管理圖片內(nèi)存的方案,是目前***大的圖片加載框架之一,facebook 的出身證明了它不是重復(fù)的制造輪子,在管理圖片的內(nèi)存上以及漸進(jìn)式加載、加載 gif 都具有獨(dú)有特性。

GitHub 地址:Fresco GitHub 地址

3. picasso

非常強(qiáng)大的圖片下載、緩存框架,picasso 更強(qiáng)調(diào)的是圖片的下載,更重要的是這也是 square 團(tuán)隊(duì)的作品,想必提到 square 團(tuán)隊(duì),它出片的東西我們還是非常的放心使用。

GitHub 地址:picasso GitHub 地址

4. Android-Universal-Image-Loader

看到這個(gè),想必有一定經(jīng)驗(yàn)的 Android 開(kāi)發(fā)者都會(huì)非常的熟悉,曾經(jīng)的圖片加載之王當(dāng)之無(wú)愧,15.4k 的 stars 足以證明它的熱門,與 glide 不同的是 UIL 提供了大量的配置方式,圖片加載狀態(tài)的回調(diào),加載動(dòng)畫等,以及提供了移動(dòng)端圖片加載框架的緩存思路,三級(jí)緩存策略等。

GitHub 地址:UIL GitHub 地址

5. PhotoView

一款 ImageView 展示框架,支持縮放,響應(yīng)手勢(shì),位于圖片排行榜的第五位,PhotoView 與上面不同的是圖片的展示功能,可以實(shí)現(xiàn)類似微信頭像的放大功能,還有就是很多 App 的圖片顯示響應(yīng)手勢(shì)按壓式如何是現(xiàn)實(shí)的,這里 PhotoView 將都可以輕松實(shí)現(xiàn)。

GitHub 地址:PhotoView GitHub 地址

6. CircleImageView

圓角 ImageView,在我們的 App 中這個(gè)想必是太常見(jiàn)了,也許我們可以有無(wú)數(shù)種展示圓角圖片的方法,但是 CircleImageView 絕對(duì)是我們?cè)陂_(kāi)發(fā)時(shí)需要優(yōu)先考慮的,如果你還不知道 CircleImageView,那么你需要趕快去體驗(yàn)它在處理圓角圖片時(shí)的強(qiáng)大了,相信你肯定會(huì)覺(jué)得和 CircleImageView 相見(jiàn)恨晚,需要注意的是這個(gè)并不是圖片加載庫(kù),暫且歸類放在這里。

GitHub 地址:CircleImageView GitHub 地址

關(guān)于圖片加載庫(kù)我們就介紹這 6 個(gè),大家可以根據(jù)自己的特定情況來(lái)選擇使用。

三、UI

1. material-dialogs

是一款自定義View框架,如多你還是一個(gè)自定義 View 的新人,對(duì) Dialog 使用還有點(diǎn)生疏,那么通過(guò)使用 material-dialogs 可以提升你的 Dilaog 使用能力。

GitHub 地址:material-dialogs GitHub 地址

2. flexbox-layout

是一款彈性伸縮布局,F(xiàn)lexboxLayout 作為 LinearLayout 和 RelativeLayout 的替代者,值得大家在項(xiàng)目開(kāi)發(fā)中去嘗試使用,畢竟是 Google 出品。

GitHub 地址:flexbox-layout GitHub 地址

3. AndroidSwipeLayout

非常強(qiáng)大的滑動(dòng)式布局,滑動(dòng)刪除是我們 app 中的常見(jiàn)需求,商品詳情的上下滑動(dòng)需求在實(shí)際開(kāi)發(fā)中我們也是經(jīng)常遇到,AndroidSwipeLayout 在 GitHub 上有 8300 個(gè) stars,證明還是值得使用。

GitHub 地址:AndroidSwipeLayout GitHub 地址

4. BaseRecyclerViewAdapterHelper

強(qiáng)大的通用 RecyclerView 適配器,在 GitHub Android 適配器排行榜***。

GitHub 地址:BaseRecyclerViewAdapterHelper GitHub 地址

5. MaterialDrawer

強(qiáng)大的材料風(fēng)格的抽屜框架,非常靈活,易于使用。

GitHub 地址:MaterialDrawer GitHub 地址

6. Android-ObservableScrollView

一款讓視圖滑動(dòng)更具有視覺(jué)效果的滑動(dòng)式框架,在 GitHub 上提供了 12 種滑動(dòng)效果,可以用來(lái)提升 App 的滑動(dòng)體驗(yàn)。

GitHub 地址:Android-ObservableScrollView GitHub 地址

7. AppIntro

一款提供快速制作歡迎頁(yè)的框架,在國(guó)內(nèi)的 App 開(kāi)發(fā)中,ViewPager 開(kāi)發(fā) App 的歡迎頁(yè)已經(jīng)是標(biāo)配的需求,但是 AppIntro 也是絕對(duì)值得你一看。

GitHub 地址:AppIntro GitHub 地址

8. ViewPagerIndicator

一款基于 ViewPager 的頁(yè)面指示器開(kāi)源框架,作者是 Android 大神 JakeWharton,只是已經(jīng)很長(zhǎng)時(shí)間沒(méi)有更新了,大家可以參考使用。

GitHub 地址:ViewPagerIndicator GitHub 地址

好了 UI 相關(guān)的庫(kù)就介紹這么多,以后發(fā)現(xiàn)好用的會(huì)添加進(jìn)來(lái),方便查閱。

四、動(dòng)畫

1. lottie-android

動(dòng)畫類框架排行榜***名,一款可以在 Android 端快速展示 Adobe Afeter Effect(AE) 工具所做動(dòng)畫的框架,利用 json 文 件快速實(shí)現(xiàn)動(dòng)畫效果是它***的便利,而這個(gè) json 文件也是由 Adobe 提供的 AE 工具制作的,在 AE 中裝一個(gè) Bodymovin 的插件,使用這個(gè)插件最終將動(dòng)畫效果生成 json 文件,這個(gè) json 文件即可由 LottieAnimationView 解析并生成絢麗的動(dòng)畫效果,而且它還支持跨平臺(tái)。

GitHub 地址:lottie-android GitHub 地址

2. Material-Animations

一款提供場(chǎng)景轉(zhuǎn)換過(guò)渡能力的動(dòng)畫框架,與 lottie-android 不同的是,Material-Animations 提供的是場(chǎng)景切換的動(dòng)畫效果。

GitHub 地址:Material-Animations GitHub 地址

3. AndroidViewAnimations

一款提供可愛(ài)動(dòng)畫集的動(dòng)畫框架,在 lottie-android 和 Material-Animations 兩個(gè)動(dòng)畫框架霸主之后排名第三,可見(jiàn)也是非常厲害。

GitHub 地址:AndoridViewAnimations GitHub 地址

4. recyclerview-animators

為 recyclerview 提供擴(kuò)展動(dòng)畫的框架,recyclerview 已經(jīng)推出了很長(zhǎng)時(shí)間,如果你還在使用 ListView,那就說(shuō)明你老了。

GitHub 地址:recyclerview-animators GitHub 地址

五、json 解析框架

1. fastjson

一款基于 json 解析、生成的框架,是阿里出品,這就保證了代碼的質(zhì)量,在網(wǎng)絡(luò)請(qǐng)求時(shí)使用較多,值得嘗試。

GitHub 地址:fastjson GitHub 地址

2. GSON

一個(gè)提供Java對(duì)象序列化/反序列化至JSON格式的庫(kù)。

GitHub 地址:gson GitHub 地址

六、內(nèi)存泄露檢測(cè)

1. leakcanary

一款內(nèi)存檢測(cè)框架,服務(wù)于 Java 和 Andorid 客戶端,方便簡(jiǎn)潔是 leakcanary ***的特點(diǎn),只需要在應(yīng)用的 apllication 中集成,就可以直接使用它,15.9k 的 stars 足夠說(shuō)明它的厲害,最關(guān)鍵是是,它也是 square 團(tuán)隊(duì)的作品,就這一條,不用說(shuō)相信大家也都明白。

GitHub 地址:leakcanary GitHub 地址

七、頁(yè)面路由

1. ARouter

一款提供服務(wù)、頁(yè)面跳轉(zhuǎn)的路由框架,由阿里出品,該框架提供:從外部 URL 映射到內(nèi)部頁(yè)面、跨模塊的頁(yè)面跳轉(zhuǎn)(模塊化必備,頁(yè)面解耦),攔截跳轉(zhuǎn)過(guò)程等能力,絕對(duì)是一個(gè)企業(yè)級(jí)的開(kāi)發(fā)框架。

GitHub 地址:ARouter GitHub 地址

八、數(shù)據(jù)庫(kù)框架

1. realm-java

Realm 是一款專門為移動(dòng)端打造的數(shù)據(jù)庫(kù)框架,比普通的數(shù)據(jù)庫(kù)更快,力壓 greenDAO。

GitHub 地址:Realm GitHub 地址

2. greenDAO

greenDAO 是一款高效、快速的 SQLite 型數(shù)據(jù)庫(kù),star 數(shù)量和 Realm 不相上下,由 greenrobot 團(tuán)隊(duì)開(kāi)發(fā)維護(hù),此團(tuán)隊(duì)還有一個(gè)很牛的框架便是 EventBus。

GitHub 地址:greenDAO GitHub 地址

九、異步

1. RxJava

RxJava 是 ReactiveExtensions 的 Java VM 實(shí)現(xiàn):用于通過(guò)使用 observable 序列來(lái)組合異步和基于事件程序的庫(kù),它擴(kuò)展觀察者模式以支持?jǐn)?shù)據(jù)/事件序列,并添加允許你以聲明組合序列的操作符,同時(shí)提取對(duì)低級(jí)線程、同步、線程安全性和并發(fā)數(shù)據(jù)結(jié)構(gòu)等問(wèn)題的隱藏。

GitHub 地址:RxJava GitHub 地址

2. RxAndroid

一款 Android 客戶端組件間異步通信框架,位于通信框架排行榜的第二名,僅在 EventBus 之后,兩者的區(qū)別是 EventBus 是用來(lái)取代組件之間繁瑣的 Interface,而 RxAndroid 是用來(lái)取代 AnsyTask 的,兩者并不沖突。

GitHub 地址:RxAndroid GitHub 地址

3. agera

Agera 是一組類和接口,可以幫組編寫 Android 的功能,異步和無(wú)效應(yīng)用程序,需要 Android SDK 版本 9 或更高,是 Google 官方出品。

GitHub 地址:Agera GitHub 地址

4. RxBinding

一款提供 UI 組件事件響應(yīng)能力的框架,通過(guò) RxBinding 可以理解響應(yīng)式編程的快樂(lè),讓項(xiàng)目的事件流程更加的清晰。

GitHub 地址:RxBinding GitHub 地址

十、事件消息

1. EventBus

事件間通信框架 stars ***,在大型項(xiàng)目的 Activities、Fragments、Threads、Services 都有使用場(chǎng)景,盡管 EventBus 在向未創(chuàng)建的組件傳遞事件時(shí)有些局限,僅適合在活著的組件之間傳遞消息,但任然不妨礙在各個(gè)大型項(xiàng)目的場(chǎng)景中使用。

GitHub 地址:EventBus GitHub 地址

十一、圖表

1. MPAndroidChart

MPAndroidChart 是一款圖表框架,以快速、簡(jiǎn)潔,強(qiáng)大著稱的圖表框架,支持線條、餅型、氣泡和燭臺(tái)圖,以及縮放、拖動(dòng)和動(dòng)畫。

GitHub 地址:MPAndroidChart GitHub 地址

十二、生成模板代碼

1. butterknife

使用注解生成模板代碼,將 view 與方法和參數(shù)綁定,配合 Android Studio 提供的 ButterKnife 插件,幫組開(kāi)發(fā)者省卻了頻繁的 findViewById 的煩惱,***的 ButterKnife 還提供了 onclick 綁定以及字符串的初始化,初學(xué)者可以查閱 ButterKnife 以及 ButterKnife 進(jìn)一步學(xué)習(xí),作者是 JakeWharton,是大名鼎鼎的 square 的團(tuán)隊(duì)成員之一。

GitHub 地址:butterknife GitHub 地址

十三、其他

1.Device Year Class

Device Year Class會(huì)告知當(dāng)前設(shè)備的內(nèi)存,CPU核和時(shí)鐘頻率在哪一年的產(chǎn)品線里屬于高配。它可以讓開(kāi)發(fā)者根據(jù)手機(jī)的硬件性能來(lái)讓app做出不同的行為。

GitHub 地址:DeviceYearClass GitHub 地址

2.Network Connection Class

Network Connection Class能夠查詢當(dāng)前用戶的網(wǎng)絡(luò)連接質(zhì)量。它會(huì)根據(jù)網(wǎng)絡(luò)質(zhì)量的不同分成好幾種”Connection Classes”(連接分類)讓開(kāi)發(fā)更容易。這個(gè)庫(kù)通過(guò)監(jiān)聽(tīng)app已有的網(wǎng)絡(luò)流量情況并在通信速度改變的時(shí)候通知用戶。開(kāi)發(fā)者能夠通過(guò)網(wǎng)絡(luò)連接情況調(diào)節(jié)app的行為(比如使用更低質(zhì)量的影音,停止使用輸入提示等等)。

GitHub 地址:NetworkConnection GitHub 地址

3.Android Debug Database

Android Debug Database是一個(gè)功能強(qiáng)大的用于調(diào)試安卓數(shù)據(jù)庫(kù)和共享***項(xiàng)(shared preference)的庫(kù)。它是一個(gè)在瀏覽器里瀏覽數(shù)據(jù)庫(kù)和共享***項(xiàng)的簡(jiǎn)單易用的工具。

GitHub 地址:DebugDatabase GitHub 地址

4.LeakCanary

LeakCanary是一個(gè)安卓和Java上用于檢測(cè)內(nèi)存泄漏的一個(gè)庫(kù)。

GitHub 地址:Leakcanary GitHub 地址

5.Dagger

安卓和java的快速的依賴注入庫(kù)。它簡(jiǎn)化了對(duì)于共用實(shí)例的讀寫,使復(fù)雜的依賴設(shè)置變的簡(jiǎn)單,讓單元測(cè)試和集成測(cè)試更加容易。

GitHub 地址:Dagger GitHub 地址

6.Realm

簡(jiǎn)單存儲(chǔ),高速查詢,節(jié)省大量開(kāi)發(fā)時(shí)間。Realm Mobile Database是SQLite的一個(gè)替代品,一個(gè)ORM解決框架。

GitHub 地址:Realm GitHub 地址

7.Timber

在安卓原有的Log class之上提供有小型,可擴(kuò)展API的一個(gè)Logger。

GitHub 地址:Timber GitHub 地址

8.Hugo

通過(guò)標(biāo)注觸發(fā)為你的debug build自動(dòng)記錄方法調(diào)用的日志。作為一個(gè)程序員,你經(jīng)常需要加入logging函數(shù)打印程序里面的函數(shù)調(diào)用,以及參數(shù)和返回值,并花時(shí)間執(zhí)行。這不是什么問(wèn)題,我們每個(gè)人都這樣做。只是能不能夠讓它變得更簡(jiǎn)單一些呢?只要在函數(shù)頭加上@DebugLog你就能得到我們剛才所講的所有信息。

GitHub 地址:Hugo GitHub 地址

9.Android GPU Image

提供安卓上高效的基于OpenGL的濾鏡的庫(kù)。

GitHub 地址:GPU Image GitHub 地址

10.ExoPlayer

ExoPlayer是一個(gè)應(yīng)用級(jí)的安卓媒播放器。它提供的API支持播放本地或者網(wǎng)絡(luò)上的音頻。ExoPlayer支持當(dāng)前安卓媒體播放器API不支持的功能,比如DASH和Smooth Streaming adaptive playbacks(根據(jù)帶寬自動(dòng)實(shí)時(shí)調(diào)節(jié)播放分辨率)。

GitHub 地址:ExoPlayer GitHub 地址

責(zé)任編輯:未麗燕 來(lái)源: 安卓巴士
相關(guān)推薦

2017-07-28 09:00:59

2016-12-07 18:42:31

Androidadb shell命令

2013-04-11 09:44:35

CSSGithub

2022-12-19 14:43:56

開(kāi)源CSS框架

2013-05-28 10:39:44

Android開(kāi)發(fā)移動(dòng)開(kāi)發(fā)

2018-12-27 11:29:12

AI數(shù)據(jù)科技

2021-09-08 07:49:33

開(kāi)源Web框架

2010-04-13 13:01:21

Oracle exp

2010-05-21 18:20:43

MySQL常用技巧

2013-07-05 10:59:02

GitHub

2020-11-26 15:48:37

代碼開(kāi)發(fā)GitHub

2013-08-09 10:41:58

2021-07-06 09:28:35

GitHub開(kāi)發(fā)者開(kāi)源

2009-06-08 16:57:00

Struts HTML

2015-06-03 15:33:10

HDFS分布式文件操作匯總

2010-05-19 18:23:34

2025-04-11 08:45:00

Linux安全基線配置運(yùn)維

2014-08-08 15:55:11

Github項(xiàng)目匯總

2024-11-29 07:00:00

Kimi大模型Mooncake

2011-06-17 15:44:44

asp.net
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)