Android常用的第三方庫整理

Android開源庫

自己一直很喜歡Android開發(fā),就如博客簽名一樣,?我是程序猿,我為自己代言?。

在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發(fā)者,而且我會?不定期的更新?這篇文章。

Android下的優(yōu)秀開發(fā)庫數(shù)不勝數(shù),在本文中,我列舉的多是開發(fā)流程中最常用的一些。如果你還想了解更多的Android開源庫,可以關(guān)注我的博客,每一個庫都是我認真查看或者編譯運行的,希望對你產(chǎn)生幫助。

原文:?http://blog.csdn.net/caoyouxing/article/details/42418591

一、兼容類庫

ActionBarSherlock?: Action Bar是Android 3.0后才開始支持的,ActionBarSherlock是讓Action Bar功能支持2.X后的所有平臺,而且他會自動的判斷是調(diào)用原生Action Bar還是使用擴展ActionBar。在我的小熊詞典里有用到這個庫,而且很多非常知名的App也在使用這個庫。?GitHub??Official??ActionBar科普?最新消息(2013年7月):Android官方發(fā)布的的Support?Library Revision 18?開始支持?ActionBar?的兼容。所以可以不用再使用ActionBarSherlock了。

Android-ViewPagerIndicator?: 這是與ViewPager兼容的一個分頁指示器庫。分頁指示器(Friends 和 Suggested就是分頁,而下面藍色的小條就是指示器,ViewPagerIndicator支持多種樣式的指示器。):?GitHub?

NineOldAndroids?: NineOldAndroids 將?Honeycomb (Android 3.0) 的動畫 API??擴展到了Android 1.0以上。這個庫的作者即是?ActionBarSherlock?的作者,也是?Android-ViewPagerIndicator?的作者,

Jake Wharton?,?非常厲害的一個人,Github關(guān)注量超過?1.6K?,如果你也做Android開發(fā)或者即將開始學習Android開發(fā),一定要去Follow他,而且留意一下他每次的star和follow信息,經(jīng)常會有很驚奇的發(fā)現(xiàn)。

HoloEverywhere?:在Android 4.0時,Google引入了新的主題風格—?Holo?,多數(shù)廠商都想統(tǒng)一界面設(shè)計UI,因此更加具有兼容性的Holo主題庫?HoloEveryWhere?便成為很多開發(fā)者的選擇。在Android的官方Blog中也對?HoloEveryWhere?這個庫有所推薦,?點此查看?官方博客對?HoloEveryWhere?的介紹。?HoloEveryWhere?的?Github?。

Android-Datepicker?: 兼容Android 4.0的?datepicker?至Android 2.2。?GitHub?

二、擴展功能庫

SlidingMenu??: SlidingMenu 能非常容易的讓開發(fā)者實現(xiàn)程序的抽屜效果,所謂的抽屜效果如下圖所示,通常被用作呼出菜單。而且SlidingMenu能很方便的與ActionBarSherlock融合,在官方GitHub上有關(guān)于如何融合的說明。??GitHub?同時,想要達到相同功能也可以看另一個Drawer設(shè)計:?Android-Undergarment?

AppMsg?: 優(yōu)雅的彈出類似Toast的消息提示,支持3種狀態(tài)Alert,Confirm以及Info。?GitHub?

Drag-Sort-ListView?: 很多人都用過在一個ListView中通過拖拽對已有的數(shù)據(jù)進行排序操作。Drag-Sort-Listview就是實現(xiàn)這一功能的開源庫。?GitHub?

Android-Flip?: 輕松實現(xiàn)類似FlipBoard的翻頁功能。?GitHub?

Android-PullToRefresh?: Android下拉刷新組件。?GitHub?此外,該作者還有另外一個實用度和關(guān)注量極高的項目–另一種?Android ActionBar?的實現(xiàn):?GitHub?另:GitHub上另一個Android-PullToRefresh的實現(xiàn)。?GitHub?

