Skip to content

Latest commit

 

History

History

繁體中文版

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Android開源項目分類彙總

經常有朋友問某個效果怎麽實現或是否有某個庫完成某個功能,
于是分類彙總了那些不錯的Android開源項目,供大家一起學習,持續更新

歡迎大家推薦好的Android開源項目,可修改後直接Commit或在 收集&提交頁 中告訴我,歡迎StarFork :)

目前包括:

Android開源項目第一篇——個性化控件(View)篇
  包括ListViewActionBarMenuViewPagerGalleryGridViewImageViewProgressBar其他
Android開源項目第二篇——工具庫篇
  包括依賴注入圖片緩存網絡相關數據庫ORM工具包Android公共庫高版本向低版本兼容庫多媒體事件總線傳感器安全其他
Android開源項目第三篇——優秀項目篇
  比較有意思的完整的Android項目
Android開源項目第四篇——開發及測試工具篇
  包括開發效率工具開發自測相關測試工具開發及編譯環境其他
Android開源項目第五篇——優秀個人和團體篇
  樂于分享並且有一些很不錯的開源項目的個人組織,包括JakeWharton、Chris Banes、Koushik Dutta等大牛

感謝xalexchen youxiachai stormzhang補充

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

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

一、ListView

  1. android-pulltorefresh 一個強大的拉動刷新開源項目,支持各種控件下拉刷新
    ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal
    )ScrollView、Fragment上下左右拉動刷新,比下面johannilsson那個只支持ListView的強大的多。並且他實現的下拉刷新ListView在item不足一屏情況下也不會顯示刷新提示,體驗更好。
    項目地址:https://github.com/chrisbanes/Android-PullToRefresh
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
    APP示例:新浪微博各個頁面

  2. android-pulltorefresh-listview 下拉刷新ListView
    項目地址:https://github.com/johannilsson/android-pulltorefresh
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refresh-listview-demo.apk?raw=true
    PS:這個被很多人使用的項目實際有不少bug,推薦使用上面的android-pulltorefresh

  3. DropDownListView 下拉刷新及滑動到底部加載更多ListView
    項目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文檔介紹:http://www.trinea.cn/?p=523

  4. DragSortListView 拖動排序的ListView
    同時支持ListView滑動item刪除,各個Item高度不一、單選、複選、CursorAdapter做爲適配器、拖動背景變化等
    項目地址:https://github.com/bauerca/drag-sort-listview
    Demo地址:https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv
    APP示例:Wordpress Android

  5. SwipeListView 支持定義ListView左右滑動事件,支持左右滑動位移,支持定義動畫時間
    項目地址:https://github.com/47deg/android-swipelistview
    Demo地址:https://play.google.com/store/apps/details?id=com.fortysevendeg.android.swipelistview
    APP示例:微信

  6. Android-SwipeToDismiss 滑動Item消失ListView
    項目地址:https://github.com/romannurik/Android-SwipeToDismiss
    支持3.0以下版本見:https://github.com/JakeWharton/SwipeToDismissNOA
    Demo地址:https://github.com/JakeWharton/SwipeToDismissNOA/SwipeToDismissNOA.apk/qr_code

  7. StickyListHeaders GroupName滑動到頂端時會固定不動直到另外一個GroupName到達頂端的ExpandListView,支持快速滑動,支持Android2.3及以上
    項目地址:https://github.com/emilsjolander/StickyListHeaders
    APP示例:Android 4.0聯系人
    效果圖:Renderings

  8. pinned-section-listview GroupName滑動到頂端時會固定不動直到另外一個GroupName到達頂端的ExpandListView
    項目地址:https://github.com/beworker/pinned-section-listview
    效果圖:Renderings

  9. PinnedHeaderListView GroupName滑動到頂端時會固定不動直到另外一個GroupName到達頂端的ExpandListView
    項目地址:https://github.com/JimiSmith/PinnedHeaderListView

  10. QuickReturnHeader ListView/ScrollView的header或footer,當向下滾動時消失,向上滾動時出現
    項目地址:https://github.com/ManuelPeinado/QuickReturnHeader
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/quick-return-header-demo.apk?raw=true
    APP示例:google plus

  11. IndexableListView ListView右側會顯示item首字母快捷索引,點擊可快速滑動到某個item
    項目地址:https://github.com/woozzu/IndexableListView
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/indexable-listview.apk?raw=true
    APP示例:微信通訊錄、小米聯系人

  12. CustomFastScrollView ListView快速滑動,同時屏幕中間PopupWindows顯示滑動到的item內容或首字母
    項目地址:https://github.com/nolanlawson/CustomFastScrollViewDemo
    效果圖:Renderings

  13. Android-ScrollBarPanel ListView滑動時固定的Panel指示顯示在scrollbar旁邊
    項目地址:https://github.com/rno/Android-ScrollBarPanel
    效果展示:https://github.com/rno/Android-ScrollBarPanel/raw/master/demo_capture.png

  14. SlideExpandableListView 用戶點擊listView item滑出固定區域,其他item的區域收縮
    項目地址:https://github.com/tjerkw/Android-SlideExpandableListView
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/slide-expandable-listView-demo.apk?raw=true

  15. JazzyListView ListView及GridView item以特殊動畫效果進入屏幕,效果包括grow、cards、curl、wave、flip、fly等等
    項目地址:https://github.com/twotoasters/JazzyListView
    Demo地址:https://play.google.com/store/apps/details?id=com.twotoasters.jazzylistview.sample
    效果展示:http://lab.hakim.se/scroll-effects/

  16. ListViewAnimations 帶Item顯示動畫的ListView,動畫包括底部飛入、其他方向斜飛入、下層飛入、漸變消失、滑動刪除等
    項目地址:https://github.com/nhaarman/ListViewAnimations
    Demo地址:https://play.google.com/store/apps/details?id=com.haarman.listviewanimations
    APP示例:Google plus、Google Now卡片式進入、小米系統中應用商店、聯系人、遊戲中心、音樂、文件管理器的ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、Car Hire、Super BART、DK FlashCards、Counter Plus、Voorlees Verhaaltjes 2.0

  17. DevsmartLib-Android 橫向ListView
    項目地址:https://github.com/dinocore1/DevsmartLib-Android
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/horizontal-listview-demo.apk?raw=true

  18. HorizontalVariableListView 支持Item寬度不一致的ListView
    項目地址:https://github.com/sephiroth74/HorizontalVariableListView

