1. 程式人生 > >安卓開源專案彙總

安卓開源專案彙總

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

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

一、ListView

三、Menu

五、GridView

六、ImageView

七、ProgressBar

八、TextView

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

九、ScrollView

十、TimeView

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

十一、TipView

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

十二、FlipView

十三、ColorPickView

十四、GraphView

十五、UI Style

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

十六、其他

第二部分 工具庫

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

一、依賴注入 DI

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

二、圖片快取

三、網路請求

四、資料庫 orm 工具包

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

五、Android 公共庫

b. 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 等等)

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

  2. 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

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

  4. 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(各種常用的工具類)

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

  6. 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

六、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

十三、其他

第三部分 優秀專案

主要介紹那些 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 
    就職於 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 

    1. 就職於 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/