ActionBar-PullToRefresh:?基于ActionBar的下拉刷新組件,在下拉的時候會替換掉ActionBar,顯示更新中…?GitHub??Demo下載

picasso:??程序中經(jīng)常面臨加載網(wǎng)絡(luò)圖片的情況,成熟做法:異步下載->緩存->顯示,Picasso一行代碼就可這三步輕松完成。?GitHub??GitHubPage?,GitHub上圖片異步加載緩存類庫很多,你也可嘗試使用?Android-Universal-Image-Loader?或者?LazyList后面將介紹到的afinal(國人項目)也具有此功能。?

Card-UI: Google很早之前開始在自家的App內(nèi)使用卡片式布局,CardUI極其美觀大方,想要在自己的App中集成卡片UI布局,那么就輕松地用這個項目吧。?GitHub?或者你也可以使用這個庫來完成卡片布局。?CardLib?

Android-DragArea:Android拖拽排序,拖拽移動 庫。?GitHub?(Opera Android瀏覽器的拖拽排序就是用的這個庫)

Android-StaggeredGrid: Android 下類pinterest布局。?GitHub

Android 類 Pinterest 布局

FlipImageView: 通過擴展ImageView,實現(xiàn)了ImageView的各種翻轉(zhuǎn)效果。?GitHub??體驗地址

SmoothProgressBar:平滑的ProgressBar,各種效果。?GitHub??體驗地址

各式各樣的ProgressBar

SuperToasts: 一個憤青對Toast的超強擴展,支持Toast中顯示Progressbar,顯示圖片,顯示文等等效果,快去感受下吧!?Play?GitHub?

AndroidFloatLabel:Android Textview 浮動提示,效果是類似下圖的。?GitHub

浮動提示

cropper:Android截圖和旋轉(zhuǎn)庫,輕松實現(xiàn)頭像和一些場景下的圖片操作。?GitHub

Android Cropper

StickyGridHeaders:給GridView加上Header。?GitHub

GridHeader

Background-ViewPage:支持背景圖同時滑動的ViewPager。?感受地址??GitHub

GoogleStyle-Datatime-Picker:做的很精致的Google風格的時間選擇器。?Play??GitHub?

三、工具類庫:

首先,就我個人開發(fā)經(jīng)驗,總結(jié)一下平常用到的一些最常用的功能:

下載,比如圖片,文件。

將下載的文件進行解壓。

請求服務器,比如說上傳登陸信息,更新某些數(shù)據(jù),又或者上傳頭像文件。

從文件系統(tǒng)中選擇要操作的文件(圖片,拍照,視頻,拍攝視頻)。

有時候也需要爬取某些網(wǎng)頁數(shù)據(jù)。

存儲一些配置信息

播放視頻

再有一個特殊需求就是關(guān)乎Android程序UI設(shè)計,圖標是個很麻煩的問題。每次都難以找到合適的Android 設(shè)計UI。

隨后,我將很有針對性的推薦一些功能庫,來簡化上面的問題。

afinal?:?afinal?是一個很方便的工具庫。?GitHub??作者博客?(注:國人項目喲)

一行代碼就可以對數(shù)據(jù)庫進行增刪改查。?

完全注解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。

輕松實現(xiàn)Android上傳文件,POST數(shù)據(jù),下載文件(支持斷點續(xù)傳,隨時停止下載任務 或者 開始任務)。

一行代碼?加載網(wǎng)絡(luò)圖片。

android-async-http?: Android下的異步HTTP庫。?GitHub??文檔?PS:作者的GitHub值得關(guān)注。

發(fā)送異步http請求,并且可在回調(diào)函數(shù)中處理返回響應Response。

http請求在thread線程,不會阻塞UI線程。

請求使用線程池(ThreadPool)實現(xiàn),優(yōu)化了并發(fā)的資源使用。

支持Multipart?文件上傳。

