1. 程式人生 > >Android開源專案 分類 便於檢視

Android開源專案 分類 便於檢視

之前轉載了一個開源專案的文章,發現那些都是沒有系統的總結,這裡又轉載一篇有系統總結的文章。

Android開源專案系列彙總已完成,包括:

Android開源專案第一篇——個性化控制元件(View)篇

Android開源專案第二篇——工具庫篇

Android開源專案第三篇——優秀專案篇

Android開源專案第四篇——開發及測試工具篇

Android開源專案第五篇——優秀個人和團體篇

Android開源專案第一篇——個性化控制元件(View)篇


主要介紹那些不錯個性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其他如Dialog、Toast、EditText、TableView、Activity Animation等等。

一、ListView

二、ActionBar

三、Menu

四、ViewPager 、Gallery

五、GridView

六、ImageView

七、ProgressBar

八、其他

Android開源專案第二篇——工具庫篇

本文為那些不錯的Android開源專案第二篇——開發工具庫篇,**主要介紹常用的開發庫,包括依賴注入框架、圖片快取、網路相關、資料庫ORM建模、Android公共庫、Android 高版本向低版本相容、多媒體相關及其他**。

通過這些專案你可以大幅度減少不必要的開發而將精力放在更重要的地方。

一、依賴注入DI



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

1. AndroidAnnotations(Code Diet) android快速開發框架

專案地址:https://github.com/excilys/androidannotations

文件介紹:https://github.com/excilys/androidannotations/wiki

官方網站:http://androidannotations.org/

特點:(1)依賴注入:包括view,extras,系統服務,資源等等


(2)簡單的執行緒模型,通過annotation表示方法執行在ui執行緒還是後臺執行緒

(3)事件繫結:通過annotation表示view的響應事件,不用在寫內部類

(4)REST客戶端:定義客戶端介面,自動生成REST請求的實現

(5)沒有你想象的複雜:AndroidAnnotations只是在在編譯時生成相應子類

(6)不影響應用效能:僅50kb,在編譯時完成,不會對執行時有效能影響。

PS:與roboguice的比較:roboguice通過執行時讀取annotations進行反射,所以可能影響應用效能,而AndroidAnnotations在編譯時生成子類,所以對效能沒有影響

二、圖片快取



1. Android-Universal-Image-Loader 圖片快取

2. picasso square開源的圖片快取

專案地址:https://github.com/square/picasso

文件介紹:http://square.github.io/picasso/

特點:(1)可以自動檢測adapter的重用並取消之前的下載

(2)圖片變換

(3)可以載入本地資源

(4)可以設定佔位資源

(5)支援debug模式

三、網路相關



1. Asynchronous Http Client for Android Android非同步Http請求

專案地址:https://github.com/loopj/android-async-http

文件介紹:http://loopj.com/android-async-http/

特點:(1) 在匿名回撥中處理請求結果

(2) 在UI執行緒外進行http請求

(3) 檔案斷點上傳

(4) 智慧重試

(5) 預設gzip壓縮

(6) 支援解析成Json格式

(7) 可將Cookies持久化到SharedPreferences

4. Ion 支援圖片、json、http post等非同步請求

7. okhttp square開源的http工具類

專案地址:https://github.com/square/okhttp

文件介紹:http://square.github.io/okhttp/