二、ActionBar

  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都在用

  2. ActionBar-PullToRefresh 下拉刷新,ActionBar出現加載中提示
    項目地址:https://github.com/chrisbanes/ActionBar-PullToRefresh
    Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.actionbarpulltorefresh.samples.stock
    APP示例:Gmail,Google plus,知乎等

  3. FadingActionBar ListView向下滾動逐漸顯現的ActionBar
    項目地址:https://github.com/ManuelPeinado/FadingActionBar
    Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo
    APP示例:google music,知乎

  4. NotBoringActionBar google music下拉收縮的ActionBar
    項目地址:https://github.com/flavienlaurent/NotBoringActionBar
    Demo地址:http://flavienlaurent.com/blog/2013/11/20/making-your-action-bar-not-boring/
    APP示例:Google音樂

  5. RefreshActionItem 帶進度顯示和刷新按鈕的ActionBar
    項目地址:https://github.com/ManuelPeinado/RefreshActionItem
    Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.refreshactionitem.demo
    APP示例:The New York Times,DevAppsDirect.

  6. GlassActionBar 類似玻璃的有一定透明度的ActionBar
    項目地址:https://github.com/ManuelPeinado/GlassActionBar
    Demo地址:https://play.google.com/store/apps/details?id=com.manuelpeinado.glassactionbardemo
    APP示例:google music

三、Menu

  1. MenuDrawer 滑出式菜單,通過拖動屏幕邊緣滑出菜單,支持屏幕上下左右劃出,支持當前View處于上下層,支持Windows邊緣、ListView邊緣、ViewPager變化劃出菜單等。
    項目地址:https://github.com/SimonVT/android-menudrawer
    Demo地址:http://simonvt.github.io/android-menudrawer/
    APP示例:Gmail、Google Music等大部分google app

  2. SlidingMenu 滑出式菜單,通過拖動屏幕邊緣滑出菜單,支持屏幕左右劃出,支持菜單zoom、scale、slide up三種動畫樣式出現。
    項目地址:https://github.com/jfeinstein10/SlidingMenu
    Demo地址:https://play.google.com/store/apps/details?id=com.slidingmenu.example
    APP示例:Foursquare, LinkedIn, Zappos, Rdio, Evernote Food, Plume, VLC for Android, ESPN ScoreCenter, MLS MatchDay, 9GAG, Wunderlist 2, The Verge, MTG Familiar, Mantano Reader, Falcon Pro (BETA), MW3 Barracks
    MenuDrawer和SlidingMenu比較:SlidingMenu支持菜單動畫樣式出現,MenuDrawer支持菜單view處于內容的上下層

  3. ArcMenu 支持類似Path的左下角動畫旋轉菜單及橫向劃出菜單、圓心彈出菜單
    項目地址:https://github.com/daCapricorn/ArcMenu
    APP示例:Path
    效果圖:Renderings
    https://dl.dropboxusercontent.com/u/11369687/preview1.png
    https://dl.dropboxusercontent.com/u/11369687/raymenu.png

  4. android-satellite-menu 類似Path的左下角動畫旋轉菜單
    項目地址:https://github.com/siyamed/android-satellite-menu
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/satellite-menu-demo.apk?raw=true
    APP示例:Path

  5. radial-menu-widget 圓形菜單,支持二級菜單
    項目地址:https://code.google.com/p/radial-menu-widget/
    效果圖:http://farm8.staticflickr.com/7377/11621125154_d1773c2dcc_o.jpg

  6. Android Wheel Menu 圓形旋轉選取菜單
    項目地址:https://github.com/anupcowkur/Android-Wheel-Menu
    效果圖:Renderings

  7. FoldingNavigationDrawer滑動並以折疊方式打開菜單
    項目地址:https://github.com/tibi1712/FoldingNavigationDrawer-Android
    使用介紹:https://play.google.com/store/apps/details?id=com.ptr.folding.sample
    效果圖:Renderings

