1. 程式人生 > >Android第三方經典專案,框架,效果等的大集合(滿足你開發中的所有問題)

Android第三方經典專案,框架,效果等的大集合(滿足你開發中的所有問題)

OkHttp:

專案地址:https://github.com/square/okhttp

該專案是一個網路框架,基本上所有的網路訪問都在使用了,google也已經在Android底層在使用了。
專案官網:http://square.github.io/okhttp/

Litpal:

專案地址:https://github.com/LitePalFramework/LitePal

該專案是一個數據庫框架,提供了基於android原生的Sqilte的完美支援,只是預設主鍵為id,該欄位不可以隨意修改。使用簡單,功能強大,而且jar很小。

Glide:

專案地址:

https://github.com/bumptech/glide/releases

該專案是一個圖片載入的框架

fresco:

專案地址:https://github.com/facebook/fresco

該專案也是一個圖片處理框架,但是東西包含的有點多,但是功能很強大

eventbus:

專案地址:https://github.com/greenrobot/EventBus

該專案是一個用來進行執行緒(不同介面間互動,或者是不同執行緒)間通訊的框架,基於反射+觀察者模式來實現。使用簡單,可以不必再用以前廣播或者是回撥的方式來實現資料的回傳了。

retrofit:

專案地址:https://github.com/square/retrofit
該專案是簡化網路訪問的框架,經常配合RxJava ,RxAndroid使用,這倆個框架自行搜尋

RealtimeBlurView:

專案地址:https://github.com/mmin18/RealtimeBlurView
該專案是一個實時動態模糊庫,類似於ios的UIVisualEffectView。

jsoup:

專案地址:https://github.com/jhy/jsoup
官網:https://jsoup.org/
jsoup 是一款 Java 的HTML 解析器,可通過DOM,CSS選擇器以及類似於JQuery的操作方法來提取和操作Html文件資料。

LeakCanary:

專案地址:https://github.com/square/leakcanary
該專案是一款Android記憶體洩露監視器,用來檢測Android專案中的記憶體洩露。

pinyin4j:

專案地址:https://github.com/belerweb/pinyin4j
該專案是用來方便實現將漢字轉換拼音

Gson:

專案地址:https://github.com/google/gson
json資料解析

Zxing:

專案地址:https://github.com/zxing/zxing
該專案是快捷生成二維碼、掃碼、支援掃描本地相簿中的二維碼
##MPAndroidChart:
專案地址:https://github.com/PhilJay/MPAndroidChart
該專案是一框圖表框架,實現大多數的圖表展示,功能強大

lottie-android

專案地址:https://github.com/airbnb/lottie-android
Lottie是一個支援Android、iOS、React Native,並由 Adobe After Effects製作aep格式的動畫,然後經由bodymovin外掛轉化渲染為json格式可被移動端本地識別解析的Airbnb開源庫。
Lottie實時呈現After Effects動畫效果,讓應用程式可以像使用靜態圖片一樣輕鬆地使用動畫。
Lottie支援API 14及以上。

butterknife:

專案地址:https://github.com/JakeWharton/butterknife
ButterKnife是一個專注於Android系統的View注入框架,以前總是要寫很多findViewById來找到View物件,有了ButterKnife可以很輕鬆的省去這些步驟。是大神JakeWharton的力作,目前使用很廣。最重要的一點,使用ButterKnife對效能基本沒有損失,因為ButterKnife用到的註解並不是在執行時反射的,而是在編譯的時候生成新的class。專案整合起來也是特別方便,使用起來也是特別簡單。

AndroidUtilCode:

專案地址:https://github.com/Blankj/AndroidUtilCode
該專案是一個Android程式碼的工具框架,包含Android當中Activity相關,App相關,清除相關,剪貼簿相關等等的很多資訊。

robotium:

專案地址:https://github.com/RobotiumTech/robotium
Robotium 是一款國外的Android自動化測試框架,主要針對Android平臺的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點選、長 按、滑動等)、查詢和斷言機制的API,能夠對各種控制元件進行操作。Robotium結合Android官方提供的測試框架達到對應用程式進行自動化的測 試。另外,Robotium 4.0版本已經支援對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支援的。
##autobahn-java:
專案地址:https://github.com/crossbario/autobahn-java
一個輕量級訊息核心,WebSocket & WAMP in Java for Android

FBReaderJ:

專案地址:https://github.com/geometer/FBReaderJ
官網:https://fbreader.org/android
FBReaderJ是一個Android 平臺上的電子書閱讀器。這是一個Java版的FBReader圖書閱讀器的克隆。 FBReaderJ支援多種電子書格式: oeb , epub ,和fb2 。直讀從zip、tar和gzip等格式

scalpel:

