1. 程式人生 > >【Android開源框架列表】

【Android開源框架列表】

自己一直很喜歡Android開發,就如部落格副標題一樣,我想做個好的App。

http://blog.daimajia.com/android-library-collection/  原文地址

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

首先感謝以下盆友對本文的捐助:

  • *文光       2014/4/24
  • *建巨集       2014/3/16
  • *洋           2014/6/12

同時,我會更新另一個我前幾日(2014/4/21)創辦的一個英文Blog,專門收集優質的開發庫,希望能幫助更多的開發者,多數時候那個會更新的快一些,歡迎大家捧場,加入收藏夾。

捐助:如果對你有幫助的話,可不可以來一發,5毛1快都可以呀

支付寶 掃一掃右側二維碼即可完成捐助:

Android下的優秀開發庫數不勝數,在本文中,我列舉的多是開發流程中最常用的一些。如果你還想了解更多的Android開源庫,可以檢視我的GitHub Star,過濾Java選項,每一個庫都是我認真檢視或者編譯執行的,希望對你產生幫助。

一、相容類庫

  1. ActionBarSherlock : Action Bar是Android 3.0後才開始支援的,ActionBarSherlock是讓Action Bar功能支援2.X後的所有平臺,而且他會自動的判斷是呼叫原生Action Bar還是使用擴充套件ActionBar。在我的小熊詞典裡有用到這個庫,而且很多非常知名的App也在使用這個庫。
    GitHub
     ActionBar科普 最新訊息(2013年7月):Android官方釋出的的Support Library Revision 18 開始支援ActionBar的相容。所以可以不用再使用ActionBarSherlock了。
  2. Android-ViewPagerIndicator : 這是與ViewPager相容的一個分頁指示器庫。分頁指示器(Friends 和 Suggested就是分頁,而下面藍色的小條就是指示器,ViewPagerIndicator支援多種樣式的指示器。):GitHub
  3. NineOldAndroids  : NineOldAndroids 將 Honeycomb (Android 3.0) 的動畫 API 
    擴充套件到了Android 1.0以上。這個庫的作者即是ActionBarSherlock的作者,也是Android-ViewPagerIndicator的作者,非常厲害的一個人,Github關注量超過1.6K,如果你也做Android開發或者即將開始學習Android開發,一定要去Follow他,而且留意一下他每次的star和follow資訊,經常會有很驚奇的發現。Jake Wharton
  4. HoloEverywhere:在Android 4.0時,Google引入了新的主題風格—Holo,多數廠商都想統一介面設計UI,因此更加具有相容性的Holo主題庫HoloEveryWhere便成為很多開發者的選擇。在Android的官方Blog中也對HoloEveryWhere這個庫有所推薦,點此檢視官方部落格對HoloEveryWhere的介紹。HoloEveryWhereGithub
  5. Android-Datepicker: 相容Android 4.0的datepicker至Android 2.2。 GitHub