四、ViewPager 、Gallery

  1. Android-ViewPagerIndicator 配合ViewPager使用的Indicator,支持各種位置和樣式
    項目地址:https://github.com/JakeWharton/Android-ViewPagerIndicator
    Demo地址:https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample
    APP示例:太多了。。

  2. JazzyViewPager 支持Fragment切換動畫的ViewPager,動畫包括轉盤、淡入淡出、翻頁、層疊、旋轉、方塊、翻轉、放大縮小等
    項目地址:https://github.com/jfeinstein10/JazzyViewPager
    Demo地址:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
    效果類似桌面左右切換的各種效果,不過桌面並非用ViewPager實現而已

  3. Android-DirectionalViewPager 支持橫向和縱向(垂直)的ViewPager
    項目地址:https://github.com/JakeWharton/Android-DirectionalViewPager
    Demo地址:https://market.android.com/details?id=com.directionalviewpager.sample

  4. android-pulltorefresh 支持下拉刷新的ViewPager
    項目地址:https://github.com/chrisbanes/Android-PullToRefresh
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/pull-to-refreshview-demo.apk?raw=true
    APP示例:新浪微博各個頁面

  5. FancyCoverFlow支持Item切換動畫效果的類似Gallery View
    項目地址:https://github.com/davidschreiber/FancyCoverFlow
    Demo地址:https://play.google.com/store/apps/details?id=at.technikum.mti.fancycoverflow.samples
    效果圖:Renderings

  6. AndroidTouchGallery 支持雙擊或雙指縮放的Gallery(用ViewPager實現)
    相比下面的PhotoView,在被放大後依然能滑到下一個item,並且支持直接從url和文件中獲取圖片,
    項目地址:https://github.com/Dreddik/AndroidTouchGallery
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/touch-gallery-demo.apk?raw=true
    APP示例:類似微信中查看聊天記錄圖片時可雙擊放大,並且放大情況下能正常左右滑動到前後圖片

  7. Salvage view 帶View緩存的Viewpager PagerAdapter,很方便使用
    項目地址:https://github.com/JakeWharton/salvage

  8. Android PagerSlidingTabStrip 配合ViewPager使用的Indicator,支持ViewPager Scroll時Indicator聯動
    項目地址:https://github.com/astuetz/PagerSlidingTabStrip
    Demo地址:https://play.google.com/store/apps/details?id=com.astuetz.viewpager.extensions.sample

五、GridView

  1. StaggeredGridView 允許非對齊行的GridView
    類似Pinterest的瀑布流,並且跟ListView一樣自帶View緩存,繼承自ViewGroup
    項目地址:https://github.com/maurycyw/StaggeredGridView
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/staggered-gridview-demo.apk?raw=true
    APP示例:Pinterest等

  2. AndroidStaggeredGrid 允許非對齊行的GridView
    類似Pinterest的瀑布流,繼承自AbsListView
    項目地址:https://github.com/etsy/AndroidStaggeredGrid
    APP示例:Pinterest等

  3. PinterestLikeAdapterView 允許非對齊行的GridView
    類似Pinterest的瀑布流,允許下拉刷新
    項目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
    APP示例:Pinterest等

  4. DraggableGridView Item可拖動交換位置的GridView
    實際是自己繼承ViewGroup實現,類似桌面的單屏效果,可屏幕自動上下滾動進行Item移動交換,多屏效果見下面6. Android-DraggableGridViewPager
    項目地址:https://github.com/thquinn/DraggableGridView
    Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true

  5. StickyGridHeaders GroupName滑動到頂端時會固定不動直到另外一個GroupName到達頂端的GridView
    項目地址:https://github.com/TonicArtos/StickyGridHeaders
    效果圖:Renderings

  6. Android-DraggableGridViewPager Item可拖動交換位置的GridView
    實際是自己繼承ViewGroup實現,類似桌面的多屏效果,可屏幕自動左右滾動進行Item移動交換,單屏效果見上面4. DraggableGridView
    項目地址:https://github.com/zzhouj/Android-DraggableGridViewPager
    Demo地址:https://github.com/Trinea/trinea-download/blob/master/draggable-grid-viewpager-demo.apk?raw=true

六、ImageView

  1. PhotoView 支持雙擊或雙指縮放的ImageView
    在ViewPager等Scrolling view中正常使用,相比上面的AndroidTouchGallery,不僅支持ViewPager,同時支持單個ImageView
    項目地址:https://github.com/chrisbanes/PhotoView
    Demo地址:https://play.google.com/store/apps/details?id=uk.co.senab.photoview.sample
    APP示例:photup

  2. android-gif-drawable 支持gif顯示的view
    項目地址:https://github.com/koral--/android-gif-drawable
    用jni實現的,編譯生成so庫後直接xml定義view即可,而且本身不依賴于其他開源項目所以相對下面的ImageViewEx簡單的多

  3. ImageViewEx 支持Gif顯示的ImageView
    項目地址:https://github.com/frapontillo/ImageViewEx
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/imageviewex-demo.apk?raw=true
    依賴很多,編譯過程很繁瑣!|_|!

  4. RoundedImageView 帶圓角的ImageView
    項目地址:https://github.com/vinc3m1/RoundedImageView
    效果圖:Renderings

  5. ColorArt 根據圖片的均色設置背景色顯示文字和圖片,類似itune11中效果
    項目地址:https://github.com/MichaelEvans/ColorArt
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/color-art-demo.apk?raw=true

  6. CircleImageView 圓形的ImageView
    項目地址:https://github.com/hdodenhof/CircleImageView
    效果圖:Renderings

  7. ImageViewZoom 支持放大和平移的ImageView
    項目地址:https://github.com/sephiroth74/ImageViewZoom
    APP示例:https://play.google.com/store/apps/details?id=com.aviary.android.feather