專案地址:https://github.com/JakeWharton/scalpel
就是實現了一個三維效果的介面佈局層次展示,不需要手機連線開發裝置,只需要簡單幾行程式碼將其整合到你的應用中,即可開啟酷炫之旅,它提供的功能包括:

通過setLayerInteractionEnabled(boolean)可開啟與關閉此功能。

通過setDrawViews(boolean)可控制是否繪製View, 也就是說它可以僅僅是個簡單的佈局線框圖,也可以是色彩豐富的真實效果圖。

通過setDrawIds(boolean)可控制是否顯示各控制元件的Id, 你就能知道你自己正在除錯的那個控制元件到底在哪了?

通過setChromeColor,setChromeShadowColor可自定義線框圖的顏色,隨你喜歡。

joda-time:

專案地址:https://github.com/JodaOrg/joda-time
官網:http://www.joda.org/joda-time/
JodaTime 提供了一組Java類包用於處理包括ISO8601標準在內的date和time。可以利用它把JDK Date和Calendar類完全替換掉,而且仍然能夠提供很好的整合。
Joda-Time主要的特點包括:
易於使用:Calendar讓獲取”正常的”的日期變得很困難,使它沒辦法提供簡單的方法,而Joda-Time能夠 直接進行訪問域並且索引值1就是代表January。
易於擴充套件:JDK支援多日曆系統是通過Calendar的子類來實現,這樣就顯示的非常笨重而且事實 上要實現其它日曆系統是很困難的。Joda-Time支援多日曆系統是通過基於Chronology類的外掛體系來實現。
提供一組完整的功能:它打算提供 所有關係到date-time計算的功能.Joda-Time當前支援6種日曆系統,而且在將來還會繼續新增。有著比JDK Calendar更好的整體效能等等。

MD360Player4Android:

專案地址:https://github.com/ashqal/MD360Player4Android
Android上全景視訊渲染的庫,可以實現vr視訊播放

BaseRecyclerViewAdapterHelper:

專案地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper
該專案是的作者說他是一個萬能介面卡,用來解決RecycleView的適配,具體效果可以看官方網站,或者github
首先主要介紹幾種常見的產品引導介紹方式。

GuideView

GuideView是一個遮罩式的導航頁,能夠快速為任何一個View建立一個遮罩層,支援單個頁面,多個引導提示,支援為高亮區域設定不同的圖形,支援引導動畫,方便擴充套件。

專案地址:https://github.com/binIoter/GuideView】

ShowcaseView

一個通過區域性高亮達到突出重點,實現引導效果的控制元件。

專案地址:https://github.com/amlcurran/ShowcaseView

Holo “New style” Material

Holo style showcaseview new style showcaseview Material style showcaseview
AppIntro
一個常規的viewpager產品介紹頁。

專案地址:https://github.com/PaoloRotolo/AppIntro

卡片互動Card interaction

這裡介紹幾種卡片互動體驗的控制元件。

CardStackView

非常酷炫的卡片是互動控制元件。

專案地址:https://github.com/loopeer/CardStackView

android-card-slide-panel

就是“探探”app實現的那種互動體驗,為此我還特意下了一個探探體驗了一下,卡片上展示的全是美女!左右拖動操作頁非常nice,探探這個產品互動簡直無可挑剔。

專案地址:https://github.com/xmuSistone/android-card-slide-panel

ExpandingPager

一個比較常規的卡片式互動控制元件。

專案地址:https://github.com/qs-lll/ExpandingPager

##載入框LoadingView
主要介紹幾種很漂亮的載入框,

Android-SpinKit

基於非常火爆的css庫SpinKit實現的Android載入庫,動畫效果非常棒。

專案地址:https://github.com/ybq/Android-SpinKit

LoadingDrawable

這個專案重要介紹一些酷炫的載入動畫, 可以與任何View配合使用,作為載入動畫或者Progressbar, 此外很適合與RecyclerRefreshLayout 配合使用作為重新整理的loading 動畫。

專案地址:https://github.com/dinuscxj/LoadingDrawable

LiquidButton

一個實現液體填充效果的載入提示view

專案地址:https://github.com/yoruriko/LiquidButton

LoadingView

主要看動效,好看最重要。

專案地址:https://github.com/ldoublem/LoadingView

MetaballLoading

一個有貝塞爾曲線動畫的載入提示框

專案地址:https://github.com/dodola/MetaballLoading

提示框Dialog

提示框通常沒有載入框那麼酷炫的動效,一般以簡潔為主要風格。

material-dialogs

一個簡單易用的material風格的dialog

專案地址:https://github.com/afollestad/material-dialogs

sweet-alert-dialog

這個專案最後維護時間是兩年前,現在可能都沒人維護了,但是實現的效果還是挺好的

