1. 程式人生 > >github上Android開源專案彙總(帶效果圖)

github上Android開源專案彙總(帶效果圖)

第一部分 個性化控制元件(View)

主要介紹那些不錯個性化的 View,包括 ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style 等等。

一、ListView

效果圖:

Demo Demo

專案地址:https://github.com/CarlLee/SnappingSwipingRecyclerView

二、ActionBar

三、Menu

四、ViewPager 、Gallery

五、GridView

六、ImageView

七、ProgressBar

八、TextView

包括 TextView 及所有繼承自 TextView 控制元件,如 EditText、Button、RadioButton

palette效果: Renderings

九、ScrollView

十、TimeView

包括 TimePicker、DatePicker、CalendarView、Clock 等時間相關控制元件

十一、TipView

包括 Toast、角標、UndoBar 等提示性控制元件

十二、FlipView

十三、ColorPickView

十四、GraphView

十五、UI Style

不同樣式的系統 UI 風格,如 IOS、Bootstrap 風格

十六、其他

效果圖: Renderings

第二部分 工具庫

主要包括那些不錯的開發庫,包括依賴注入框架、圖片快取、網路請求、資料庫 ORM 建模、Android 公共庫、Android 高版本向低版本相容、多媒體相關及其他。

一、依賴注入 DI

通過依賴注入減少 View、服務、資源簡化初始化,事件繫結等重複繁瑣工作

二、圖片快取

三、網路請求

四、資料庫 orm 工具包

orm 的 db 工具類,簡化建表、查詢、更新、插入、事務、索引的操作

五、Android 公共庫

  1. Guava
    Google 的基於 java1.6 的類庫集合的擴充套件專案,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O 等等. 這些高質量的 API 可以使你的 JAVa 程式碼更加優雅,更加簡潔
    專案地址:https://code.google.com/p/guava-libraries/
    文件介紹:https://code.google.com/p/guava-libraries/wiki/GuavaExplained

  2. HttpCache Http 快取
    文件介紹:http://www.trinea.cn/android/android-http-cache
    特點是:(1) 根據 cache-control、expires 快取 http 請求
    (2) 支援同步、非同步 Http 請求
    (3) 在匿名回撥中處理請求結果
    (4) 在 UI 執行緒外進行 http 請求
    (5) 預設 gzip 壓縮
    (2) 公共 View(下拉及底部載入更多 ListView、底部載入更多 ScrollView、滑動一頁 Gallery)
    (3) Android 常用工具類(網路、下載、Android 資源操作、shell、檔案、Json、隨機數、Collection 等等)

  3. shipfaster
    整合了 Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速開發
    專案地址:https://github.com/pyricau/shipfaster

  4. Afinal
    Afinal 是一個 android 的 ioc,orm 框架,內建了四大模組功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過 finalActivity,我們可以通過註解的方式進行繫結 ui 和事件。通過 finalBitmap,我們可以方便的載入 bitmap 圖片,而無需考慮 oom 等問題。通過 finalDB 模組,我們一行程式碼就可以對 android 的 sqlite 資料庫進行增刪改查。通過 FinalHttp 模組,我們可以以 ajax 形式請求 http 資料
    專案地址:https://github.com/yangfuhai/afinal
    官網網址:http://www.afinal.org

  5. UltimateAndroid
    UltimateAndroid 是一個快速開發 Android 應用的框架,框架目前主要包含的功能有 View Injection,ORM,非同步網路請求和圖片載入,自動化指令碼測試,磁碟 LRU 等功能.同時提供了類似於 TripleDes、Webview 快速設定、Md5 處理、String 處理,Https 處理等常用工具類,還有超過 100 多種 UI 控制元件效果。
    專案地址:https://github.com/cymcsg/UltimateAndroid
    官網網址:http://blog.marshalchen.com/UltimateAndroid/

  6. SAF
    SAF(Simple Android Framework)是一個簡單的 android 框架,它為開發 Android app 提供了基礎性元件。
    專案地址:https://github.com/fengzhizi715/SAF
    官網網址:http://www.salesuite.cn/
    包括:(1)Event Bus(事件匯流排)
    (2) Rest Client(http 的框架)
    (3) Image Cache(圖片快取)
    (4) Dependency Injection(依賴注入)
    (5) Sqlite ORM(sqlite 的 orm)
    (6) Router(Activity、Fragment 的 Router)
    (7) Utils(各種常用的工具類)

  7. Barber
    Custom View 神器。通過簡單的註解幫助你大大減少 Custom View 中的程式碼量。由於和 ButterKnife 一樣使用了 Annotation Proccessor ,所以對程式效能沒有影響。
    專案地址:https://github.com/hzsweers/barber

  8. device-year-class
    A library that analyzes an Android device's specifications and calculates which year the device would be considered "high end”.(facebook 開發的檢測手機主流配置工具)
    專案地址:https://github.com/facebook/device-year-class

  9. RxAndroid
    對RxJava在Android上的擴充套件,使得Android上也很容易實現reactive components,簡化執行緒操作,從而寫出很漂亮的程式碼。
    專案地址:https://github.com/ReactiveX/RxAndroid
    文件介紹:給Android 開發者的 RxJava 詳解