如果Request請求失敗,會自動請求。

支持Json解碼。

支持存儲Cookies到Preference中。

支持gzip處理Request以及Response。

整個庫只有19KB。

http-requests?: Java http請求庫,設(shè)計的很優(yōu)雅的一個庫,推薦。?GitHub

async-http-client?: Android下的異步 Http 和 WebSocket 庫。?GitHub

支持代理設(shè)置

支持分片兒處理請求返回內(nèi)容

支持WebSocket

zt-zip:?壓縮和解壓庫。?GitHub

壓縮和解壓

單獨操作文件壓縮和解壓。

替換zip文件中的某個文件

aFileChooser?:文件選擇器,用于選擇需要操作的文件?GitHub

image-chooser-library?: 圖片和視頻的選擇庫。?GitHub??Demo

jsoup:?HTML解析,并且能很好理解DOM,CSS,以及JQuery。?GitHub??官方???PS:這是java庫。做網(wǎng)頁爬蟲(Crawler,Robot)必備。

toml:?這是個跨語言的配置信息存取方案。?GitHub

Androiton-Action-Bar-Icons:?一個針對Android 優(yōu)化過的ICON圖標集。?GitHub??Demo

推薦一個Android整體框架:ThinkAndroid 集成了ioc,orm,下載,緩存等模塊,能讓開發(fā)更加快速和高效,同時還是國人項目。?GitHub

如果你想要更快的網(wǎng)絡(luò)傳輸和加載速度可以試試OKHTTP,他實現(xiàn)了Google開發(fā)的SPDY協(xié)議,通過復用一個Socket,縮短網(wǎng)絡(luò)加載時間。?關(guān)于SPDY看這里??OKHTTP

Android-ProgressFragment?:等待數(shù)據(jù)的時候,支持顯示等待符號的Fragment控件。?GitHub

關(guān)于播放視頻,不要再去研究什么FFMPEG了,too slow,國人有個非常非常出色的開源項目叫Vitamio,讓你播放視頻簡單如abc。?GitHub??官方網(wǎng)站

AndroidCommon?:Android常用的一些庫和功能,如緩存,下拉列表,下載管理,靜默安裝等。感謝?Trinea?GitHub

ion: 讓Android的網(wǎng)絡(luò)操作變得極其簡單,支持異步獲取和處理JSON,支持Android文件下載(同時支持下載進度條綁定),支持安全鏈接和代理。超級推薦!?GitHub

四、圖標資源:

http://iconsparadise.com/?質(zhì)量一般,但也是一種選擇

http://iconbench.com/?在線產(chǎn)生一些小圖標

http://www.androidicons.com/?圖標質(zhì)量很不錯,但是要付費($25刀),如果有想合買的可以聯(lián)系我~

https://code.google.com/p/android-ui-utils/??用來在線生成符合Android Design風格的設(shè)計圖標。?項目地址

http://www.flaticon.com/?高質(zhì)量矢量圖,推薦之~

Android-Iconify?:一個將AweomeICON和Android結(jié)合起來的項目,推薦。

IonIconView?:Android下的一個基于AwesomeICON的圖標組件,力薦~?

五、一些手冊

Android圖形界面設(shè)計手冊?,可以用來快速查看圖標的大小、ActionBar的Height等瑣碎的?Android Design?要求。?GitHub

Android 官方UI設(shè)計手冊:?下載?另:中文翻譯版本?源地址?(需要梯子)?鏡像1?、?鏡像2?、?鏡像3??離線版本打包?項目發(fā)起人:?SunJW?(需要梯子)

六、一些視頻(以下均為Google 2013 I/O大會的現(xiàn)場視頻,視頻較多持續(xù)更新中…)

Android Studio?的新特性官方講解視頻,我在官方技術(shù)博客上下載下來,上傳到網(wǎng)盤,希望對大家有幫助。?下載地址

Android引入Gradle的官方講解視頻?下載地址?。