二、擴充套件功能庫

  1. SlidingMenu : SlidingMenu 能非常容易的讓開發者實現程式的抽屜效果,所謂的抽屜效果如下圖所示,通常被用作撥出選單。而且SlidingMenu能很方便的與ActionBarSherlock融合,在官方GitHub上有關於如何融合的說明。 GitHub
    滑動效果演示
  2. AppMsg : 優雅的彈出類似Toast的訊息提示,支援3種狀態Alert,Confirm以及Info。GitHub
  3. Drag-Sort-ListView : 很多人都用過在一個ListView中通過拖拽對已有的資料進行排序操作。Drag-Sort-Listview就是實現這一功能的開源庫。GitHub
  4. Android-Flip : 輕鬆實現類似FlipBoard的翻頁功能。 GitHub
  5. Android-PullToRefresh : Android下拉重新整理元件。 GitHub    此外,該作者還有另外一個實用度和關注量極高的專案–另一種Android ActionBar的實現:GitHub  另:GitHub上另一個Android-PullToRefresh的實現。GitHub
  6. ActionBar-PullToRefresh: 基於ActionBar的下拉重新整理元件,在下拉的時候會替換掉ActionBar,顯示更新中… GitHub Demo下載
  7. picasso:  程式中經常面臨載入網路圖片的情況,成熟做法:非同步下載->快取->顯示,Picasso一行程式碼就可這三步輕鬆完成。GitHub GitHubPage ,GitHub上圖片非同步載入快取類庫很多,你也可嘗試使用Android-Universal-Image-Loader 或者 LazyList 後面將介紹到的afinal(國人專案)也具有此功能。
  8. Card-UI: Google很早之前開始在自家的App內使用卡片式佈局,CardUI極其美觀大方,想要在自己的App中整合卡片UI佈局,那麼就輕鬆地用這個專案吧。GitHub 或者你也可以使用這個庫來完成卡片佈局。CardLib 另一個卡片式佈局: GitHub
  9. Android-DragArea:Android拖拽排序,拖拽移動 庫。GitHub (Opera Android瀏覽器的拖拽排序就是用的這個庫)
  10. Android-StaggeredGrid: Android 下類pinterest佈局。GitHub

    Android 類 Pinterest 佈局

  11. FlipImageView: 通過擴充套件ImageView,實現了ImageView的各種翻轉效果。GitHub 體驗地址
  12. aChartEngine: Android繪製K線圖,以及各種豐富功能的圖表。Official Site average_temperature
  13. SmoothProgressBar:平滑的ProgressBar,各種效果。GitHub 體驗地址

    各式各樣的ProgressBar

  14. SuperToasts: 一個憤青對Toast的超強擴充套件,支援Toast中顯示Progressbar,顯示圖片,顯示文等等效果,快去感受下吧!Play GitHub

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

    浮動提示

  16. cropper:Android截圖和旋轉庫,輕鬆實現頭像和一些場景下的圖片操作。GitHub

    Android Cropper

  17. StickyGridHeaders:給GridView加上Header。GitHub

    GridHeader

  18. avatar-android: 一個用來展示頭像的庫,支援多種展示方式(圓形,方形)。GitHub 下載感受
  19. Background-ViewPage:支援背景圖同時滑動的ViewPager。感受地址 GitHub
  20. pinned-section-listview: 類似Google聯絡人裡的分類列表效果,通過關鍵字設定不同的分類。GitHub 感受地址
  21. DraggablePanel:實現類似Youtube的拖拽縮小,滑動刪除效果。GitHub 另一個 原文地址 檢視效果圖(圖片較大)
  22. Progress-Button: 支援Progress-bar的Button。GitHub 體驗地址
  23. GoogleStyle-Datatime-Picker:做的很精緻的Google風格的時間選擇器。 Play GitHub
  24. Caldroid:另一個很棒的Android-Calendar。GitHubCaldroid
  25. 有一個很棒的Date Time Number Picker。 GitHub
  26. Android-CircleButton:Android圓形按鈕。 GitHub
  27. FreeFlow: 支援多種展示方式的佈局方法。GitHub
  28. AsymmetricGridView: 另一個類似FreeFlow的很酷的佈局庫。GitHub Apk DemoAsymmetricGridView
  29. JazzViewPager:提供多種ViewPager的過場動畫。 GitHub
  30. Photo-Process:Android下給照片加各種濾鏡。GitHub  Apk Demo
  31. Android-UndoBar: 類似Google Gmail中的Undo bar實現。GitHub 另一個
  32. ScrollBarPanelWithClock:類Path側邊滾動條時鐘效果。 感受地址
  33. activity-animation:一個庫,收集Activity animation 動畫 GitHub Apk體驗
  34. shake-detector: android晃動檢測。GitHub
  35. parallaxlistview:這種視差效果最早是由Path引入的,優美的效果一下抓住了使用者的眼球,無聊的時候就會拽啊拽的,Android下也有一個仿Path的第三方庫: GitHub Apk體驗Path
  36. poppyview: 提供類似Google Plus和Chrome上的下滑浮出View效果。GitHub APK體驗地址
    android-circlebutton

  三、工具類庫:

首先,就我個人開發經驗,總結一下平常用到的一些最常用的功能:

  1. 必不可少的除錯功能
  2. 下載,比如圖片,檔案。
  3. 將下載的檔案進行解壓。
  4. 請求伺服器,比如說上傳登陸資訊,更新某些資料,又或者上傳頭像檔案。
  5. 從檔案系統中選擇要操作的檔案(圖片,拍照,視訊,拍攝視訊)。
  6. 有時候也需要爬取某些網頁資料。
  7. 儲存一些配置資訊
  8. 播放視訊
  9. 再有一個特殊需求就是關乎Android程式UI設計,圖示是個很麻煩的問題。每次都難以找到合適的Android 設計UI。

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

  1. DebugLog:更加機智的除錯功能,能夠友好的顯示除錯資訊所在類和函式。GitHub
  2. afinal: afinal是一個很方便的工具庫。GitHub  作者部落格(注:國人專案喲)
    • 一行程式碼就可以對資料庫進行增刪改查。 
    • 完全註解方式就可以進行UI繫結和事件繫結。無需findViewById和setClickListener等。
    • 輕鬆實現Android上傳檔案,POST資料,下載檔案(支援斷點續傳,隨時停止下載任務 或者 開始任務)。
    • 一行程式碼載入網路圖片。
  3. android-async-http: Android下的非同步HTTP庫。GitHub   文件  PS:作者的GitHub值得關注。
    • 傳送非同步http請求,並且可在回撥函式中處理返回響應Response。
    • http請求在thread執行緒,不會阻塞UI執行緒。
    • 請求使用執行緒池(ThreadPool)實現,優化了併發的資源使用。
    • 支援Multipart 檔案上傳。
    • 如果Request請求失敗,會自動請求。
    • 支援Json解碼。
    • 支援儲存Cookies到Preference中。
    • 支援gzip處理Request以及Response。
    • 整個庫只有19KB。
  4. http-requests: Java http請求庫,設計的很優雅的一個庫,推薦。 GitHub
  5. async-http-client: Android下的非同步 Http 和 WebSocket 庫。  GitHub
    • 支援代理設定
    • 支援分片兒處理請求返回內容
    • 支援WebSocket
  6. zt-zip: 壓縮和解壓庫。 GitHub
    • 壓縮和解壓
    • 單獨操作檔案壓縮和解壓。
    • 替換zip檔案中的某個檔案
  7. jarchivelib: 另一個zip的壓縮解壓庫。 GitHub
  8. aFileChooser:檔案選擇器,用於選擇需要操作的檔案 GitHub
  9. image-chooser-library: 圖片和視訊的選擇庫。 GitHub Demo
  10. jsoup: HTML解析,並且能很好理解DOM,CSS,以及JQuery。PS:這是java庫。做網頁爬蟲(Crawler,Robot)必備。
  11. toml:這是個跨語言的配置資訊存取方案。GitHub
  12. Androiton-Action-Bar-Icons:一個針對Android 優化過的ICON圖示集。 GitHub Demo
  13. 推薦一個Android整體框架:ThinkAndroid 集成了ioc,orm,下載,快取等模組,能讓開發更加快速和高效,同時還是國人專案。GitHub
  14. 如果你想要更快的網路傳輸和載入速度可以試試OKHTTP,他實現了Google開發的SPDY協議,通過複用一個Socket,縮短網路載入時間。關於SPDY看這裡  OKHTTP
  15. Android-ProgressFragment:等待資料的時候,支援顯示等待符號的Fragment控制元件。GitHub
  16. 關於播放視訊,不要再去研究什麼FFMPEG了,too slow,國人有個非常非常出色的開源專案叫Vitamio,讓你播放視訊簡單如abc。GitHub 官方網站
  17. AndroidCommon:Android常用的一些庫和功能,如快取,下拉列表,下載管理,靜默安裝等。感謝Trinea GitHub
  18. ion: 讓Android的網路操作變得極其簡單,支援非同步獲取和處理JSON,支援Android檔案下載(同時支援下載進度條繫結),支援安全連結和代理。超級推薦! GitHub
  19. IcePick: onSaveInstance的輔助類,用於快速恢復Activity狀態。GitHub