特點:(1) 支援SPDY(http://zh.wikipedia.org/wiki/SPDY)協議。SPDY協議是Google開發的基於傳輸控制協議的應用層協議,通過壓縮,多路複用(一個TCP連結傳送網頁和圖片等資源%E5%8D%8F%E8%AE%AE%E3%80%82SPDY%E5%8D%8F%E8%AE%AE%E6%98%AFGoogle%E5%BC%80%E5%8F%91%E7%9A%84%E5%9F%BA%E4%BA%8E%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE%E7%9A%84%E5%BA%94%E7%94%A8%E5%B1%82%E5%8D%8F%E8%AE%AE%EF%BC%8C%E9%80%9A%E8%BF%87%E5%8E%8B%E7%BC%A9%EF%BC%8C%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8(%E4%B8%80%E4%B8%AATCP%E9%93%BE%E6%8E%A5%E4%BC%A0%E9%80%81%E7%BD%91%E9%A1%B5%E5%92%8C%E5%9B%BE%E7%89%87%E7%AD%89%E8%B5%84%E6%BA%90))和優先順序來縮短載入時間。

(2) 如果SPDY不可用,利用連線池減少請求延遲

(3) Gzip壓縮

(4) Response快取減少不必要的請求

四、資料庫 orm工具包



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

1. greenDAO Android Sqlite orm的db工具類

專案地址:https://github.com/greenrobot/greenDAO

文件介紹:http://greendao-orm.com/documentation/

官方網站:http://greendao-orm.com/

特點:(1)效能佳

(2) 簡單易用的API

(3) 記憶體小好小

(4) 庫大小小

五、Android公共庫



1. Guava Google的基於java1.6的類庫集合的擴充套件專案

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



1. ActionBarSherlock 為Android所有版本提供統一的ActionBar,解決4.0以下ActionBar的適配問題

專案地址:https://github.com/JakeWharton/ActionBarSherlock

Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos

APP示例:太多了。。現在連google都在用

七、多媒體相關



1. cocos2d-x 跨平臺的2d遊戲框架,支援Android、IOS、Linux、Windows等眾多平臺

專案地址:https://github.com/cocos2d/cocos2d-x

文件介紹:http://www.cocos2d-x.org/wiki

官方網站:http://www.cocos2d-x.org/

2. Vitamio 是一款Android與iOS平臺上的全能多媒體開發框架

專案地址:https://github.com/yixia/VitamioBundle

網站介紹:http://www.vitamio.org/docs/

特點:(1) 全面支援硬體解碼與GPU渲染

(2) 能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視訊

(3) 在Android與iOS上跨平臺支援 MMS, RTSP, RTMP, HLS(m3u8)等常見的多種視訊流媒體協議,包括點播與直播。

八、其他



1. Salvage view 帶View快取的Viewpager PagerAdapter,很方便使用

專案地址:https://github.com/JakeWharton/salvage

3. android-lockpattern Android的圖案密碼解鎖

6. Android Priority Job Queue Android後臺任務佇列

7. 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開源專案第四篇——開發及測試工具篇

本文為那些不錯的Android開源專案第四篇——開發工具篇,**主要介紹Android開發工具和測試工具相關的開源專案**。

1、Buck

facebook開源的Android編譯工具,效率是ant的兩倍。主要優點在於:

(1) 加快編譯速度,通過並行利用多核cpu和跟蹤不變資源減少增量編譯時間實現

(2) 可以在編譯系統中生成編譯規則而無須另外的系統生成編譯規則檔案

(3) 編譯同時可生成單元測試結果

(4) 既可用於IDE編譯也可用於持續整合編譯

(5) facebook持續優化中

專案地址:https://github.com/facebook/buck

2、Android Maven Plugin

Android Maven外掛,可用於對android三方依賴進行管理。在J2EE開發中,maven是非常成熟的依賴庫管理工具,可統一管理依賴庫。

專案地址:https://github.com/jayway/maven-android-plugin

3、Spoon

可用於android不同機型裝置自動化測試,能將應用apk和測試apk執行在不同機器上並生成相應測試報告。

專案地址:https://github.com/square/spoon

5、SelectorChapek for Android

Android Studio外掛,可根據固定檔名格式資源自動生成drawable selectors xml檔案。

專案地址:https://github.com/inmite/android-selector-chapek

6、Android Resource Navigator

chrome外掛,可以方便的檢視github上android原始碼工程的styles.xml和themes.xml。主要功能:

(1) 快速開啟android styles.xml themes.xml

(2) 方便在資源間跳轉。styles.xml themes.xml檔案中資源連結跳轉,可以方便跳轉到某個資源

(3) 方便查詢某個style和theme。chrome位址列輸入arn+tab+搜尋內容回車即可

(4) 自動下載不同解析度下的drawable

(5) 通過對映查詢那些不是按照固定命名規則命名的style和theme

專案地址:https://github.com/jgilfelt/android-resource-navigator

示例:https://chrome.google.com/webstore/detail/android-resource-navigato/agoomkionjjbejegcejiefodgbckeebo?hl=en&gl=GB

10、渠道打包工具

11、Catlog

12、PID Cat

13、Hugo

Android開源專案第五篇——優秀個人和團體篇