六、Android 高版本向低版本相容

七、多媒體相關

八、事件匯流排(訂閱者模式)

通過釋出/訂閱事件解耦事件傳送和接受,從而簡化應用程式元件(Activities, Fragments 及後臺執行緒)之間的通訊

九、感測器

十、安全

十一、外掛化

十二、檔案

對不同文件型別的處理,包括 PDF、Word、EPub、Html、Zip 等

  1. Office 365 SDK for Android Preview
    可支援 Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail
    專案地址:https://github.com/OfficeDev/Office-365-SDK-for-Android

  2. jsoup
    一個解析 html 的 java 庫,可方便的提取和操作資料
    專案地址:https://github.com/jhy/jsoup
    官網網址:http://jsoup.org/
    作用:(1) 從一個 url、檔案或 string 獲得 html 並解析
    (2) 利用 dom 遍歷或 css 選擇器查詢、提取資料
    (3) 操作 html 元素
    (4) 根據白名單去除用於提交的非法資料防止 xss 攻擊
    (5) 輸出整齊的 html

  3. Image File Selector
    輕量級的圖片檔案選擇器,用系統api選取,壓縮和裁切圖片,可以方便的得要指定尺寸的圖片
    專案地址:https://github.com/sw926/ImageFileSelector

十三、其他

第三部分 優秀專案

主要介紹那些 Android 還不錯的完整專案,目前包含的專案主要依據是專案有意思或專案分層規範比較好。

一、系統及平臺

二、專案

第四部分 開發工具及測試工具

主要介紹和 Android 開發工具和測試工具相關的開源專案。

一、開發效率工具

二、開發自測相關

三、測試工具

  1. Spoon
    可用於 android 不同機型裝置自動化測試,能將應用 apk 和測試 apk 執行在不同機器上並生成相應測試報告。
    專案地址:https://github.com/square/spoon

  2. Tencent APT
    APT 是騰訊開源的一個 Android 平臺高效效能測試元件,提供豐富實用的功能,適用於開發自測、定位效能瓶頸;測試人員完成效能基準測試、競品對比測試
    專案地址:https://github.com/stormzhang/APT

  3. Android py-uiautomator
    py-uiautomator 是一個對 Android uiautomator 用 python 進行封裝的測試框架.
    專案地址:https://github.com/xiaocong/uiautomator

  4. stetho
    強大的 Android Debug 工具。支援網路請求監控以及資料庫檢視,可以和 Chrome DevTools 結合或者命令列模式。
    專案地址:https://github.com/facebook/stetho

四、開發及編譯環境

五、其他

第五部分

主要介紹那些樂於分享並且有一些很不錯的開源專案的個人和組織。Follow 大神,深挖大神的專案和 following,你會發現很多。

一、個人

  1. JakeWharton   現就職於 Google,(曾就職於 Square),絕對牛逼的大神,專案主要集中在 Android 版本相容,ViewPager 及開發工具上   Github 地址:https://github.com/JakeWharton
    代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids,SwipeToDismissNOA,hugo,butterknife,Android-DirectionalViewPager, scalpel
    pidcat 另外對 square 及其他開源專案有很多貢獻
    主頁:http://jakewharton.com/

  2. Chris Banes
    Github 地址:https://github.com/chrisbanes
    代表作:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh
    主頁:http://chris.banes.me/

  3. Manuel Peinado
    Github 地址:https://github.com/ManuelPeinado
    代表作:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader

  4. Jeff Gilfelt
    Github 地址:https://github.com/jgilfelt
    代表作:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
    主頁:http://jeffgilfelt.com

  5. sephiroth74
    就職於 Aviary.com
    Github 地址:https://github.com/sephiroth74
    代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
    主頁:http://www.sephiroth.it/

二、組織

  1. Square
    有態度有良心的企業,很多不錯的分享
    Github 地址:https://github.com/square
    代表作:okhttp、fest-android,android-times-square、picasso、dagger、spoon 等等
    主頁:http://square.github.io/

  2. Inmite s.r.o.
    Github 地址:https://github.com/inmite
    代表作:android-styled-dialogs,android-grid-wichterle,android-selector-chapek
    主頁:http://www.inmite.eu/

三、部落格