專案地址:[https://github.com/pedant/sweet-alert-dialog]](https://github.com/pedant/sweet-alert-dialog])

指示器Indicator

指示器用來提示使用者當前操作到了哪一步。

##StepView
提示操作步驟的巔峰之作,非常符合我的審美。

專案地址:https://github.com/baoyachi/StepView

stepper-indicator

一個和StepView差不多效果的步驟指示器。

專案地址:https://github.com/badoualy/stepper-indicator

SpringIndicator

一個切換使用了貝塞爾曲線的indicator,說實話作者給的示例圖很醜,我不是很喜歡,但是我很喜歡貝塞爾曲線,所以這個也拿來放在這裡,學習用,實際使用我還是會使用上面兩個。

專案地址:https://github.com/chenupt/SpringIndicator

BezierMaker

這個開源庫演示了1-7階貝塞爾曲線的形成過程,讓我們直觀的看到1-7階貝塞爾曲線的形成動畫,相當牛逼

專案地址:https://github.com/venshine/BezierMaker

Bubble-Notification

一個模仿qq未讀訊息小紅點拖動消失效果的控制元件。

專案地址:https://github.com/dkmeteor/Bubble-Notification

DraggableFlagView

另一個模仿qq未讀訊息小紅點拖動消失效果的控制元件。

專案地址:https://github.com/wangjiegulu/DraggableFlagView

BezierDemo

又一個模仿qq未讀訊息小紅點拖動消失效果的控制元件。

專案地址:https://github.com/chenupt/BezierDemo

CircleImageView

一個非常漂亮的圓形ImageView,保持了ImageView的所有特性,可以像原生ImageView一樣直接用Picasso載入圖片展示。

專案地址:https://github.com/hdodenhof/CircleImageView

PhotoView

一個支援縮放功能的ImageView,通過多點觸控或者雙擊都可以實現縮放效果。

專案地址:https://github.com/chrisbanes/PhotoView

rebound

Facebook出品,必屬精品。這個庫不是一個控制元件庫,而是一個功能庫,實現了點選圖片,像按壓彈簧一樣的效果;點選圖片之後,圖片會先縮小,再放大,效果非常絢麗漂亮。

專案地址:http://facebook.github.io/rebound/

InstaCapture

這個庫嚴格說起來和圖片關係不大,這是一個強大的通過一行程式碼實現截圖的功能的庫,而且可以指定當前activity截圖不包含哪些具體view元件,而且可以和當下流行的RXJava結合使用,非常簡單易用,截圖之後的檔案怎麼處理就隨便了,通常截圖檔案我們還是要載入成點陣圖顯示的,所以先放在圖片這裡。

專案地址:https://github.com/tarek360/InstaCapture

##PicassoFaceDetectionTransformation
這是一個和Picasso配合使用的圖片剪裁庫,特點就是自帶面部識別,會把臉部剪裁到中間。

專案地址:https://github.com/aryarohit07/PicassoFaceDetectionTransformation

Luban

這又是一個功能庫,實現高效率的無損圖片壓縮功能,作者對比了使用該庫壓縮和使用微信壓縮的壓縮比例,發現壓縮效果和微信差不多!這是相當逆天的效果!有了這個庫,其它的壓縮庫基本可以放一邊了!

專案地址:https://github.com/Curzibn/Luban

效果圖:和微信壓縮效果對比

內容 原圖 Luban Wechat
截圖 720P 7201280,390k 7201280,87k 7201280,56k
截圖 1080P 1080
1920,2.21M 10801920,104k 10801920,112k
拍照 13M(4:3) 30964128,3.12M 15482064,141k 15482064,147k
拍照 9.6M(16:9) 4128
2322,4.64M 1032581,97k 1032581,74k
滾動截圖 10806433,1.56M 10806433,351k 1080*6433,482k

Compressor

又一個無損圖片壓縮處理庫,這個庫可能沒有上面那個庫厲害,但是這個庫可以和RXJava配合使用,實現處理鏈式化,所以如果是RXJava深度使用者的話,可以去看看。

專案地址:https://github.com/zetbaitsu/Compressor

AndroidPhotoFilters

這也是一個功能庫,實現了靈活多樣的濾鏡效果,相當漂亮。

專案地址:https://github.com/Zomato/AndroidPhotoFilters?utm_campaign=explore-email&utm_medium=email&utm_source=newsletter&utm_term=weekly

MagicCamera

一個包含美顏等40餘種實時濾鏡的相機庫,實現的是一個完整的照相機功能,可進行拍照、錄影和圖片修改。個人來說不喜歡這種雜合功能較多的庫,我一向認為越小越精緻,所以我一般不會使用這種庫。但是可以學習裡面的功能。

專案地址:https://github.com/wuhaoyu1990/MagicCamera