Google 2013 IO大會上抽出40多分鐘時間講解了Android Custom View的底層原理和書寫方法。非常值得一看!?下載地址?。

IO大會上還講解了高性能Android RenderScript的原理和使用方法,搞圖形圖像必備良品。?下載地址

大會上還向開發(fā)者講解了如何實現(xiàn)簡潔、快速的網(wǎng)絡(luò)請求。包括常用的JSON、AsyncTask,還提出了一種網(wǎng)絡(luò)負荷較重情況下的解決方案RequestQueue(請求隊列),提升自己技術(shù)必備視頻。?下載地址

Android 藍牙 操作最佳實踐。?下載地址

Android ui 設(shè)計官方指南?下載地址

Android游戲開發(fā) 官方講解視頻?下載地址

七、高價值鏈接

Android官方博客?提供一些跟Android相關(guān)的即時咨詢。(需要梯子)

Android官方技術(shù)博客?主要提供一些新工具(如Android Studio),新技術(shù)(如每次更新帶來新特性)的演示和講解。(需要梯子)

23code.com?: 超強烈推薦,里面收集了非常多漂亮的Android開源項目。

StylingAndroid?: 時常介紹Android的新特性。

AndroidViews?Android View組件收集站點。

那兩年煉就的Android內(nèi)功修養(yǎng)?(這是一篇Android入門到提高的文章,內(nèi)容很全面,而且由淺入深,強烈推薦,來自老羅的Android之旅)

Android-er?:專注Android好多年的一個老外的Blog。(需要梯子)

Android-Pattern?:Android的一些設(shè)計模式。

八、集成其他開發(fā)特性(懶人專用)

ORM:?Object-relationship mapping,如果你不知道什么是ORM設(shè)計,?Google?。 目前Android上主要有三個ORM開源庫。?greenDAO?、?OrmLite?、?AndrORM?。排序基本代表性能。?greenDao和Ormlite性能測試??Ormlite和Androrm性能對比?,主要是原理實現(xiàn)決定的性能差異(GreenDao采用生成數(shù)據(jù)表類文件,其他的則采用了反射…)。如果對數(shù)據(jù)庫性能要求很高,那么采用greenDao,如果想圖方便采用OrmLite或者AndrORM。

ORM2: ActiveAndroid,另一個Android ORM組件,做的非常棒,推薦。?GitHub

sprinkles: 有一個ORM組件。?GitHub

android-priority-jobqueue:Android Job隊列。輕松實現(xiàn)后臺task管理,保證代碼更清晰,低耦合。?GitHub

androidquery: 簡單的Android框架,讓寫代碼變得更簡單。?Google Code

九、專注Android的Blog

http://www.trinea.cn/?關(guān)注Android性能還有一些小細節(jié)的,感謝VilenEera推薦。

http://blog.csdn.net/jj120522?解決很多關(guān)于Android生產(chǎn)環(huán)節(jié)的開發(fā)細節(jié),感謝star的推薦。

https://github.com/Trinea/android-open-project?由Trinea收集的很多關(guān)于Android第三方特征庫的Repo。

http://linkyan.com/?就職于花瓣,專注于Android。

十、從這些項目中學習組件的用法

Android-GitHub: GitHub官方Android客戶端(感謝?Liu Chong?推薦),用到了以下幾個項目:

ActionBarSherlock

ViewPagerIndicator

RoboGuice

android-maven-plugin

CodeMirror

原文:?http://blog.csdn.net/caoyouxing/article/details/42418591

十一、項目推薦使用的第三方開源庫

1. 使用上拉更多,下拉刷新:https://github.com/JosephPeng/XListView-Android?

這個是github上面更為火爆的:https://github.com/chrisbanes/Android-PullToRefresh

2. 側(cè)滑的菜單:?SlidingMenu.rar?(自己導入support-4v包)推薦github上面一個很好的庫,不過這個庫有少少錯誤,修改過來就好了,附上github地址與修改地址。?

