第二部分 工具庫css
主要包括那些不錯的開發庫,包括依賴注入框架、圖片緩存、網絡相關、數據庫ORM建模、Android公共庫、Android 高版本向低版本兼容、多媒體相關及其餘。html
1、依賴注入DIjava
經過依賴注入減小View、服務、資源簡化初始化,事件綁定等重複繁瑣工做linux
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在編譯時生成子類,因此對性能沒有影響
roboguice
幫你處理了不少代碼異常,利用annotation使得更少的代碼完成項目
項目地址:https://github.com/roboguice/roboguice
文檔介紹:https://github.com/roboguice/roboguice/wiki
butterknife
利用annotation幫你快速完成View的初始化,減小代碼
項目地址:https://github.com/JakeWharton/butterknife
文檔介紹:http://jakewharton.github.io/butterknife/
Dagger
依賴注入,適用於Android和Java
項目地址:https://github.com/square/dagger
文檔介紹:http://square.github.io/dagger/android
2、圖片緩存ios
Android-Universal-Image-Loader
圖片緩存,目前使用最普遍的圖片緩存,支持主流圖片緩存的絕大多數特性。
項目地址:https://github.com/nostra13/Android-Universal-Image-Loader
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true
文檔介紹:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html
picasso
square開源的圖片緩存
項目地址:https://github.com/square/picasso
文檔介紹:http://square.github.io/picasso/
特色:(1)能夠自動檢測adapter的重用並取消以前的下載
(2)圖片變換
(3)能夠加載本地資源
(4)能夠設置佔位資源
(5)支持debug模式
ImageCache
圖片緩存,包含內存和Sdcard緩存
項目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文檔介紹:http://www.trinea.cn/android/android-imagecache/
特色:(1)支持預取新圖片,支持等待隊列
(2)包含二級緩存,可自定義文件名保存規則
(3)可選擇多種緩存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13種)或自定義緩存算法
(4)可方便的保存及初始化恢復數據
(5)支持不一樣類型網絡處理
(6)可根據系統配置初始化緩存等git
3、網絡相關github
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
android-query
異步加載,更少代碼完成Android加載
項目地址:https://github.com/androidquery/androidquery 或https://code.google.com/p/android-query/
文檔介紹:https://code.google.com/p/android-query/#Why_AQuery?
Demo地址:https://play.google.com/store/apps/details?id=com.androidquery
特色:https://code.google.com/p/android-query/#Why_AQuery?
Async Http Client
Java異步Http請求
項目地址:https://github.com/AsyncHttpClient/async-http-client
文檔介紹:http://sonatype.github.io/async-http-client/
Ion
支持圖片、json、http post等異步請求
項目地址:https://github.com/koush/ion
文檔介紹:https://github.com/koush/ion#more-examples
HttpCache
Http緩存
項目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文檔介紹:http://www.trinea.cn/android/android-http-cache
特色是:(1) 根據cache-control、expires緩存http請求
(2) 支持同步、異步Http請求
(3) 在匿名回調中處理請求結果
(4) 在UI線程外進行http請求
(5) 默認gzip壓縮
Http Request
項目地址:https://github.com/kevinsawicki/http-request
文檔介紹:https://github.com/kevinsawicki/http-request#examples
okhttp
square開源的http工具類
項目地址:https://github.com/square/okhttp
文檔介紹:http://square.github.io/okhttp/
特色:(1) 支持SPDY( http://zh.wikipedia.org/wiki/SPDY )協議。SPDY協議是Google開發的基於傳輸控制協議的應用層協議,經過壓縮,多路複用(一個TCP連接傳送網頁和圖片等資源)和優先級來縮短加載時間。
(2) 若是SPDY不可用,利用鏈接池減小請求延遲
(3) Gzip壓縮
(4) Response緩存減小沒必要要的請求
Retrofit
RESTFUL API設計
項目地址:https://github.com/square/retrofit
文檔介紹:http://square.github.io/retrofit/
RoboSpice
Android異步網絡請求工具,支持緩存、REST等等
項目地址:https://github.com/stephanenicolas/robospice
Demo地址:https://github.com/stephanenicolas/RoboDemo/downloadsweb
4、數據庫 orm工具包算法
orm的db工具類,簡化建表、查詢、更新、插入、事務、索引的操做
greenDAO
Android Sqlite orm的db工具類
項目地址:https://github.com/greenrobot/greenDAO
文檔介紹:http://greendao-orm.com/documentation/
官方網站:http://greendao-orm.com/
特色:(1) 性能佳
(2) 簡單易用的API
(3) 內存小好小
(4) 庫大小小
ActiveAndroid
Android Sqlite orm的db工具類
項目地址:https://github.com/pardom/ActiveAndroid
文檔介紹:https://github.com/pardom/ActiveAndroid/wiki/_pages
Sprinkles
Android Sqlite orm的db工具類
項目地址:https://github.com/emilsjolander/sprinkles
文檔介紹:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/
特色:比較顯著的特色就是配合https://github.com/square/retrofit 能保存從服務器獲取的數據
ormlite-android
項目地址:https://github.com/j256/ormlite-android
文檔介紹:http://ormlite.com/sqlite_java_android_orm.shtml
5、Android公共庫
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
Volley
Google提供的網絡通訊庫,使得網絡請求更簡單、更快速
項目地址:https://android.googlesource.com/platform/frameworks/volley
Github地址:https://github.com/mcxiaoke/android-volley
文檔地址:http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdf
AndroidCommon
Android公共庫
項目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文檔介紹:http://www.trinea.cn/android/android-common-lib/
包括:(1)緩存(圖片緩存、預取緩存、網絡緩存)
(2) 公共View(下拉及底部加載更多ListView、底部加載更多ScrollView、滑動一頁Gallery)
(3) Android經常使用工具類(網絡、下載、Android資源操做、shell、文件、Json、隨機數、Collection等等)
shipfaster
整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速開發
項目地址:https://github.com/pyricau/shipfaster
CleanAndroidCode
整合了Dagger Otto AndroidAnnotations,方便快速開發
項目地址:https://github.com/pyricau/CleanAndroidCode
我目前也在作框架選型方面的工做,不出意外後面也會出個跟四、5相似的項目
6、Android 高版本向低版本兼容
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都在用
Nine Old Androids
將Android 3.0(Honeycomb)全部動畫API(ObjectAnimator ValueAnimator等)兼容到Android1.0
項目地址:https://github.com/JakeWharton/NineOldAndroids
Demo地址:https://play.google.com/store/apps/details?id=com.jakewharton.nineoldandroids.sample
文檔介紹:http://nineoldandroids.com/
HoloEverywhere
將Android 3.0的Holo主題兼容到Android2.1++
項目地址:https://github.com/Prototik/HoloEverywhere
Demo地址:https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk
文檔介紹:http://android-developers.blogspot.com/2012/01/holo-everywhere.html
SherlockNavigationDrawer
將Android NavigationDrawer和ActionbarSherlock結合,解決4.0如下NavigationDrawer的適配問題
項目地址:https://github.com/tobykurien/SherlockNavigationDrawer
Notifications4EveryWhere
將Android 4.1的兼容到Android2.2++
項目地址:https://github.com/youxiachai/Notifications4EveryWhere
NavigationDrawer文檔地址:http://developer.android.com/training/implementing-navigation/nav-drawer.html
Android Switch Widget Backport
將Android Switch和SwitchPreference的兼容到Android2.1++
項目地址:https://github.com/BoD/android-switch-backport
Demo地址:https://play.google.com/store/apps/details?id=org.jraf.android.backport.switchwidget.sample
文檔介紹:https://github.com/BoD/android-switch-backport#using-the-switch
android-datepicker
將Android 4.0的datepicker兼容到Android2.2++
項目地址:https://github.com/SimonVT/android-datepicker
GlowPadBackport
Android 4.2的GlowPadView向後適配到API4以上
項目地址:https://github.com/frakbot/GlowPadBackport
7、多媒體相關
cocos2d-x
跨平臺的2d遊戲框架,支持Android、IOS、Linux、Windows等衆多平臺
項目地址:https://github.com/cocos2d/cocos2d-x
文檔介紹:http://www.cocos2d-x.org/wiki
官方網站:http://www.cocos2d-x.org/
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)等常見的多種視頻流媒體協議,包括點播與直播。
PhotoProcessing
利用ndk處理圖片庫,支持Instafix、Ansel、Testino、XPro、Retro、BW、Sepia、Cyano、Georgia、Sahara、HDR、Rotate(旋轉)、Flip(翻轉)等各類特效
項目地址:https://github.com/lightbox/PhotoProcessing
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=true
Android StackBlur
圖片模糊效果工具類
項目地址:https://github.com/kikoso/android-stackblur
Demo地址:https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true
文檔介紹:https://github.com/kikoso/android-stackblur#usage
Bitmap Smart Clipping using OpenCV
圖片智能裁剪保留重要部分顯示
項目地址:https://github.com/beartung/tclip-android
利用淘寶的 http://code.taobao.org/p/tclip/ 庫完成
一淘玩客正在使用的圖片裁剪,自動識別圖片中的重要區域,而且在圖片裁剪時保留重要區域
特色:(1). 能進行人臉識別。圖片中有人臉,將自動視爲人臉區域爲重要區域,將不會被裁剪掉
(2).自動其它重要區域。若是圖片中未識別出人臉,則會根據特徵分佈計算出重區域
Cropper
圖片局部剪切工具,可觸摸控制選擇區域或旋轉
項目地址:https://github.com/edmodo/cropper
使用介紹:https://github.com/edmodo/cropper/wiki
效果圖:
android-crop
圖片裁剪Activity
項目地址:https://github.com/jdamcd/android-crop
效果圖:
TileView
可分塊顯示大圖,支持2D拖動、雙擊、雙指放大、雙指捏合
項目地址:https://github.com/moagrius/TileView
Demo地址:http://moagrius.github.io/TileView/TileViewDemo.apk
BlurEffectForAndroidDesign
圖片模糊效果
項目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign
android-eye
PC端網頁查看同一局域網內的手機攝像頭內容,能夠用來監控哦
項目地址:https://github.com/Teaonly/android-eye
Demo地址:https://play.google.com/store/apps/details?id=teaonly.droideye
libpng for Android
PNG圖片的jni庫,支持幾乎png的全部特性
項目地址:https://github.com/julienr/libpng-android
文檔地址:http://www.libpng.org/pub/png/libpng.html
android-gpuimage
基於GPU的圖片濾鏡
項目地址:https://github.com/CyberAgent/android-gpuimage
AndroidFaceCropper
圖片臉部自動識別,將識別後的局部圖片返回
項目地址:https://github.com/lafosca/AndroidFaceCropper
Demo地址:https://github.com/lafosca/AndroidFaceCropper/releases/download/1.0/FaceCropper-sample-debug-unaligned.apk
8、事件總線(訂閱者模式)
經過發佈/訂閱事件解耦事件發送和接受,從而簡化應用程序組件(Activities, Fragments及後臺線程)之間的通訊
EventBus
greenrobot的開源項目
項目地址:https://github.com/greenrobot/EventBus
文檔介紹:https://github.com/greenrobot/EventBus#general-usage-and-api
特色:(1) 支持在不一樣類型的線程中處理訂閱,包括髮布所在線程,UI線程、單一後臺線程、異步線程
(2) 支持事件優先級定義,支持優先級高的訂閱者取消事件繼續傳遞,支持粘性事件,是否是跟系統的有序廣播、粘性廣播很像啊
(3) 不是基於annotations
(4) 性能更優
(5) 體積小
(6) 支持單例建立或建立多個對象
(7) 支持根據事件類型訂閱
Otto
Square的開源項目,基於Guava的Android優化
項目地址:https://github.com/square/otto
文檔介紹:http://square.github.io/otto/
EventBus與Otto的功能及性能對比文檔
EventBus與Otto性能對比Demo Apk
9、傳感器
Great Android Sensing Toolkit
Android感應器工具包,包含示例及使用過程當中可能須要的算法
項目地址:https://github.com/gast-lib/gast-lib
Demo地址:https://play.google.com/store/apps/details?id=root.gast.playground
文檔介紹:https://github.com/gast-lib/gast-lib#documentation
SensorManager
Android傳感器管理
項目地址:https://github.com/nlathia/SensorManager
文檔介紹:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/edit
GPSLogger
記錄GPS信息
項目地址:https://github.com/mendhak/gpslogger
Demo地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger
文檔介紹:http://code.mendhak.com/gpslogger/
Pedometer
計步器,使用硬件計步感應器
項目地址:https://github.com/j4velin/Pedometer
leapcast
ChromeCast模擬器的App
項目地址:https://github.com/dz0ny/leapcast
Arduino-Communicator
與Arduino通訊的App
項目地址:https://github.com/jeppsson/Arduino-Communicator
android-pedometer
Android計步器
項目地址:https://github.com/bagilevi/android-pedometer
Demo地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apk
OwnTracks for Android
本身的軌跡記錄
項目地址:https://github.com/owntracks/android
Shake Detector library for Android
Android手機震動搖晃檢測庫,提供供UI線程調用的回調接口
項目地址:https://github.com/tbouron/ShakeDetector
Demo地址:https://play.google.com/store/apps/details?id=com.github.tbouron.shakedetector.example
Android heart rate monitor
Android心跳檢測
項目地址:https://github.com/phishman3579/android-heart-rate-monitor
Bluetooth LE Library for Android
藍牙源信息,包括寶庫Mac、更新時間、RSSI、UUID、信號源距離、影響範圍等信息
項目地址:https://github.com/alt236/Bluetooth-LE-Library—Android
Demo地址:https://play.google.com/store/apps/details?id=uk.co.alt236.btlescan
farebot
經過NFC 從公交卡中讀取數據的一個應用
項目地址:https://github.com/codebutler/farebot
10、安全
SQLCipher
Sqlite加密工具
項目地址:https://github.com/sqlcipher/sqlcipher
幫助文檔:http://sqlcipher.net/sqlcipher-for-android/
Conceal
快速高效的進行文件加密解密
項目地址:https://github.com/facebook/conceal
文檔介紹:https://github.com/facebook/conceal#usage
Android-PasscodeLock
應用鎖,每次啓動或從任何Activity啓動應用都須要輸入四位數字的密碼方可進入
項目地址:https://github.com/wordpress-mobile/Android-PasscodeLock
Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
APP示例:Wordpress Android,支付寶,挖財
GlowPadBackport
將Android4.2的鎖屏界面解鎖擴展到Android1.6及1.6+
項目地址:https://github.com/rock3r/GlowPadBackport
Demo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample
效果圖:
GlowPadView
Android 4鎖屏界面解鎖
項目地址:https://github.com/nadavfima/GlowPadView
效果圖:https://raw.github.com/nadavfima/GlowPadView/master/example.png
android-lockpattern
Android的圖案密碼解鎖
項目地址:https://code.google.com/p/android-lockpattern/
Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
使用介紹:https://code.google.com/p/android-lockpattern/wiki/QuickUse
示例APP:Android開機的圖案密碼解鎖,支付寶的密碼解鎖
11、其餘
Salvage view
帶View緩存的Viewpager PagerAdapter,很方便使用
項目地址:https://github.com/JakeWharton/salvage
Android Priority Job Queue
Android後臺任務隊列
項目地址:https://github.com/path/android-priority-jobqueue
文檔介紹:https://github.com/path/android-priority-jobqueue#getting-started
jsoup
一個解析html的java庫,可方便的提取和操做數據
項目地址:https://github.com/jhy/jsoup
官方網站:http://jsoup.org/
做用:(1) 從一個url、文件或string得到html並解析
(2) 利用dom遍歷或css選擇器查找、提取數據
(3) 操做html元素
(4) 根據白名單去除用於提交的非法數據防止xss攻擊
(5) 輸出整齊的html
ZIP
java壓縮和解壓庫
項目地址:https://github.com/zeroturnaround/zt-zip
文檔介紹:https://github.com/zeroturnaround/zt-zip#examples
做用:(1) 解壓和壓縮,並支持文件夾內遞歸操做
(2) 支持包含和排除某些元素
(3) 支持重命名元素
(4) 支持遍歷zip包內容
(5) 比較兩個zip包等功能
Cobub Razor
開源的mobile行爲分析系統,包括web端、android端,支持ios和window phone
項目地址:https://github.com/cobub/razor
Demo地址:http://demo.cobub.com/razor
網站介紹:http://dev.cobub.com/
aFileChooser
文件選擇器,可內嵌到程序中,而無需使用系統或三方文件選擇器。
項目地址:https://github.com/iPaulPro/aFileChooser
androidpn
基於xmpp協議的消息推送解決方案,包括服務器端和android端。
項目地址:https://github.com/dannytiehui/androidpn
Android Plugin Framework
Android插件式開發
項目地址:https://github.com/umeng/apf
purePDF
容許從任何運行的SWF文件讀取和建立PDF文檔
項目地址:https://github.com/sephiroth74/purePDF
Bolts
Android的異步編程模式
項目地址:https://github.com/BoltsFramework/Bolts-Android/
與AsyncTask比較:(1) 使用的是無大小限制的線程池
(2) 任務可組合可級聯,防止了代碼耦合
CastCompanionLibrary-android
使Android程序中更快的接入Google Cast
項目地址:https://github.com/googlecast/CastCompanionLibrary-android
文檔介紹:https://developers.google.com/cast/
CastVideos-android
從Android設備分享Video經過Google Cast
項目地址:https://github.com/googlecast/CastVideos-android
文檔介紹:https://developers.google.com/cast/
Uninstall_Statics
Android應用自身被卸載監聽及打開瀏覽器等反饋功能實現
項目地址:https://github.com/sevenler/Uninstall_Statics
文檔介紹:http://www.cnblogs.com/zealotrouge/p/3157126.html
http://www.cnblogs.com/zealotrouge/p/3159772.html
xCombine
Android App插件式插件開發
項目地址:https://github.com/wyouflf/xCombine
文檔介紹:http://my.oschina.net/u/1171837/blog/155377
Memento
保證在系統配置改變時,Activity中的某些數據能夠簡單安全的保持不變
項目地址:https://github.com/mttkay/memento
文檔介紹:https://github.com/mttkay/memento#usage
svg-android
Android Svg矢量圖形支持
項目地址:https://github.com/japgolly/svg-androidhttps://github.com/japgolly/svg-android
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
OpenSpritz-Android
Epub閱讀器
項目地址:https://github.com/OnlyInAmerica/OpenSpritz-Android
FreeFlow
佈局引擎,更簡單的建立自定義佈局,而且當數據和佈局改變時更美觀的過渡動畫
項目地址:https://github.com/Comcast/FreeFlow
Demo地址:https://github.com/Comcast/FreeFlow/releases
Android Gesture Detectors Framework
Android手勢框架,支持雙指旋轉、移動、平移、縮放等
項目地址:https://github.com/Almeros/android-gesture-detectors
Mapbox Android SDK
Android Map的替代版
項目地址:https://github.com/mapbox/mapbox-android-sdk
Activity animation
Activity跳轉動畫,支持各個方向波浪的效果
項目地址:https://github.com/flavienlaurent/activityanimation
在線演示:https://www.youtube.com/watch?v=-E0sc6w_Jck
第三部分 優秀項目
主要介紹那些Android還不錯的完整項目,目前包含的項目主要依據是項目有意思或項目分層規範比較好。
Linux
項目地址:https://github.com/torvalds/linux
Android
項目地址:https://android.googlesource.com/ 或https://github.com/android
以上兩個項目,不解釋
(1) ZXing
二維碼掃描工具
項目地址:https://github.com/zxing/zxing 或https://code.google.com/p/zxing/
APK地址:https://play.google.com/store/apps/details?id=com.google.zxing.client.android
PS:如今市面上不少應用的二維碼掃描功能都是從這個修改而來
(2) photup
編輯機批量上傳照片到facebook上
項目地址:https://github.com/chrisbanes/photup
APK地址:https://play.google.com/store/apps/details?id=uk.co.senab.photup
PS:代碼分包合理,很棒。不過這個項目依賴的開源項目比較多,比較難編譯
(3) github-android Github的Android客戶端項目
項目地址:https://github.com/github/android
APK地址:https://play.google.com/store/apps/details?id=com.github.mobile
(4) Notes
MIUI便籤
項目地址:https://github.com/MiCode/Notes
APK地址:https://github.com/Trinea/TrineaDownload/blob/master/miui-note-demo.apk?raw=true
PS:項目分包比較合理,相比較miui的文件管理器https://github.com/MiCode/FileExplorer 代碼規範較好得多
(5) weicuiyuan
四次元-新浪微博客戶端
項目地址:https://github.com/qii/weiciyuan
APK地址:https://play.google.com/store/apps/details?id=org.qii.weiciyuan
(6) gnucash-android
一個記帳理財軟件
項目地址:https://github.com/codinguser/gnucash-android
APK地址:http://play.google.com/store/apps/details?id=org.gnucash.android
(7) AntennaPod
支持rss訂閱、音樂訂閱
項目地址:https://github.com/danieloeh/AntennaPod
APK地址:https://play.google.com/store/apps/details?id=de.danoeh.antennapod
(8) ChaseWhisplyProject
打鬼遊戲
項目地址:https://github.com/tvbarthel/ChaseWhisplyProject
APK地址:https://play.google.com/store/apps/details?id=fr.tvbarthel.games.chasewhisply
(9) Tweet Lanes
功能完整的Twitter客戶端
項目地址:https://github.com/chrislacy/TweetLanes
APK地址:https://play.google.com/store/apps/details?id=com.tweetlanes.android
(10) Financius
簡單易用的記帳程序
項目地址:https://github.com/mvarnagiris/Financius
APK地址:https://play.google.com/store/apps/details?id=com.code44.finance
(11) todo.txt-android
todo.txt的官方Android應用
項目地址:https://github.com/ginatrapani/todo.txt-android
APK地址:https://play.google.com/store/apps/details?id=com.todotxt.todotxttouch
(12) simpletask
基於todo.txt官方應用的另外一個客戶端
項目地址:https://github.com/mpcjanssen/simpletask-android
APK地址:https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo
(13) Muzei Live Wallpaper
定時更換桌面精美壁紙
項目地址:https://github.com/romannurik/muzei
APK地址:https://play.google.com/store/apps/details?id=net.nurik.roman.muzei
第四部分 開發工具及測試工具
主要介紹和Android開發工具和測試工具相關的開源項目。
1、開發效率工具
Json2Java
根據JSon數據自動生成對應的Java實體類,還支持Parcel、Gson Annotations對應代碼自動生成。期待後續的提取父類以及多url構建整個工程的功能
項目地址:https://github.com/jonfhancock/JsonToJava
在線演示:http://jsontojava.appspot.com/
IntelliJ Plugin for Android Parcelable boilerplate code generation
Android studio插件,生成Parcelable代碼
項目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
效果圖:
Android Holo Colors IntelliJ Plugin
Android studio插件,生成holo樣式9 patch圖片
項目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
效果圖:
Android Drawable Factory
用於生成各個分辨率的圖片
項目地址:https://github.com/tizionario/AndroidDrawableFactory
效果圖:
SelectorChapek for Android
Android Studio插件,可根據固定文件名格式資源自動生成drawable selectors xml文件。
項目地址:https://github.com/inmite/android-selector-chapek
Android Action Bar Style Generator
Android ActionBar樣式生成器,可在線選擇ActionBar樣式自動生成所須要的圖片資源及xml文件
項目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
在線演示:http://jgilfelt.github.io/android-actionbarstylegenerator/
ButterKnifeZelezny
用於快速生成ButterKnifeView注入代碼的Android Studio/IDEA插件
項目地址:https://github.com/inmite/android-butterknife-zelezny
RoboCoP
利用Gradle task根據固定格式的json文件生成ContentProvider
項目地址:https://github.com/mediarain/RoboCoP
appiconsizes
用於生成各個分辨率的圖片
項目地址:http://www.appiconsizes.com/
Gradle Retrolambda Plugin
Retrolambda是將Java8的Lambdas應用於Java7的工具,本項目是Gradle插件,經過Retrolambda從而使Java或Android項目用Java8的Lambdas編寫,將編譯後的字節碼轉換爲Java6和7的字節碼從而正常運行
項目地址:https://github.com/evant/gradle-retrolambda
Dagger IntelliJ Plugin
dagger的intellij插件
項目地址:https://github.com/square/dagger-intellij-plugin
2、開發自測相關
Quality Tools for Android
Android測試及自測工具集合和示例
項目地址:https://github.com/stephanenicolas/Quality-Tools-for-Android
android-test-kit
Google的Android測試工具
包括GoogleInstrumentationTestRunner(加強版的InstrumentationTestRunner)和Espresso(用於快速寫出可靠測試用例的API)
項目地址:https://code.google.com/p/android-test-kit/
文檔介紹:https://code.google.com/p/android-test-kit/w/list
robolectric
測試用例編寫框架
項目地址:https://github.com/robolectric/robolectric
Demo地址:https://github.com/robolectric/robolectricsample
文檔介紹:http://robolectric.org/
特色:(1). 不須要模擬器在通常JVM就能夠運行測試用例
(2). 能完成在真機上的大部分測試包括感應器
其餘的測試用例及相關模塊Mock可見:android-mock,mockito, easy-mock
Android FEST
提供一些列方便的斷言,可用於提升編寫Android自測代碼效率
項目地址:https://github.com/square/fest-android
BoundBox
可用於測試類各類訪問權限的屬性、方法。實際是經過BoundBox這個annotation生成一個屬性和方法都是public權限的中間類並對此類進行測試完成的
項目地址:https://github.com/stephanenicolas/boundbox
Hugo
用於打印函數信息及執行時間的工具,僅在debug模式生效
項目地址:https://github.com/JakeWharton/hugo
scalpel
在應用下面添加一層用於界面調試,待詳細補充 // TODO
項目地址:https://github.com/JakeWharton/scalpel
Android Screenshot library
Android截圖工具類,用於在持續集成時截圖
項目地址:https://github.com/rtyley/android-screenshot-lib
sonar-android-lint-plugin
將android lint的錯誤在sonar中展示
項目地址:https://github.com/SonarCommunity/sonar-android
3、測試工具
Spoon
可用於android不一樣機型設備自動化測試,能將應用apk和測試apk運行在不一樣機器上並生成相應測試報告。
項目地址:https://github.com/square/spoon
Tencent APT
APT是騰訊開源的一個Android平臺高效性能測試組件,提供豐富實用的功能,適用於開發自測、定位性能瓶頸;測試人員完成性能基準測試、競品對比測試
項目地址:https://github.com/stormzhang/APT
Emmagee
網易開源的性能測試工具,包括CPU、內存、網絡流量、啓動時間、電池狀態等
項目地址:https://github.com/NetEase/Emmagee
4、開發及編譯環境
Buck
facebook開源的Android編譯工具,效率是ant的兩倍。主要優勢在於:
(1) 加快編譯速度,經過並行利用多核cpu和跟蹤不變資源減小增量編譯時間實現
(2) 能夠在編譯系統中生成編譯規則而無須另外的系統生成編譯規則文件
(3) 編譯同時可生成單元測試結果
(4) 既可用於IDE編譯也可用於持續集成編譯
(5) facebook持續優化中
項目地址:https://github.com/facebook/buck
Android Maven Plugin
Android Maven插件,可用於對android三方依賴進行管理。在J2EE開發中,maven是很是成熟的依賴庫管理工具,可統一管理依賴庫。
項目地址:https://github.com/jayway/maven-android-plugin
umeng-muti-channel-build-tool
渠道打包工具
項目地址:https://github.com/umeng/umeng-muti-channel-build-tool
另可參見Google的構建系統Gradle:http://tools.android.com/tech-docs/new-build-system/user-guide
Genymotion
目前最好用最快的android模擬器
項目地址:http://www.genymotion.com/
Android studio集成控件: http://plugins.jetbrains.com/plugin/7269?pr=idea
Cyril Mottier推薦:http://cyrilmottier.com/2013/06/27/a-productive-android-development-environment/
gradle-mvn-push
方便的將Gradle的Artifacts上傳到Maven倉庫
項目地址:https://github.com/chrisbanes/gradle-mvn-push
文檔介紹:https://github.com/chrisbanes/gradle-mvn-push#usage
Android Emulator Plugin for Jenkins
Android模擬器 jenkins插件,用於Jenkins作持續集成時跑模擬器測試
項目地址:https://github.com/jenkinsci/android-emulator-plugin
Android Maven Plugin
管理應用所須要的依賴庫。包括的構建工具備Maven、Gradle、ant、sbt
項目地址:https://github.com/mosabua/maven-android-sdk-deployer
SDK Manager Plugin
下載和管理Android SDK的Gradle插件
項目地址:https://github.com/JakeWharton/sdk-manager-plugin
5、其餘
ViewServer
容許app運行在任何手機上均可以用HierarchyViewer查看
項目地址:https://github.com/romainguy/ViewServer
GridWichterle for Android
在整個系統上顯示一個grid,用來幫助查看應用佈局及使得佈局更美觀,可設置grid網格大小和顏色,android推薦48dp和8dp,可見 Android Design Guidelines – Metrics and Grids
項目地址:https://github.com/inmite/android-grid-wichterle
APK地址:https://play.google.com/store/apps/details?id=eu.inmite.android.gridwichterle
PS:比起hierarchyviewer相差甚遠,不過偶爾可用來做爲佈局查看工具。
Catlog
手機端log查看工具,支持不一樣顏色顯示、關鍵字過濾、級別過濾、進程id過濾、錄製功能等
項目地址:https://github.com/nolanlawson/Catlog
在線演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat
PID Cat
根據package查看logcat日誌
項目地址:https://github.com/JakeWharton/pidcat
ACRA
應用崩潰信息上報到GoogleDoc工具,網頁版展示結果三方開源地址https://github.com/BenoitDuffez/crashreportsviewer
項目地址:https://github.com/ACRA/acra
文檔地址:https://github.com/ACRA/acra/wiki/BasicSetup
Crashlytics
提供豐富的應用崩潰信息收集
輕量級,豐富,可自定義應用崩潰信息收集器,附有郵件通知
項目地址:http://www.crashlytics.com/
集成插件:Android Studio, Eclipse and IntelliJ
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
android-resource-remover
根據lint的提示刪除項目中無用的資源,減小包的大小
項目地址:https://github.com/KeepSafe/android-resource-remover
第五部分
主要介紹那些樂於分享而且有一些很不錯的開源項目的我的和組織。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/
Chris Banes
Github地址:https://github.com/chrisbanes
表明做:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh
主頁:http://chris.banes.me/
Koushik Dutta
就任於ClockworkMod
Github地址:https://github.com/koush
表明做:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外對https://github.com/CyanogenMod 的開源項目有不少貢獻
主頁:http://koush.com/
Simon Vig
Github地址:https://github.com/SimonVT
表明做:android-menudrawer,MessageBar
主頁:http://simonvt.net/
Manuel Peinado
Github地址:https://github.com/ManuelPeinado
表明做:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader
Emil Sj?lander
Github地址:https://github.com/emilsjolander
表明做:StickyListHeaders,sprinkles,android-FlipView
主頁:http://emilsjolander.se/
greenrobot
Github地址:https://github.com/greenrobot
表明做:greenDAO,EventBus
主頁:http://greenrobot.de/
Jeff Gilfelt
Github地址:https://github.com/jgilfelt
表明做:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
主頁:http://jeffgilfelt.com
Romain Guy
Android team成員(2013.10已離開Android team,仍在Google)
Github地址:https://github.com/romainguy
表明做:ViewServer
主頁:http://www.curious-creature.org/category/android/
個人攝影做品:http://www.flickr.com/photos/romainguy
sephiroth74
就任於Aviary.com
Github地址:https://github.com/sephiroth74
表明做:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
主頁:http://www.sephiroth.it/
Cyril Mottier
Google開發者專家認證,發佈一些Android技巧及文章
Github地址:https://github.com/cyrilmottier
表明做:GreenDroid,Polaris
主頁:http://cyrilmottier.com/
2、組織
Square
有態度有良心的企業,不少不錯的分享
Github地址:https://github.com/square
表明做:okhttp、fest-android,android-times-square、picasso、dagger、spoon等等
主頁:http://square.github.io/
Inmite s.r.o.
Github地址:https://github.com/inmite
表明做:android-styled-dialogs,android-grid-wichterle,android-selector-chapek
主頁:http://www.inmite.eu/
3、博客
Chet HaaseAndroid framework UI team 成員主頁:http://graphics-geek.blogspot.com/