七、ProgressBar

  1. SmoothProgressBar 水平進度條
    項目地址:https://github.com/castorflex/SmoothProgressBar
    Demo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sample

  2. ProgressWheel 支持進度顯示的圓形ProgressBar
    項目地址:https://github.com/Todd-Davies/ProgressWheel
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/progress-wheel-demo.apk?raw=true

  3. android-square-progressbar 在圖片周圍顯示進度
    項目地址:https://github.com/mrwonderman/android-square-progressbar
    Demo地址:https://play.google.com/store/apps/details?id=net.yscs.android.square_progressbar_example
    APP示例:square
    效果圖:Renderings

  4. HoloCircularProgressBar Android4.1 時鍾App樣式
    項目地址:https://github.com/passsy/android-HoloCircularProgressBar
    APP示例:Android4.1時鍾App
    效果圖:Renderings

  5. ProgressButton 通過圖釘的不同狀態顯示進度
    項目地址:https://github.com/f2prateek/progressbutton
    文檔介紹:http://f2prateek.com/progressbutton/
    效果圖:Renderings

八、其他

  1. achartengine 強大的圖標繪制工具
    支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、範圍(高至低)條形圖、撥號圖/表、立方線圖及各種圖的結合
    項目地址:https://code.google.com/p/achartengine/
    官方網站:http://www.achartengine.org/
    效果圖:Renderings
    http://www.achartengine.org/dimages/sales_line_and_area_chart.png
    http://www.achartengine.org/dimages/temperature_range_chart.png
    http://www.achartengine.org/dimages/combined_chart.png
    http://www.achartengine.org/dimages/budget_chart.png
    APP示例:Wordpress Android,Google Analytics

  2. GraphView 繪制圖表和曲線圖的View
    可用于Android上的曲形圖、柱狀圖、波浪圖展示
    項目地址:https://github.com/jjoe64/GraphView
    Demo工程:https://github.com/jjoe64/GraphView-Demos
    Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
    APP示例:Wordpress Android,Google Analytics

  3. android-flip 類似Flipboard翻轉動畫的實現
    項目地址:https://github.com/openaphid/android-flip
    Demo地址:https://github.com/openaphid/android-flip/blob/master/FlipView/Demo/APK/Aphid-FlipView-Demo.apk?raw=true
    APP示例:flipboard

  4. FlipImageView 支持x、y、z及動畫選擇的翻轉動畫的實現
    項目地址:https://github.com/castorflex/FlipImageView
    Demo地址:https://play.google.com/store/apps/details?id=fr.castorflex.android.flipimageview

  5. SwipeBackLayout 左右或向上滑動返回的Activity
    項目地址:https://github.com/Issacw0ng/SwipeBackLayout
    Demo地址:https://play.google.com/store/apps/details?id=me.imid.swipebacklayout.demo
    APP示例:知乎

  6. Cards-UI 卡片式View,支持單個卡片,item爲卡片的ListView
    項目地址:https://github.com/afollestad/Cards-UI
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/cards-ui-demo.apk?raw=true

  7. cardslib 卡片式View,支持單個卡片,item爲卡片的ListView和GridView
    項目地址:https://github.com/gabrielemariotti/cardslib
    Demo地址:https://play.google.com/store/apps/details?id=it.gmariotti.cardslib.demo

  8. android-styled-dialogs 可自定義樣式的dialog
    默認與Holo主題樣式一致,在Android2.2以上同一樣式
    項目地址:https://github.com/inmite/android-styled-dialogs
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/styled-dialogs-demo.apk?raw=true

  9. Crouton 豐富樣式的Toast
    允許alert、comfirm、info樣式及點擊消失樣式,允許設置Toast顯示時間,允許自定義View。 本文32. SuperToasts爲其擴展版
    項目地址:https://github.com/keyboardsurfer/Crouton
    Demo地址:http://play.google.com/store/apps/details?id=de.keyboardsurfer.app.demo.crouton

  10. supertooltips 帶動畫效果的Tips顯示
    項目地址:https://github.com/nhaarman/supertooltips
    Demo地址:https://play.google.com/store/apps/details?id=com.haarman.supertooltips

  11. Android ViewBadger爲其他View添加角標等
    項目地址:https://github.com/jgilfelt/android-viewbadger
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/android-viewbadger.apk?raw=true
    效果圖:https://github-camo.global.ssl.fastly.net/a705a3e88c75ae2394943bd7c56f725697616ea8/687474703a2f2f7777772e6a65666667696c66656c742e636f6d2f766965776261646765722f76622d31612e706e67

  12. Android Sliding Up Panel 可拖動的View,能在當前Activity上扶起一個可拖動的Panel
    項目地址:https://github.com/umano/AndroidSlidingUpPanel
    Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
    APP示例:Google Music精簡播放欄

  13. android-times-square Android日曆時間部件
    支持選取單個日期,多個日期,及日期區間段和對話框形式顯示
    項目地址:https://github.com/square/android-times-square
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/times-square-demo.apk?raw=true

  14. android-calendar-card 日曆
    項目地址:https://github.com/kenumir/android-calendar-card
    Demo地址:https://play.google.com/store/apps/details?id=com.wt.calendarcardsample
    效果圖:Renderings

  15. ColorPickerView 顔色選擇器,支持PopupWindows或新的Activity中打開
    項目地址:https://code.google.com/p/color-picker-view/
    效果圖:Renderings

  16. HoloColorPicker 顔色選擇器
    項目地址:https://github.com/LarsWerkman/HoloColorPicker
    Demo地址:https://docs.google.com/file/d/0BwclyDTlLrdXRzVnTGJvTlRfU2s/edit

  17. AndroidWheel Android Wheel支持城市、多種日期時間、密碼、圖片
    項目地址:https://github.com/sephiroth74/AndroidWheel
    效果圖:Renderings

  18. android-flowtextview文字自動環繞其他View的Layout
    項目地址:https://code.google.com/p/android-flowtextview/
    效果圖:http://i949.photobucket.com/albums/ad332/vostroman1500/1.png

  19. Segmented Radio Buttons for Android iOS’s segmented controls的實現
    項目地址:https://github.com/vinc3m1/android-segmentedradiobutton
    Demo地址:https://github.com/thquinn/DraggableGridView/blob/master/bin/DraggableGridViewSample.apk?raw=true
    效果圖:Renderings

  20. TableFixHeaders 第一列固定的Table
    項目地址:https://github.com/InQBarna/TableFixHeaders
    Demo地址:http://bit.ly/13buAIq

  21. Android Form EditText 驗證輸入合法性的編輯框
    支持輸入、英文、ip、url等多種正則驗證
    項目地址:https://github.com/vekexasia/android-edittext-validator
    Demo地址:https://play.google.com/store/apps/details?id=com.andreabaccega.edittextformexample

  22. UITableView ios風格控件
    包括Button、ListView、TableView
    項目地址:https://github.com/thiagolocatelli/android-uitableview
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/ui-tableview-demo.apk?raw=true

  23. ATableView ios風格控件
    項目地址:https://github.com/dmacosta/ATableView
    Demo地址:https://play.google.com/store/apps/details?id=com.nakardo.atableview.demo

  24. UndoBar屏幕底部顯示取消或是確認的PopupWindows
    項目地址:https://github.com/soarcn/UndoBar
    效果圖:Renderings

  25. Inscription可用于展示應用change和new feature信息
    項目地址:https://github.com/MartinvanZ/Inscription

  26. ActivityTransition Activity切換動畫,包括漸變、flip、某個位置進入等等
    項目地址:https://github.com/ophilbert/ActivityTransition
    使用介紹:https://github.com/jfeinstein10/JazzyViewPager/blob/master/JazzyViewPager.apk?raw=true
    效果圖:類似桌面左右切換的各種效果,不過桌面並非用ViewPager實現而已

  27. Cropper 圖片局部剪切工具,可觸摸控制選擇區域或旋轉
    項目地址:https://github.com/edmodo/cropper
    使用介紹:https://github.com/edmodo/cropper/wiki
    效果圖:Renderings

  28. 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
    效果圖:Renderings

  29. GlowPadView Android4鎖屏界面解鎖
    項目地址:https://github.com/nadavfima/GlowPadView
    效果圖:https://raw.github.com/nadavfima/GlowPadView/master/example.png

  30. 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開機的圖案密碼解鎖,支付寶的密碼解鎖

  31. RangeBar 類似于SeekBar,不同的是可以選擇一個範圍內的值而不是單個值
    項目地址:https://github.com/edmodo/range-bar
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/range-bar-demo.apk?raw=true
    效果圖: Renderings

  32. SuperToasts 更豐富樣式的toast,支持Button、Progress、Horizontal Progress樣式、支持進入動畫、支持撤銷及其動畫設置
    項目地址:https://github.com/JohnPersano/SuperToasts
    Demo地址:https://play.google.com/store/apps/details?id=com.supertoastsdemo
    效果圖:SuperButtonToast

  33. Emojicon 支持emojis的TextView和EditText
    項目地址:https://github.com/rockerhieu/emojicon
    文檔地址:http://rockerhieu.com/emojicon/

  34. Chips EditText Library 支持國家名字聯想從而選擇顯示該國國旗的EditText,實際就是通過SpannableStringBuilder實現
    項目地址:https://github.com/kpbird/chips-edittext-library
    Demo地址:https://github.com/kpbird/chips-edittext-library/tree/master/ChipsEditTextDemo/bin

  35. GoogleDateTimePickers 時間選擇部件
    項目地址:https://github.com/Mirkoddd/GoogleDateTimePickers
    文檔地址:https://play.google.com/store/apps/details?id=com.mirko.sample&hl=it

  36. UndoBar 屏幕底部顯示取消或是確認某操作
    項目地址:https://github.com/jenzz/Android-UndoBar
    效果圖:Renderings

  37. ColorPickerPreference 顔色選擇器
    項目地址:https://github.com/attenzione/android-ColorPickerPreference
    效果圖:Renderings

第二部分 工具庫

主要包括那些不錯的開發庫,包括依賴注入框架、圖片緩存、網絡相關、數據庫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在編譯時生成子類,所以對性能沒有影響

  2. roboguice 幫你處理了很多代碼異常,利用annotation使得更少的代碼完成項目
    項目地址:https://github.com/roboguice/roboguice
    文檔介紹:https://github.com/roboguice/roboguice/wiki

  3. butterknife 利用annotation幫你快速完成View的初始化,減少代碼
    項目地址:https://github.com/JakeWharton/butterknife
    文檔介紹:http://jakewharton.github.io/butterknife/

  4. Dagger 依賴注入,適用于Android和Java
    項目地址:https://github.com/square/dagger
    文檔介紹:http://square.github.io/dagger/

二、圖片緩存

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

  2. picasso square開源的圖片緩存
    項目地址:https://github.com/square/picasso
    文檔介紹:http://square.github.io/picasso/
    特點:(1)可以自動檢測adapter的重用並取消之前的下載
    (2)圖片變換
    (3)可以加載本地資源
    (4)可以設置占位資源
    (5)支持debug模式

  3. ImageCache 圖片緩存,包含內存和Sdcard緩存
    項目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文檔介紹:http://www.trinea.cn/?p=704
    特點:(1)支持預取新圖片,支持等待隊列
    (2)包含二級緩存,可自定義文件名保存規則
    (3)可選擇多種緩存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13種)或自定義緩存算法
    (4)可方便的保存及初始化恢複數據
    (5)支持不同類型網絡處理
    (6)可根據系統配置初始化緩存等

三、網絡相關

  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

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

  3. Async Http Client Java異步Http請求
    項目地址:https://github.com/AsyncHttpClient/async-http-client
    文檔介紹:http://sonatype.github.io/async-http-client/

  4. Ion 支持圖片、json、http post等異步請求
    項目地址:https://github.com/koush/ion
    文檔介紹:https://github.com/koush/ion#more-examples

  5. HttpCache Http緩存
    項目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    Demo代碼:https://github.com/Trinea/AndroidDemo/blob/master/src/cn/trinea/android/demo/HttpCacheDemo.java
    特點是:(1) 根據cache-control、expires緩存http請求
    (2) 支持同步、異步Http請求
    (3) 在匿名回調中處理請求結果
    (4) 在UI線程外進行http請求
    (5) 默認gzip壓縮

  6. Http Request
    項目地址:https://github.com/kevinsawicki/http-request
    文檔介紹:https://github.com/kevinsawicki/http-request#examples

  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鏈接傳送網頁和圖片等資源)和優先級來縮短加載時間。
    (2) 如果SPDY不可用,利用連接池減少請求延遲
    (3) Gzip壓縮
    (4) Response緩存減少不必要的請求

  8. Retrofit RESTFUL API設計
    項目地址:https://github.com/square/retrofit
    文檔介紹:http://square.github.io/retrofit/

四、數據庫 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) 庫大小小

  2. ActiveAndroid Android Sqlite orm的db工具類
    項目地址:https://github.com/pardom/ActiveAndroid
    文檔介紹:https://github.com/pardom/ActiveAndroid/wiki/_pages

  3. 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能保存從服務器獲取的數據

  4. ormlite-android
    項目地址:https://github.com/j256/ormlite-android
    文檔介紹:http://ormlite.com/sqlite_java_android_orm.shtml

五、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. AndroidCommon Android公共庫
    項目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文檔介紹:http://www.trinea.cn/?p=778
    包括:(1)緩存(圖片緩存、預取緩存、網絡緩存)
    (2) 公共View(下拉及底部加載更多ListView、底部加載更多ScrollView、滑動一頁Gallery)
    (3) Android常用工具類(網絡、下載、Android資源操作、shell、文件、Json、隨機數、Collection等等)

六、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都在用

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

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

  4. SherlockNavigationDrawer 將Android NavigationDrawer和ActionbarSherlock結合,解決4.0以下NavigationDrawer的適配問題
    項目地址:https://github.com/tobykurien/SherlockNavigationDrawer

  5. Notifications4EveryWhere 將Android 4.1的兼容到Android2.2++
    項目地址:https://github.com/youxiachai/Notifications4EveryWhere
    NavigationDrawer文檔地址:http://developer.android.com/training/implementing-navigation/nav-drawer.html

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

七、多媒體相關

  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)等常見的多種視頻流媒體協議,包括點播與直播。

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

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

  5. Bitmap Smart Clipping using OpenCV 圖片智能裁剪保留重要部分顯示
    項目地址:https://github.com/beartung/tclip-android
    利用淘寶的 http://code.taobao.org/p/tclip/ 庫完成
    一淘玩客正在使用的圖片裁剪,自動識別圖片中的重要區域,並且在圖片裁剪時保留重要區域
    特點:(1). 能進行人臉識別。圖片中有人臉,將自動視爲人臉區域爲重要區域,將不會被裁剪掉
    (2).自動其它重要區域。如果圖片中未識別出人臉,則會根據特征分布計算出重區域

八、事件總線(訂閱者模式)

通過發布/訂閱事件解耦事件發送和接受,從而簡化應用程序組件(Activities, Fragments及後台線程)之間的通信

  1. 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) 支持根據事件類型訂閱

  2. Otto Square的開源項目,基于Guava的Android優化
    項目地址:https://github.com/square/otto
    文檔介紹:http://square.github.io/otto/
    EventBus與Otto的功能及性能對比文檔
    EventBus與Otto性能對比Demo Apk

九、傳感器

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

  2. SensorManager Android傳感器管理
    項目地址:https://github.com/nlathia/SensorManager
    文檔介紹:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/edit

  3. GPSLogger 記錄GPS信息
    項目地址:https://github.com/mendhak/gpslogger
    Demo地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger
    文檔介紹:http://code.mendhak.com/gpslogger/

  4. Pedometer 計步器,使用硬件計步感應器
    項目地址:https://github.com/j4velin/Pedometer

十、安全

  1. SQLCipher Sqlite加密工具
    項目地址:https://github.com/sqlcipher/sqlcipher
    幫助文檔:http://sqlcipher.net/sqlcipher-for-android/

  2. Conceal 快速高效的進行文件加密解密
    項目地址:https://github.com/facebook/conceal
    文檔介紹:https://github.com/facebook/conceal#usage

  3. 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,支付寶,挖財

  4. 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
    效果圖:Renderings

  5. GlowPadView Android 4鎖屏界面解鎖
    項目地址:https://github.com/nadavfima/GlowPadView
    效果圖:https://raw.github.com/nadavfima/GlowPadView/master/example.png

  6. 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開機的圖案密碼解鎖,支付寶的密碼解鎖

十一、其他

  1. Salvage view 帶View緩存的Viewpager PagerAdapter,很方便使用
    項目地址:https://github.com/JakeWharton/salvage

  2. Android Priority Job Queue Android後台任務隊列
    項目地址:https://github.com/path/android-priority-jobqueue
    文檔介紹:https://github.com/path/android-priority-jobqueue#getting-started

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

  4. ZIP java壓縮和解壓庫
    項目地址:https://github.com/zeroturnaround/zt-zip
    文檔介紹:https://github.com/zeroturnaround/zt-zip#examples
    作用:(1) 解壓和壓縮,並支持文件夾內遞歸操作
    (2) 支持包含和排除某些元素
    (3) 支持重命名元素
    (4) 支持遍曆zip包內容
    (5) 比較兩個zip包等功能

  5. Cobub Razor 開源的mobile行爲分析系統,包括web端、android端,支持ios和window phone
    項目地址:https://github.com/cobub/razor
    Demo地址:http://demo.cobub.com/razor
    網站介紹:http://dev.cobub.com/

  6. aFileChooser 文件選擇器,可內嵌到程序中,而無需使用系統或三方文件選擇器。
    項目地址:https://github.com/iPaulPro/aFileChooser

  7. androidpn 基于xmpp協議的消息推送解決方案,包括服務器端和android端。
    項目地址:https://github.com/dannytiehui/androidpn

  8. Android插件式開發
    項目地址:https://github.com/umeng/apf

  9. purePDF 允許從任何運行的SWF文件讀取和創建PDF文檔
    項目地址:https://github.com/sephiroth74/purePDF

  10. Bolts Android的異步編程模式
    項目地址:https://github.com/BoltsFramework/Bolts-Android/
    與AsyncTask比較:(1) 使用的是無大小限制的線程池
    (2) 任務可組合可級聯,防止了代碼耦合

  11. CastCompanionLibrary-android 使Android程序中更快的接入Google Cast
    項目地址:https://github.com/googlecast/CastCompanionLibrary-android
    文檔介紹:https://developers.google.com/cast/

  12. CastVideos-android 從Android設備分享Video通過Google Cast
    項目地址:https://github.com/googlecast/CastVideos-android
    文檔介紹:https://developers.google.com/cast/

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

  14. xCombine Android App插件式插件開發
    項目地址:https://github.com/wyouflf/xCombine
    文檔介紹:http://my.oschina.net/u/1171837/blog/155377

  15. Memento 保證在系統配置改變時,Activity中的某些數據可以簡單安全的保持不變
    項目地址:https://github.com/mttkay/memento
    文檔介紹:https://github.com/mttkay/memento#usage

第三部分 優秀項目

主要介紹那些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客戶端項目
項目地址:https://github.com/github/android
APK地址:https://play.google.com/store/apps/details?id=com.github.mobile

(4) 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) 四次元-新浪微博客戶端
項目地址:https://github.com/qii/weiciyuan
APK地址:https://play.google.com/store/apps/details?id=org.qii.weiciyuan

(6) gnucash-一個記賬理財軟件
項目地址: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

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

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

一、開發效率工具

  1. Json2Java
    根據JSon數據自動生成對應的Java實體類,還支持Parcel、Gson Annotations對應代碼自動生成。期待後續的提取父類以及多url構建整個工程的功能
    項目地址:https://github.com/jonfhancock/JsonToJava
    在線演示:http://jsontojava.appspot.com/

  2. IntelliJ Plugin for Android Parcelable boilerplate code generation Android studio插件,生成Parcelable代碼
    項目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
    效果圖:Holo Colors Idea

  3. Android Holo Colors IntelliJ Plugin Android studio插件,生成holo樣式9 patch圖片
    項目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
    效果圖:Holo Colors Idea

  4. Android Drawable Factory 用于生成各個分辨率的圖片
    項目地址:https://github.com/tizionario/AndroidDrawableFactory
    效果圖:Android Drawable Factory

  5. SelectorChapek for Android
    Android Studio插件,可根據固定文件名格式資源自動生成drawable selectors xml文件。
    項目地址:https://github.com/inmite/android-selector-chapek

  6. Android Action Bar Style Generator
    Android ActionBar樣式生成器,可在線選擇ActionBar樣式自動生成所需要的圖片資源及xml文件
    項目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
    在線演示:http://jgilfelt.github.io/android-actionbarstylegenerator/

  7. ButterKnifeZelezny
    用于快速生成ButterKnifeView注入代碼的Android Studio/IDEA插件
    項目地址:https://github.com/inmite/android-butterknife-zelezny
    效果圖:Renderings

二、開發自測相關

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

  2. robolectric 測試用例編寫框架
    項目地址:https://github.com/robolectric/robolectric
    Demo地址:https://github.com/robolectric/robolectricsample
    文檔介紹:http://robolectric.org/
    特點:(1). 不需要模擬器在一般JVM就可以運行測試用例
    (2). 能完成在真機上的大部分測試包括感應器
    其他的測試用例及相關模塊Mock可見:android-mock, mockito, easy-mock

  3. Android FEST
    提供一些列方便的斷言,可用于提高編寫Android自測代碼效率
    項目地址:https://github.com/square/fest-android

  4. Hugo
    用于打印函數信息及執行時間的工具,僅在debug模式生效
    項目地址:https://github.com/JakeWharton/hugo

  5. scalpel
    在應用下面添加一層用于界面調試,待詳細補充 // TODO
    項目地址:https://github.com/JakeWharton/scalpel

三、測試工具

  1. Spoon
    可用于android不同機型設備自動化測試,能將應用apk和測試apk運行在不同機器上並生成相應測試報告。
    項目地址:https://github.com/square/spoon

四、開發及編譯環境

  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. 渠道打包工具
    允許app運行在任何手機上都可以用HierarchyViewer查看
    項目地址:https://github.com/umeng/umeng-muti-channel-build-tool
    另可參見Google的構建系統Gradle:http://tools.android.com/tech-docs/new-build-system/user-guide

  4. 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/

  5. gradle-mvn-push 方便的將Gradle的Artifacts上傳到Maven倉庫
    項目地址:https://github.com/chrisbanes/gradle-mvn-push
    文檔介紹:https://github.com/chrisbanes/gradle-mvn-push#usage

五、其他

  1. ViewServer
    允許app運行在任何手機上都可以用HierarchyViewer查看
    項目地址:https://github.com/romainguy/ViewServer

  2. 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相差甚遠,不過偶爾可用來作爲布局查看工具。

  3. Catlog
    手機端log查看工具,支持不同顔色顯示、關鍵字過濾、級別過濾、進程id過濾、錄制功能等
    項目地址:https://github.com/nolanlawson/Catlog
    在線演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat

  4. PID Cat
    根據package查看logcat日志
    項目地址:https://github.com/JakeWharton/pidcat

  5. ACRA 應用崩潰信息上報到GoogleDoc工具
    項目地址:https://github.com/ACRA/acra
    文檔地址:https://github.com/ACRA/acra/wiki/BasicSetup

  6. Crashlytics 提供豐富的應用崩潰信息收集
    輕量級,豐富,可自定義應用崩潰信息收集器,附有郵件通知
    項目地址:http://www.crashlytics.com/
    集成插件:Android Studio, Eclipse and IntelliJ

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

第五部分

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

一、個人

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

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

  3. Koushik Dutta 就職于ClockworkMod
    Github地址:https://github.com/koush
    代表作:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外對https://github.com/CyanogenMod 的開源項目有很多貢獻
    博客:http://koush.com/

  4. Simon Vig
    Github地址:https://github.com/SimonVT
    代表作:android-menudrawer,MessageBar
    博客:http://simonvt.net/

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

  6. Emil Sj?lander
    Github地址:https://github.com/emilsjolander
    代表作:StickyListHeaders,sprinkles,android-FlipView
    博客:http://emilsjolander.se/

  7. greenrobot
    Github地址:https://github.com/greenrobot
    代表作:greenDAO,EventBus
    網址:http://greenrobot.de/

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

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

  10. sephiroth74 就職于Aviary.com
    Github地址:https://github.com/sephiroth74
    代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
    博客:http://www.sephiroth.it/

  11. Cyril Mottier
    Google開發者專家認證,發布一些Android技巧及文章
    Github地址:https://github.com/cyrilmottier
    代表作:GreenDroid,Polaris
    博客:http://cyrilmottier.com/

二、組織

  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/

三、博客

  1. Chet Haase
    博客:http://graphics-geek.blogspot.com/
    Android framework UI team 成員

License

Copyright 2014 trinea.cn

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

githalytics.com alpha

Bitdeli Badge