github:?https://github.com/jfeinstein10/SlidingMenu?

修改地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=262755&reltid=249556&pre_thread_id=0&pre_pos=5&ext=CB?

其實修改的問題就是:?修改SlidingMenu library中的?SlidingFragmentActivity,讓它繼承于SherlockFragmentActivity,重新編譯library導入

3. 水平移動導航條關(guān)聯(lián)ViewPage:

http://www.eoeandroid.com/thread-175041-1-1.html

3.1 這個是ViewPage帶動畫的,比較優(yōu)秀:?https://github.com/jfeinstein10/JazzyViewPager

4. 數(shù)據(jù)庫處理使用ormlite:http://ormlite.com/(文檔全,注解的形式因此較慢) or ? ? ?greenDroid:https://github.com/greenrobot/greenDAO(據(jù)評測最快,不過每次需要java編譯較為麻煩) ? or ? ?ActiveAndroid:https://github.com/pardom/ActiveAndroid(沒有使用過) ? ?or ? ?https://github.com/satyan/sugar(輕量簡單, 下次項目使用)

5. get,post的請求使用:https://github.com/loopj/android-async-http ?或者 ?使用nio的庫:https://github.com/koush/ion?

https://github.com/koush/AndroidAsync ?庫支持程序退出后繼續(xù)下載

6. 圖片加載,包括ListView顯示圖片加載使用:https://github.com/square/picasso ,推薦這個,代碼中考慮的更為的周全

https://github.com/thest1/LazyList ?這個是我在項目中使用的

7. Json數(shù)據(jù)解析,有很多種,推薦使用FastJason:http://code.alibabatech.com/wiki/display/FastJSON/Home

8. ListView帶快速搜索與鍵入搜索:?listview右則搜索.rar

9. 推薦一個AFinal框架,不錯,集合了FinalDB、FinalActivity、FinalHttp、FinalBitmap四個功能與一身,不過在單一使用的情況下,還是使用單一功能的框架比較好

10. 仿IPhone時間滾輪控件:?iPhone時間轉(zhuǎn)輪控件.rar

11. 在android sdk3.0以下使用ActionBar ?安裝使用教程(親測)http://blog.csdn.net/daguaio_o/article/details/8028695

12. 多線程多任務隊列斷點下載,同時也提供開始、暫停功能,更多功能有待發(fā)掘,開源。本身jar有500k,感覺有點兒大,建議根據(jù)自己需要提取所需的代碼。https://github.com/white-cat/ThinkAndroid

13. GreenDroid 一個漂亮的android ui庫,推薦使用QuickAction

14. 手勢放大縮小,雙擊放大縮小圖片:https://github.com/jasonpolites/gesture-imageview

15. android緩存框架:https://github.com/yangfuhai/ASimpleCache

16. 把優(yōu)酷、土豆等取出它們真是的視頻播放地址:http://vparser.com/

17. 開源中國的Maven庫:http://maven.oschina.net/static/help.html

18. 針對新浪微博,騰訊微博的認證與分享demo:https://github.com/cstdr/WeiboSDKDemo.git

19. 一個可以替換ImageView的工具,smartImageView,來自github:http://loopj.com/android-smart-image-view/

20. 圖片放大與縮?。篻ithub的phoneView ?如果需要在放大縮小上再加上旋轉(zhuǎn),請參考集合項目https://github.com/codepanda-ch/android-gestureimageview

21. 強大的時間處理:joda ? ??http://sourceforge.net/projects/joda-time/files/joda-time/2.3/

22. 功能眾多的工具包:apcahe lang ? ? ??http://commons.apache.org/proper/commons-lang/download_lang.cgi

23. 收集了很多的github上面的開源庫列表:?https://github.com/Trinea/android-open-project

請尊重作者的勞動成果,轉(zhuǎn)載注明出處,謝謝!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容