中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Android GitHub常用開源框架

發布時間:2021-11-26 14:06:57 來源:億速云 閱讀:368 作者:柒染 欄目:移動開發

如何理解Android GitHub常用開源框架,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

現在 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 專注網絡請求的高效安全。

3. volley

Google 的 Andorid 開發團隊也意識到有必要將 HTTP 的通信操作再進行簡化,于是在 2013 年度的 Google I/O  大會上推出了一個新的網絡通信框架—Volley,Volley  在性能方面進行了大幅度的調整,它是設計目標是適合進行數據量不大,但通信頻繁的網絡操作,對于數據量大的網絡操作就會表現糟糕。

GitHub 地址:volley GitHub 地址

4. Fast Android Networking

基于OkHttp的Fast Android  Networking能讓網絡通信變得簡潔(不用樣板代碼),使得開發者能輕易寫出通信代碼。它是一個輕量級的快速網絡通信庫。試試看,你會愛上它。

GitHub 地址:FastAndroidNetworking GitHub 地址

二、圖片加載庫

在 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 地址

2. GSON

一個提供Java對象序列化/反序列化至JSON格式的庫。

GitHub 地址:gson 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 地址

十三、其他

1.Device Year Class

Device Year  Class會告知當前設備的內存,CPU核和時鐘頻率在哪一年的產品線里屬于高配。它可以讓開發者根據手機的硬件性能來讓app做出不同的行為。

GitHub 地址:DeviceYearClass GitHub 地址

2.Network Connection Class

Network Connection Class能夠查詢當前用戶的網絡連接質量。它會根據網絡質量的不同分成好幾種”Connection  Classes”(連接分類)讓開發更容易。這個庫通過監聽app已有的網絡流量情況并在通信速度改變的時候通知用戶。開發者能夠通過網絡連接情況調節app的行為(比如使用更低質量的影音,停止使用輸入提示等等)。

GitHub 地址:NetworkConnection GitHub 地址

3.Android Debug Database

Android Debug Database是一個功能強大的用于調試安卓數據庫和共享***項(shared  preference)的庫。它是一個在瀏覽器里瀏覽數據庫和共享***項的簡單易用的工具。

GitHub 地址:DebugDatabase GitHub 地址

4.LeakCanary

LeakCanary是一個安卓和Java上用于檢測內存泄漏的一個庫。

GitHub 地址:Leakcanary GitHub 地址

5.Dagger

安卓和java的快速的依賴注入庫。它簡化了對于共用實例的讀寫,使復雜的依賴設置變的簡單,讓單元測試和集成測試更加容易。

GitHub 地址:Dagger GitHub 地址

6.Realm

簡單存儲,高速查詢,節省大量開發時間。Realm Mobile Database是SQLite的一個替代品,一個ORM解決框架。

GitHub 地址:Realm GitHub 地址

7.Timber

在安卓原有的Log class之上提供有小型,可擴展API的一個Logger。

GitHub 地址:Timber GitHub 地址

8.Hugo

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

GitHub 地址:Hugo GitHub 地址

9.Android GPU Image

提供安卓上高效的基于OpenGL的濾鏡的庫。

GitHub 地址:GPU Image GitHub 地址

10.ExoPlayer

ExoPlayer是一個應用級的安卓媒播放器。它提供的API支持播放本地或者網絡上的音頻。ExoPlayer支持當前安卓媒體播放器API不支持的功能,比如DASH和Smooth  Streaming adaptive playbacks(根據帶寬自動實時調節播放分辨率)。

GitHub 地址:ExoPlayer GitHub 地址

關于如何理解Android GitHub常用開源框架問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖远县| 天柱县| 聊城市| 涿州市| 常宁市| 收藏| 交口县| 枝江市| 康定县| 亚东县| 阿坝县| 广南县| 长葛市| 上栗县| 静乐县| 安乡县| 前郭尔| 团风县| 镇巴县| 冀州市| 雅江县| 丹凤县| 通化县| 四会市| 红原县| 探索| 扎鲁特旗| 建水县| 伽师县| 科技| 拉萨市| 富蕴县| 大化| 平罗县| 三河市| 同德县| 略阳县| 余干县| 禹城市| 闻喜县| 遵义市|