四、圖示資源:

五、一些手冊

七、一些視訊(以下均為Google 2013 I/O大會的現場視訊,視訊較多持續更新中…)

  • Android Studio 的新特性官方講解視訊,我在官方技術部落格上下載下來,上傳到網盤,希望對大家有幫助。下載地址
  • Android引入Gradle的官方講解視訊 下載地址
  • Google 2013 IO大會上抽出40多分鐘時間講解了Android Custom View的底層原理和書寫方法。非常值得一看!下載地址
  • IO大會上還講解了高效能Android RenderScript的原理和使用方法,搞圖形影象必備良品。下載地址
  • 大會上還向開發者講解了如何實現簡潔、快速的網路請求。包括常用的JSON、AsyncTask,還提出了一種網路負荷較重情況下的解決方案RequestQueue(請求佇列),提升自己技術必備視訊。下載地址
  • Android 藍芽 操作最佳實踐。下載地址
  • Android ui 設計官方指南 下載地址
  • Android遊戲開發 官方講解視訊 下載地址

八、高價值連結

  • Android官方部落格 提供一些跟Android相關的即時諮詢。(需要梯子)
  • Android官方技術部落格 主要提供一些新工具(如Android Studio),新技術(如每次更新帶來新特性)的演示和講解。(需要梯子)
  • 23code.com: 超強烈推薦,裡面收集了非常多漂亮的Android開源專案。
  • AndroidViews Android View元件收集站點。
  • 那兩年煉就的Android內功修養 (這是一篇Android入門到提高的文章,內容很全面,而且由淺入深,強烈推薦,來自老羅的Android之旅)
  • Android-er :專注Android好多年的一個老外的Blog。(需要梯子)
  • Android-Newbie: 收錄了Android影象處理相關的教程。
  • MooDroid: 我創辦的另一個關於Android 開源庫的分享站點。

九、整合其他開發特性(懶人專用)

  • ORM: Object-relationship mapping,如果你不知道什麼是ORM設計,Google。 目前Android上主要有三個ORM開源庫。greenDAOOrmLiteAndrORM。排序基本代表性能。greenDao和Ormlite效能測試  Ormlite和Androrm效能對比,主要是原理實現決定的效能差異(GreenDao採用生成資料表類檔案,其他的則採用了反射…)。如果對資料庫效能要求很高,那麼採用greenDao,如果想圖方便採用OrmLite或者AndrORM。
  • ORM2: ActiveAndroid,另一個Android ORM元件,做的非常棒,推薦。GitHub
  • sprinkles: 有一個ORM元件。 GitHub
  • android-priority-jobqueue:Android Job佇列。輕鬆實現後臺task管理,保證程式碼更清晰,低耦合。GitHub
  • androidquery: 簡單的Android框架,讓寫程式碼變得更簡單。Google Code
  • Android-Templates-And-Utilities: 集合了Android開發中一些常用的工具類和模板以及一些程式碼片段。GitHub
  • Android key value 引擎: MooDroid

十、專注Android的Blog

十一、有用的Android Studio 和 Eclipse外掛

  1. android-parcelable-intellij-plugin: 快速為類實現Parcelable介面。 GitHub
  2. sdk-manager-plugin: 自動下載和安裝缺失的SDK和依賴庫,建議所有開源專案整合,使得第三方更加容易編譯。GitHub
  3. android_dbinspector:開發過程中經常要看資料庫的結構和資料庫內容,這個第三方工具就能快速幫助你完成所有資料庫校驗工作。GitHub
  4. AndroidStudioTemplate:開發過程中,幫助你快速建立一些開發模板。GitHub

十二、從這些專案中學習元件的用法

十三、有用文章收集

  1. 提交AAR包到Maven center. Link Link2

文章型別:原創

最後更新時間:2014-06-12

作者:程式碼家  ,轉載請註明出處。

捐助:此渣文如果對你有幫助的話,考慮來一發小額捐助如何!

支付寶 掃一掃右側二維碼即可完成捐助: