1. 程式人生 > >Android 第三方開源庫收集整理(轉)

Android 第三方開源庫收集整理(轉)

Android開源庫

自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。

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

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

一、相容類庫

  1. ActionBarSherlock  : Action Bar是Android 3.0後才開始支援的,ActionBarSherlock是讓Action Bar功能支援2.X後的所有平臺,而且他會自動的判斷是呼叫原生Action Bar還是使用擴充套件ActionBar。在我的小熊詞典裡有用到這個庫,而且很多非常知名的App也在使用這個庫。 
    GitHub
       Official   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 的作者,

    Jake Wharton ,  非常厲害的一個人,Github關注量超過 1.6K ,如果你也做Android開發或者即將開始學習Android開發,一定要去Follow他,而且留意一下他每次的star和follow資訊,經常會有很驚奇的發現。

    Jake Wharton
  4. HoloEverywhere :在Android 4.0時,Google引入了新的主題風格— Holo ,多數廠商都想統一介面設計UI,因此更加具有相容性的Holo主題庫 HoloEveryWhere 便成為很多開發者的選擇。在Android的官方Blog中也對 HoloEveryWhere 這個庫有所推薦, 
    點此檢視
     官方部落格對 HoloEveryWhere 的介紹。 HoloEveryWhere 的Github 。
  5. Android-Datepicker : 相容Android 4.0的 datepicker 至Android 2.2。  GitHub 

二、擴充套件功能庫

  1. SlidingMenu  : SlidingMenu 能非常容易的讓開發者實現程式的抽屜效果,所謂的抽屜效果如下圖所示,通常被用作撥出選單。而且SlidingMenu能很方便的與ActionBarSherlock融合,在官方GitHub上有關於如何融合的說明。  GitHub   同時,想要達到相同功能也可以看另一個Drawer設計: Android-Undergarment 
    滑動效果演示
  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 
  9. Android-DragArea:Android拖拽排序,拖拽移動 庫。 GitHub  (Opera Android瀏覽器的拖拽排序就是用的這個庫)
  10. Android-StaggeredGrid: Android 下類pinterest佈局。 GitHub

    Android 類 Pinterest 佈局

  11. FlipImageView: 通過擴充套件ImageView,實現了ImageView的各種翻轉效果。GitHub   體驗地址
  12. SmoothProgressBar:平滑的ProgressBar,各種效果。 GitHub   體驗地址

    各式各樣的ProgressBar

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

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

    浮動提示

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

    Android Cropper

  16. StickyGridHeaders:給GridView加上Header。 GitHub

    GridHeader

  17. Background-ViewPage:支援背景圖同時滑動的ViewPager。 感受地址   GitHub
  18. GoogleStyle-Datatime-Picker:做的很精緻的Google風格的時間選擇器。  Play  GitHub 

三、工具類庫:

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

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

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

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

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

  • ORM:  Object-relationship mapping,如果你不知道什麼是ORM設計, Google 。 目前Android上主要有三個ORM開源庫。 greenDAO 、 OrmLite 、 AndrORM 。排序基本代表性能。 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的Blog

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

十一、專案推薦使用的第三方開源庫

1. 使用上拉更多,下拉重新整理:https://github.com/JosephPeng/XListView-Android 
這個是github上面更為火爆的:https://github.com/chrisbanes/Android-PullToRefresh

2. 側滑的選單: 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. 水平移動導航條關聯ViewPage:

4. 資料庫處理使用ormlite:http://ormlite.com/(文件全,註解的形式因此較慢) or      greenDroid:https://github.com/greenrobot/greenDAO(據評測最快,不過每次需要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  庫支援程式退出後繼續下載

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

https://github.com/thest1/LazyList  這個是我在專案中使用的

7. Json資料解析,有很多種,推薦使用FastJason:http://code.alibabatech.com/wiki/display/FastJSON/Home

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

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

12. 多執行緒多工佇列斷點下載,同時也提供開始、暫停功能,更多功能有待發掘,開源。本身jar有500k,感覺有點兒大,建議根據自己需要提取所需的程式碼。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. 把優酷、土豆等取出它們真是的視訊播放地址: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. 圖片放大與縮小:github的phoneView  如果需要在放大縮小上再加上旋轉,請參考集合專案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

請尊重作者的勞動成果,轉載註明出處,謝謝! 

相關推薦

Android 第三方開源收集整理

Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發者,而且我會 不定期的更新 這篇文章。 Android下的優秀開發庫數不勝數,在本文中,我列舉

[]【開源框架】Android之史上最全最簡單最有用的第三方開源收集整理,有助於快速開發

原文地址:http://www.tuicool.com/articles/jyA3MrU Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫

Android之史上最全最簡單最有用的第三方開源收集整理

Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發者,而且我會 不定期的更新 這篇文章。 Android下的優秀開發庫數不勝數,在本文中,我列舉的多是

開源框架】Android之史上最全最簡單最有用的第三方開源收集整理,有助於快速開發,歡迎各位網友補充完善

Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發者,而且我會 不定期的更新 這篇文章。 Android下的優秀

開源框架】Android之史上最全最簡單最有用的第三方開源收集整理

Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發者,而且我會不定期的更新這篇文章。 Android下的優秀開發庫數不

這可能是目前最新的 Vue 相關開源項目匯總

imu down dai 過濾器 images life indicator ado peak 訪問地址:https://juejin.im/entry/58bf745fa22b9d0058895a58 原文鏈接:https://github.com/opendigg/aw

Android第三方開源:PopupWindow相關

MultiSelectPopWindow 效果圖 gradle allprojects { repositories { jcenter()

Android第三方開源:圖片壓縮

CompressHelper 原圖: 許可權: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permissi

理解Android進程創建流程

object c mman appdata sel failed scrip sca emp 不足 /frameworks/base/core/java/com/android/internal/os/ - ZygoteInit.java - Zygote

理解Android線程創建流程

ttr cal 創建失敗 指向 ear long readn nbsp bar /android/libcore/libart/src/main/java/java/lang/Thread.java /art/runtime/native/java_lang_Thread

Boost::thread的使用

http string col cpu 如果 定義 unlock opera stat 原文轉自 http://blog.csdn.net/lee353086/article/details/4673790 本文主要由線程啟動、Interruption機制、線程同步、等

AI 也開源:50 大開源 AI 項目

字母順序 星際 cloudera 遊戲 gpu 列數 分類 shark 基金 這些開源AI項目專註於機器學習、深度學習、神經網絡及其他應用場合。 自IT界早期以來,研制出能像人類那樣“思考”的機器一直是研究人員的一大目標。在過去幾年,計算機科

Yii 2.0 數據簡單操作

conf enables sel base attr brush 個數 對象 創建數據庫   開始使用數據庫首先需要配置數據庫連接組件,通過添加 db 組件到應用配置實現("基礎的" Web 應用是 config/web.php),DSN( Data Source Name

NDK筆記-在Android Studio中使用ndk-build

路徑 width 能夠 jdk ide 代碼 目標 -1 adl 前面一篇我們接觸了CMake,這一篇寫寫關於ndk-build的使用過程。剛剛用到,想到哪兒寫哪兒。 環境背景 Android開發IDE版本:AndroidStudio 2.2以上版本(目前已經升級到2.

從零開發分布式數據中間件 一、讀寫分離的數據中間件

mark str 日誌系統 arraylist none views gpo arr 體系 從零開發分布式數據庫中間件 一、讀寫分離的數據庫中間件

23種設計模式匯總整理

工廠方法 bst 基類 臨時 直接 不存在 裏氏代換原則 隔離 返回 轉自:一個小本科生的奮鬥史 感謝! 設計模式分為三大類: 創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。 結構型模式,共七種:適配器模式、裝飾器模式、代理模

Eigen筆記整理

向量 pre geo 直接 gpo 歐拉角 () blog 初始化 Eigen/Geometry 模塊提供了各種旋轉和平移的表示 旋轉矩陣直接使用 Matrix3d 或 Matrix3f Eigen::Matrix3d rotation_matrix = Eigen::M

Android Studio Flavors的妙用

QQ urn vps 網絡 spa 鏈接 nta 新建 AR 這兩天發現Android Studio 的Flavors用起來相當給力!這裏跟大家分享下: Flavors中文翻譯過來叫“口味”,不知道確切叫法是啥,它的功能就是允許你的APP有多個不同的版本,不同版本的代碼

Myeclipse的一些快捷鍵整理

源碼 整理 字母 ctr 激活 路徑 對話框 方法 層次 1. 【ALT+/】 此快捷鍵為用戶編輯的好幫手,能為用戶提供內容的輔助,不要為記不全方法和屬性名稱犯愁,當記不全類、方法和屬性的名字時,多體驗一下【ALT+/】快捷鍵帶來的好處吧。 2. 【Ctrl+O

開發API整理

附送一個  android 原始碼 檢視地址   http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/