1. 程式人生 > >【Android 應用開發】GitHub 優秀的 Android 開源專案

【Android 應用開發】GitHub 優秀的 Android 開源專案

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

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示例:新浪微博各個頁面

StickyListHeaders GroupName滑動到頂端時會固定不動直到另外一個GroupName到達頂端的ExpandListView,支援快速滑動,支援Android2.3及以上
專案地址:https://github.com/emilsjolander/StickyListHeaders


APP示例:Android 4.0聯絡人
效果圖:Renderings

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

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

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

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

二、ActionBar

三、Menu

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

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處於內容的上下層

四、ViewPager 、Gallery

五、GridView

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

PinterestLikeAdapterView 允許非對齊行的GridView
類似Pinterest的瀑布流,允許下拉重新整理
專案地址:https://github.com/GDG-Korea/PinterestLikeAdapterView
APP示例:Pinterest等

六、ImageView

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

七、ProgressBar

八、其他

ColorPickerView 顏色選擇器,支援PopupWindows或新的Activity中開啟
專案地址:https://code.google.com/p/color-picker-view/
效果圖:Renderings

UndoBar螢幕底部顯示取消或是確認的PopupWindows
專案地址:https://github.com/soarcn/UndoBar
效果圖:Renderings

GitHub在中國的火爆程度無需多言,越來越多的開源專案遷移到GitHub平臺上。更何況,基於不要重複造輪子的原則,瞭解當下比較流行的Android與iOS開源專案很是必要。利用這些專案,有時能夠讓你達到事半功倍的效果。為此,CSDN特整理了在GitHub平臺上最受歡迎的Android及iOS開源專案,以饗開發者。
下面,就讓我們一起來看看,在GitHub平臺上,究竟有哪些Android開源專案最火,也最受開發者歡迎。

  1. ActionBarSherlock

ActionBarSherlock應該算得上是GitHub上最火的Android開源專案了,它是一個獨立的庫,通過一個API和主題,開發者就可以很方便地使用所有版本的Android動作欄的設計模式。

對於Android 4.0及更高版本,ActionBarSherlock可以自動使用本地ActionBar實現,而對於之前沒有ActionBar功能的版本,基於Ice Cream Sandwich的自定義動作欄實現將自動圍繞佈局。能夠讓開發者輕鬆開發一款帶動作欄(Action bar)的應用,並且適用於Android 2.x及其以上所有版本。

詳情請參考:ActionBarSherlock

  1. facebook-android-sdk

Facebook SDK for Android是一個開源庫,允許開發者將Facebook整合到所開發的Android應用中。

如果想要獲取更多關於示例、文件、將SDK整合到App中、原始碼等資訊,可直接登陸Facebook Developers檢視。

  1. SlidingMenu(SlidingMenu Demos)

SlidingMenu是一個開源的Android庫,能夠讓開發者輕鬆開發一款應用,實現類似於Google+、Youtube和Facebook應用中非常流行的滑動式選單。

使用SlidingMenu的Android應用:

Foursquare
Rdio
Plume
VLC for Android
ESPN ScoreCenter
MLS MatchDay
9GAG
Wunderlist 2
The Verge
MTG Familiar
Mantano Reader
Falcon Pro (BETA)
MW3 Barracks

  1. cocos2d-x

在移動開發領域,將Cocos2D-X用於主流iOS/Android遊戲開發的公司、開發團隊多不勝數。cocos2d-x是一個開源的支援多平臺的2D遊戲框架,使用C++開發,基於cocos2d-iphone,在MIT許可證下發布。主分支在GitHub上使用OpenGL ES 2.0渲染,而舊版gles11分支則使用OpenGL ES 1.1渲染。

支援iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多個平臺。支援C++、Lua、JavaScript程式語言。

  1. android

GitHub Android App是GitHub開源的Android客戶端,支援Issues、Gists,並集成了新聞Feed,能夠讓你及時跟進組織及關注的開發者、庫等。同時,該應用還提供了一個使用者快速訪問你所建立、監控及釋出issue的面板,可檢視並將問題加入到收藏夾,可對標籤、里程碑和任務進行過濾配置。

android資源庫包含了GitHub Android App的所有原始碼。

  1. Android-ViewPagerIndicator

ViewPager指標專案,在使用ViewPager的時候能夠指示ViewPager所在的位置,就像Google Play中切換的效果一樣,還能使用在應用初始化的介紹頁面。

相容Android支援庫的ViewPager及ActionBarSherlock,最初是基於Patrik Åkerfeldt的ViewFlow,開發者可以直接登陸Google Play下載該專案的演示應用。

  1. MonoGame

MonoGame是一個Microsoft XNA 4.x Framework的開源跨平臺實現。用於讓XNA開發者將他們在Xbox 360、Windows & Windows Phone上開發的遊戲移植到iOS、Android、Mac OS X、Linux及Windows 8 Metro上,目前,PlayStation Mobile & Raspberry PI的開發正在進行中。

詳情請參考:MonoGame

  1. Android-PullToRefresh

該專案用於為Android提供一個可重用的下拉重新整理部件。它最初來源於Johan Nilsson的庫(主要是圖形、字串和動畫),但這些後來都已被取代。

  1. android-async-http

android-async-http是Android上的一個非同步、基於回撥的HTTP客戶端開發包,建立在Apache的HttpClient庫上。

  1. Android-Universal-Image-Loader

Android上最讓人頭疼的莫過於從網路獲取圖片、顯示、回收,任何一個環節有問題都可能直接OOM,這個專案或許能幫到你。

Universal Image Loader for Android的目的是為了實現非同步的網路圖片載入、快取及顯示,支援多執行緒非同步載入。它最初來源於Fedor Vlasov的專案,且自此之後,經過大規模的重構和改進。

  1. GreenDroid

GreenDroid最初是由Cyril Mottier發起,是一個Android的UI開發類庫,能夠讓UI開發更加簡便,並且在應用中始終保持一致。

詳情請參考:Cyril Mottier’s Blog

  1. Anki-Android

AnkiDroid是一個免費、開源的Android的快閃記憶體應用,可直接從Google Play進行下載。

詳情請參考:ankidroid

  1. android-actionbar

Action bar是一個標識應用程式和使用者位置的視窗功能,並且給使用者提供操作和導航模式。在大多數的情況下,當開發者需要突出展現使用者行為或在全域性導航的activity中使用action bar,因為action bar能夠使應用程式給使用者提供一致的介面,且系統能夠很好地根據不同的螢幕配置來適應操作欄的外觀。

Action bar的主要目的:

提供一個用於識別應用程式的標示和使用者的位置的專用空間。
在不同的應用程式之間提供一致的導航和視覺體驗。
突出Activity的關鍵操作,並且在可預見的方法內給使用者提供快捷的訪問。

  1. android-viewflow

android-viewflow是Android平臺上的一個檢視切換的效果庫,ViewFlow相當於Android UI部件提供水平滾動的ViewGroup,使用Adapter進行條目繫結。

  1. android-mapviewballoons

當使用Android地圖外部庫(com.google.android.maps)時,android-mapviewballoons會提供一個簡單的方式來對地圖覆蓋進行標註,就是一個簡單的資訊氣泡。

它由BalloonOverlayView組成,是一個代表顯示你的MapView及BalloonItemizedOverlay的氣泡的檢視,BalloonItemizedOverlay是ItemizedOverlay的一個抽象擴充套件。

  1. PushSharp

一個向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8裝置傳送推送通知的伺服器端庫。

  1. androidannotations

Android Annotations是一個開源的框架,用於加速 Android應用的開發,可以讓你把重點放在功能的實現上,簡化了程式碼,提升了可維護性。

  1. HockeyKit

Hockey是一個iOS Ad-Hoc自動更新框架。蘋果App Store中的所有App都可以使用它,它能夠顯著地提高Beta測試的整個過程,分為兩部分:伺服器和客戶端框架。伺服器元件需要所有指令碼,但在沒有客戶端庫的情況下,也可以單獨工作。它提供一個Web介面,Beta測試者可以使用它來安裝最新的AdHoc配置檔案,也可以直接在裝置上通過Safari安裝最新的Beta版本。

只需在伺服器上安裝一次服務端,就可以處理包識別符號不同的多個應用程式(有開發者強烈建議對Debug、AdHoc Beta和AppStore釋出版使用不同的包識別符號)。
預設當App啟動或喚醒時,客戶端會從伺服器檢測更新,使用者可以在設定對話方塊中進行修改:一天一次或手動檢查更新。
除了支援iOS,HokeyKit也支援Android平臺,不過Android版還處在Alpha階段,支援OTA及應用內更新。
為HockeyKit使用者提供伺服器託管服務。

  1. android-menudrawer

Android上的選單展示風格各異,其中用得最多且體驗最好的莫過於左右滑動來顯示隱藏的選單,android-menudrawer是一個滑動式選單實現,允許使用者在應用當中實現無縫導航。該專案具有多種選單展示效果,其中最常見的就是通過螢幕邊緣拖動或點選動作欄的“向上”按鈕顯示。

實現功能:

選單可以沿著四個邊放置。
支援附加一個始終可見、不可拖動的選單。
選單的內容和整個視窗都可以隱藏。
可用於XML佈局。
顯示當前可見螢幕的指示器。

  1. android-flip

Aphid FlipView是一個能夠實現Flipboard翻頁效果的UI元件。

以上為GitHub上最受歡迎的Android開源專案TOP20,敬請期待“GitHub上最受歡迎的Android開源專案(二)”。

Android經典的開源專案其實非常多,但是國內的部落格總是拿著N年前的一篇複製來複制去,實在是不利於新手學習。今天爬爬把自己熟悉的一些開源專案整理起來,希望能對Android開發同學們有所幫助。另外,如果你有比較好的專案推薦,也煩請在評論裡分享出來,我會定期更新部落格內容。

專案篇:
Apollo音樂播放器:就一個播放器,但是實現的很好
oschina客戶端:oschina網站的客戶端哦,wp版,iOS版都有開源
xabber實時聊天工具(基於xmpp協議):不評價了,反正算是同類中比較好的了

元件篇:
Android-Flip:可以實現類似FlipBoard那種華麗麗的翻頁
Drag-Sort-Listview:可以拖動item重新排序的listview,效果非常贊
HoloEveryWhere:咳咳,有些同學非常喜歡Android的holo風格,這個專案絕對讓你happy
Universal-ImageLoader:這個經典的非同步圖片載入,不多說了
JazzyViewPager:這玩意可以讓ViewPager翻起來更酷,誰用誰知道~~
SlidingMenu:這個是抽屜介面(就是facebook那種)的各種實現版本中,最好的,木有之一!
StickyListHeaders:iPhone上經常有這個,就是listview的……不知道怎麼解釋,自己下載看看吧
Android-PullToRefresh:下拉重新整理,挺常用的一個元件
StaggeredGridView:這是一個瀑布流佈局的實現,還不是很完善,但作為學習的案例還是不錯的
android-async-http:android的非同步請求元件,我個人習慣使用asynctask,不過這個實現水平還是不錯,也推薦給大家參考
ActionBarSherlock:大家熟知的ActionBar在2.x上的相容性方案;類似的相容性元件還有許多,有時間為大家一一列出;
facebook-android-sdk:不止是一個SDK那麼簡單哦,比某浪和某人的SDK強幾個數量級;
NineOldAndroids:想在2.xSDK上使用Android 3.0新增的動畫API,那就是它了;沒用過的同學一定要試試哦,非常方便~
android-swipelistview:讓listview的item可以向右滑動,新版Gmail和Pocket裡面有用到哦~
DataDroid:Android的RESTful封裝,沒聽過RESTful還說你有程式碼潔癖,追求完美
EventBus:和上面的DataDroid同樣屬於美化底層程式碼的,這個lib簡化了不同元件之間的事件傳遞

  1. drag-sort-listview

DragSortListView(DSLV)是Android ListView的一個擴充套件,支援拖拽排序和左右滑動刪除功能。重寫了TouchInterceptor(TI)類來提供更加優美的拖拽動畫效果。

DSLV主要特性:

完美的拖拽支援;
在拖動時提供更平滑的滾動列表滾動;
支援每個ListItem高度的多樣性
公開startDrag()和stopDrag()方法;
有公開的介面可以自定義拖動的View。

DragSortListView適用於帶有任何優先順序的列表:收藏夾、播放列表及清單等,算得上是目前Android開源實現拖動排序操作最完美的方案。

  1. c-geo-opensource

c:geo是Android裝置上一個簡單而又強大的非官方地理尋寶客戶端。與其他類似應用不同的是,c:geo不需要Web瀏覽器,也不需要檔案輸出。你可以在毫無準備的情況下,毫無後顧之憂地帶上你的智慧手機去進行地理尋寶。當然,你也不需要付錢,因為它是免費的。

c-geo-opensource包含了c:geo所有開原始碼。

詳情請參考:c:geo

  1. NineOldAndroids

自Android 3.0以上的版本,SDK新增了一個android.animation包,裡面的類都是跟動畫效果實現相關的,通過Honeycomb API,能夠實現非常複雜的動畫效果。但如果開發者想在3.0以下的版本中也能使用到這套API,那麼Nine Old Androids就會是你最好的選擇,該API和Honeycomb API完全一樣,只是改變了你使用com.nineoldandroids.XXX的入口。

該專案包含兩個工程,一個是Library,即為動畫效果的實現庫,另一個則是Sample,是對如何使用該API的演示。開發者可以直接登陸Google Play下載安裝Nine Old Androids Sample,檢視演示。

詳情請參考:Nine Old Androids

  1. ppsspp

PPSSPP是由GC/Wii模擬器Dolphin聯合創始人之一Henrik Rydgård開發的一款免費的跨平臺開源模擬器,支援Windows、Linux、Mac、Android、iOS、BlackBerry 10等主流計算機與移動作業系統,可直接工作在x86、x64、ARM等CPU平臺上,以GNU GPLv2許可協議釋出,主要使用C++編寫以提高效率和可移植性。

只要支援OpenGL ES 2.0,PPSSPP就可以在相當低規格的硬體裝置上執行,包括基於ARM的手機及平板電腦。

詳情請參考:PPSSPP

  1. androidquery

Android-Query(AQuery)是一個輕量級的開發包,用於實現Android上的非同步任務和操作UI元素,可讓Android應用開發更簡單、更容易,也更有趣。

  1. droid-fu

Droid-Fu是一個開源的通用Android應用庫,其主要目的是為了讓Android開發更容易,包含有許多工具類,還有非常易用的Android元件。

Droid-Fu提供支援的領域包括:

Android應用的生命週期幫助
支援處理Intents和diagnostics類
後臺任務支援
HTTP訊息處理
物件、HTTP響應及遠端影象快取記憶體
定製各種Adapter及View

Droid-Fu最大的優勢在於它的應用生命週期幫助類,如果你正在開發一款Android應用,而它的主要任務是執行後臺任務,比如從Web上抓取資料,那麼,你一定會使用到Droid-Fu,不過,目前該專案在GitHub上已經停止更新維護。

詳情請參考:droid-fu

  1. TextSecure

TextSecure是Whisper Systems團隊開發的一個Android上的加密資訊客戶端,旨在增強使用者和企業通訊的安全性,其原始碼於2011年被Twitter釋出在GitHub開源資料庫中。

該軟體允許使用者將在Android裝置上所有傳送和接收的簡訊內容進行加密,還可以將加密資訊傳送給另一個TextSecure使用者。

  1. XobotOS

XobotOS是Xamarin的一個研究專案,用於將Android 4.0從Java/Dalvik移植到C#,並對移植後的效能及記憶體佔用情況進行檢測。

  1. ignition

在編寫Android應用時,通過提供即用元件和包含許多樣板檔案的實用類,ignition可以讓你的Android應用快速起步。ignition涵蓋的區域包括:

Widget、Adapter、Dialog等UI元件;
允許編寫簡單卻強大的網路程式碼的HTTP Wrapper庫;
載入遠端Web影象並進行快取的類;
簡單但有效的快取框架(將對所有物件樹做出響應的HTTP快取到記憶體或硬碟中);
Intents、diagnostics等幾個能讓API級別更容易向後相容的幫助類;
更友好、更強大的AsyncTask實現。

ignition包括三個子專案:

ignition-core——是一個可以直接編譯到App中的Android庫專案。
ignition-support——一個標準的Java庫專案,被部署為一個普通的JAR,包含了大部分實用工具類。開發者可以獨立使用該工程的核心模組。
ignition-location——一個可以直接編譯到應用程式中的Android AspectJ庫專案。能夠讓定位應用在不需要Activity位置更新處理的情況下獲取到最新的位置資訊。

詳情請參考:ignition Sample applications

  1. android_page_curl

android_page_curl是一個在Android上使用OpenGL ES實現類似書本翻頁效果的示例程式。(點選連結檢視視訊演示)

  1. asmack

說到aSmack,自然要先提提Smack。Smack API是一個完整的實現了XMPP協議的開源API庫,而aSmack則是Smack在Android上的構建版本,於2013年2月初遷移到GitHub上,該資源庫並不包含太多的程式碼,只是一個構建環境。開發者可以利用該API進行基於XMPP協議的即時訊息應用程式開發。

詳情請參考:asmack

  1. AndroidBillingLibrary

In-app Billing是一項Google Play服務,能夠讓你在應用內進行數字內容銷售,可銷售的數字內容範圍非常廣,包括媒體檔案、照片等下載內容,還包括遊戲級別、藥劑、增值服務和功能等虛擬內容。Android Billing Library可以實現In-app Billing的所有規範,並提供更高階的類來進行使用。

Google於2012年底正式釋出了v3版Android In-app Billing,但截至目前,GitHub上的Android Billing Library還只能支援到v2版,據悉Google將於2013年初對它進行更新。

詳情請參考:Google Play In-app Billing

  1. Crouton

Crouton是Android上的一個可以讓開發者對環境中的Toast進行替換的類,以一個應用程式視窗的方式顯示,而其顯示位置則由開發者自己決定。

開發者可以直接登陸Google Play下載安裝Crouton Demo,檢視應用演示。

  1. cwac-endless

CommonsWare Android Components(CWAC)是一個開源的Android元件庫,用來解決Android開發中各個方面的常見問題,每個 CWAC元件打包成一個獨立的jar檔案,其中就包含cwac-endless。

cwac-endless提供一個EndlessAdapter,這是一個自動分頁的List,當用戶瀏覽到List最後一行時自動請求新的資料。

詳情請參考:Commons Ware

  1. DiskLruCache

在Android應用開發中,為了提高UI的流暢性、響應速度,提供更高的使用者體驗,開發者常常會絞盡腦汁地思考如何實現高效載入圖片,而DiskLruCache實現正是開發者常用的圖片快取技術之一。Disk LRU Cache,顧名思義,硬體快取,就是一個在檔案系統中使用有限空間進行快取記憶體。每個快取項都有一個字串鍵和一個固定大小的值。

點選連結下載該庫專案。

  1. Android-SlideExpandableListView

如果你對Android提供的Android ExpandableListView並不滿意,一心想要實現諸如Spotify應用那般的效果,那麼SlideExpandableListView絕對是你最好的選擇。該庫允許你自定義每個列表專案中的ListView,一旦使用者點選某個按鈕,即可實現該列表專案區域滑動。

  1. gauges-android

Gaug.es for Android是由gaug.es推出的一款在Android裝置上對網站流量資料進行實時統計的應用。gauges-android包含了該應用的原始碼,開發者可以直接登陸Google Play下載安裝該應用。

  1. acra

ACRA是一個能夠讓Android應用自動將崩潰報告以谷歌文件電子錶的形式進行傳送的庫,旨在當應用發生崩潰或出現錯誤行為時,開發者可以獲取到相關資料。

  1. roboguice

RoboGuice是Android平臺上基於Google Guice開發的一個庫,可以大大簡化Android應用開發的程式碼及一些繁瑣重複的程式碼。給Android帶來了簡單、易用的依賴注入,如果你使用過Spring或Guice的話,你就會知道這種程式設計方式是多麼的便捷。

  1. otto

Otto是由Square釋出的一個著重於Android支援的基於Guava的強大的事件匯流排,在對應用程式不同部分進行解耦之後,仍然允許它們進行有效的溝通。

詳情請參考:Otto

41.android-swipelistview

SwipeListView是一個Android List View實現,實現了自定義ListView單元格,可通過滑動來顯示擴充套件面板。開發者可直接登陸Google Play下載安裝其Demo應用。

  1. greenDAO

greenDAO是一個可以幫助Android開發者快速將Java物件對映到SQLite資料庫的表單中的ORM解決方案,通過使用一個簡單的面向物件API,開發者可以對Java物件進行儲存、更新、刪除和查詢。

greenDAO的主要設計目標:

最大效能(最快的Android ORM)
易於使用API
高度優化
最小記憶體消耗
詳情請參考:greendao-orm

  1. FFMpeg

FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。它包括了目前領先的音/視訊編碼庫libavcodec。FFmpeg是在Linux下開發出來的,但它可以在包括Windows在內的大多數作業系統中編譯。可以輕易地實現多種視訊格式之間的相互轉換。

而FFmpeg for Android則是可通過Android NDK直接在Android原始碼環境下編譯的FFmpeg庫。該庫專案即是FFmpeg for Android的入口,開發者只需直接選擇需要轉換的視訊檔案,並設定引數,即可進行轉換,發起人havlenapetr表示在未來將為其開發Android庫,能夠實現自動轉換視訊檔案。

  1. TweetLanes

Tweet Lanes是一個在Android4.0及更高版本的Android裝置上執行的功能全面的Twitter客戶端(開發者可以直接登陸Google Play下載該應用)。

該開源專案包含以下所有原始碼:

Tweet Lanes客戶端應用;
連線Twitter和App.net APIs的SocialNetLib專案;
所有源,尤其是LOGO和Play Store列表;
用於tweetlanes.com的The App Engine專案。
45.gesture-imageview

這是一個簡單的支援多指縮放圖片的Android View類。在Android2.1及其更高版本的裝置上,當你想要實現同時進行縮放操作時,可以將其作為一個標準的ImageView來使用。

46.android-satellite-menu

使用過Path的人都應該知道,在Path主介面的左下方有一個非常有意思的選單。選單由一個主按鈕組成,當用戶點選該按鈕時,就會有一連串的按鈕彈出,而Satellite Menu正是該選單的一個開源版本。

對於Satellite Menu,其專案發起人siyamed表示,這種選單結構就像是一個星球四周圍繞著許多衛星,而這也就是他為何會以Satellite Menu命名該專案的原因。

  1. VitamioBundle

Vitamio是一款Android平臺上的全能多媒體開發框架,憑藉著其簡潔易用的API介面,Vitamio贏得了全球眾多開發者的青睞。目前,有許多公司的開源Vitamio專案都託管在GitHub上,而Vitamio的核心外掛VitamioBundle正是其中之一。

VitamioBundle是一個獨立的Android庫,用於促進多媒體的使用,開發者可以很方便地將其整合到自己的專案當中。

48.android-ffmpeg-x264

android-ffmpeg-x264是能夠讓提取和構建執行在Android上、使用Android NDK最新的FFmpeg和libx264變得非常簡單的一個儲存庫。不同於大多數其他的NDK FFmpeg構建包,它通過配置構建庫,只需一個非常小的Android.mk檔案即可將其包裝進入一個共享庫。目前,該庫專案已不再更新,但在GitHub上還有著非常多的FFmpeg庫,除了前面的FFmpeg,接下來我們還會繼續介紹到其他FFmpeg庫。

  1. ArcMenu

ArcMenu是一個類似於iOS版Path 2.0選單的Android自定義檢視專案,和我們前面介紹的Satellite Menu專案類似。

對於這個專案,其發起人daCapricorn表示,iOS版Path 2.0上的使用者體驗非常奇妙,但其Android版本卻差太多。因此,他就嘗試著在Android上做出像iOS版本那樣的效果,而事實也的確如此。

  1. DataDroid

DataDroid是Android平臺上的一個開發庫,用於簡化Android應用當中的資料管理,基於Android的RESTful封裝發展而來。

詳情請參考:datadroidlib

51.android-adt-templates

android-adt-templates是集成了Android開發過程中使用到的許多常用的模板,用來幫助開發者快速構建一些普通的Activity和UI模型。

當然,要想使用這些模板,還必須是Eclipse和ADT 21及其以上版本,此外還需注意的一點就是,ADT模板不管理官方支援庫以外的外部依賴關係。

52.android-ffmpeg

FFmpeg有許多不同的庫,也總是會讓人容易混淆,因此該專案發起人n8fr8對android-ffmpeg專案進行了全新的改變,該專案中包含著一個清晰、容易改變、靜態的Android FFmpeg Creator。

53.
StaggeredGridView

該專案是基於Google Android StaggeredGridView進行修改的一個庫專案,允許開發者建立一個類似於Pinterest的交錯排列的GridView。開發者只需在自己的專案中將其作為一個庫專案新增到workspace中即可直接使用。

  1. robospice

RoboSpice是Repo的開源Android庫,能夠讓編寫非同步網路請求變得非常簡單。它專門用於網路請求,通過使用Spring Android或者Google Http
Client等擴充套件模組可支援REST請求。

如果想要了解更多,不妨點選連結檢視RoboSpice大圖,讓你30秒即可完全瞭解RoboSpice。如果想要立即使用,則可以直接進入WiKi或RoboSpice-samples頁面。

  1. EventBus

當一個Android應用功能越來越多的時候,保證應用的各個部分之間高效的通訊將變得越來越困難。如何優雅地解決這個問題?這時候,就需要使用到EventBus。

EventBus是GreenRobot出品的Android系統的一個Event Bus類庫,使用起來和之前我們所介紹的Square的Otto差不多,都是用來簡化應用元件之間的通訊。

延伸閱讀:EventBus和Otto使用介紹

  1. commandergenius

commandergenius是SDL庫的埠,在project/jni/application目錄下還包含有幾個個人遊戲的原始碼或補丁。

  1. android-rss

Android RSS是Android平臺上RSS 2.0閱讀軟體的一個輕量級Android庫。

詳情請參考:Code.Google

  1. OpenCV-Android

OpenCV-Android是一個將OpenCV移到Android手機平臺的開源專案,該專案使用OpenCV最新的一個分支並利用一個改良過的Android
NDK進行構建。

如果想要使用OpenCV-Android,必須先下載並安裝Android SDK
1.6(或其更高版本)和NDK r5,除此之外,還必須具備:

Android手機(可能需要與其他手機相連);
QuickTime Java庫(如果想要使用QTWebcamBroadcaster就必須具備)。
59. RESTProvider

RESTProvider旨在讓訪問REST服務(或任何主要的HTTP呼叫的網路資料格式)更容易,並將其快取到本地的一個SQLite資料庫中,允許離線使用。可自動解析RESTful API,並將其響應到Android的一個Provider中。

60.
ImageFilterForAndroid

在開源ImageFilterForAndroid中擁有許多豐富的圖片效果,是由來自國內的代震軍發起的一個開源專案。除了Android平臺,還有Windows Phone和iOS移動平臺,三個平臺原始碼同步。

ImageFilter庫圖片效果對比:

詳情請參考:代震軍BLOG

61.
Android-Image-Cache

Android-Image-Cache是一個能夠自動判斷從記憶體還是網路獲取圖片、快取可以自動回收、自動判斷如何有效地生成並檢索各種尺寸縮圖的影象download-and-cacher。

主要特點如下:

只需提供一個介面卡即可從游標讀取本地、網路URL;
基於一個已下載的影象自動生成並快取多種尺寸影象;
同時提供磁碟快取和記憶體快取;
自動磁碟快取管理;不需進行設定,但如果需要的話,引數可進行調整;
根據現有設定進行運作;
游標介面卡支援一個ImageView中多個影象欄位;當是null或為空時自動跳過;
當載入游標時,游標介面卡會有一個自動進度提示條。
62. FFmpeg-Android

為Android neon、armv7、vfp、armv6及用於Android的VPlayer構建FFmpeg。

63.
roman10-android-tutorial

roman10-android-tutorial包含了android tutorial的所有原始碼。

  1. tape

Tape是Square推出的Android和Java的一組佇列關係類。

詳情請參考:Square.GitHub

65.
AndroidSideMenu

AndroidSideMenu能夠讓你輕而易舉地建立側滑選單。需要注意的是,該專案自身並不提供任何建立選單的工具,因此,開發者可以自由建立內部選單。

  1. Android-AppMsg

Android-AppMsg是基於Toast訊息提示和Cyril
Mottier的“The making of Prixing #4: in-layout
notifications”而來的一個佈局內通知實現。

開發者可以直接登陸Google Play下載其示例應用。

  1. proxydroid

ProxyDroid是Android上的一個全域性代理應用,遵循GPLv3協議,可以幫助你設定Android裝置上的代理。proxydroid專案包含了ProxyDroid所有開放原始碼。

  1. bypass

Bypass可以跳過HTML,直接在Android和iOS上使用Markdown並進行渲染。Markdown是一種輕量級的標記語言,可以實現文字到HTML的轉換。

  1. OnionKit

OnionKit是一個可以通過提供多種路徑來提高移動應用網路安全的Android庫專案。

該庫具體提供:

StrongTrustManager:TLS/SSL證書校驗的一個強大實現,任何認證中心都可以進行定製;
Proxied Connection Support:通過Apache HTTPClient庫的特定配置來支援HTTP和HTTPS流量的HTTP和SOCKS代理連線;
OrbotHelper:一個支援Orbot:Tor for Android應用整合的工具類。
70. android-ffmpeg

如果想要實現Android FFmpeg編譯,必須下載安裝Android NDK,在開始編譯之前,還必須更新FFmpeg庫。

71.
AndroidUsbCamera

Android Usb Camera是一款可以在Linux電腦上將Android手機直接當攝像頭使用的客戶端軟體。先在手機上安裝USB驅動,再安裝該客戶端軟體,然後再在手機上安裝usbwebcam.apk程式,開啟USB除錯模式並執行usbwebcam,通過USB線將電腦和手機相連線即可在PC上直接使用Android手機充當攝像頭。

  1. Droidex

Droidex可以將開發者附加的Android裝置的螢幕內容複製到你的開發裝置螢幕上。通常,如果你使用DroidEx來進行演示可謂是事半功倍,因為你可以直接將一臺Android裝置與筆記本或投影儀相連,而客戶也可以通過這些裝置來檢視Android裝置上的內容。

此外,Droidex還可以用來演示那些不方便通過模擬器演示的內容,比如GPS或力口速器。

  1. andmake

andmake是Android的CMake工具鏈檔案。CMake是一個開源的跨平臺自動化構建系統,可以編譯原始碼、製作程式庫、產生介面卡,還可以用任意的順序構建可執行檔案。

  1. ScreenCap

ScreenCap是Android原生自帶的截圖工具,通過呼叫底層,採取後臺截圖的方式實現截圖。

GitHub上受開發者歡迎的Android開源專案並不僅僅止於此,還有很多,並且還有許多同類開源專案,如果你感興趣的話,可以直接登陸GitHub進行更加深入的學習瞭解。至此,GitHub上最受歡迎的Android開源專案盤點就全部結束了。

.
3. Android開發神器
網上有很多開源的安卓程式碼庫很好用,對於剛學習安卓的童鞋亦或者老鳥都是很好的學習物件。
我平時有關注開原始碼的習慣,這麼多年也蒐集了不少精彩的原始碼。
到後來發現自己手機裡裝的都是幾百個demo app,刪又不捨得刪,不刪又佔資源, 於是就準備搞了個23code應用,裡面彙集了我精心整理的應用,
此後每週應該都會更新。敬請期待。。。
百度下載連結
谷歌市場下載

當前版本集成了68個開源示例。

更新日誌

v1.0 新增如下
HoloColorPicker
Square-progressbar
ParallaxScrollView
JazzyViewPager
CircularProgressBar
LeftLockedGallery
GPUImage
Bootstrap
SwipToDismiss
GifView
LockPatternGenerator
NewQuickAction3D
SlidingDrawer
SwitchButton
TabCarouselDemo
ActionsContentView
ArcMenu
【11月30號】v1.1 新增如下:
ProgressWheel,
Movies-demo,
SlideExpanableListView,
XlistView,
Android-Universal-Image-Loader, Cardslib,
Cardsui

【12月2號】v1.2 新增如下
ProgressWheel,
Movies-demo,
SlideExpandableListView,
XlistView,
Universal-Image-Loader,
Cardsui,
CardsLib,
PinnedSectionList,
HoloGraphLibrary,
AChartEngine,
QuickScroll,
ListViewAnimations,
MenuDrawer,
ViewPagerIndicator,
PhotoView,
Android-ViewBradger,
RangeBar,
ProgressButton,
PagerSlidingTabStrip.
ActionBar-PullToRefresh,
Cropper,
ExpandingCells,
InsertingCells,
NewPopupMenu,
RangeSeekBar,
HanselAndGretel,
PagedDragDropGrid,
QuickReturnListView,
WizardPager

【12月9號】新增記錄如下:

NoboringActionBar,

StickGridHeaders,

MessageBar,
AndroidOpenGLESLessons,
SuperToasts,
SmoothProgressBar,
ColorArt,
FadingActionBar,
FlipImageView,
DatetimePicker,
Satelitemenu
【12月18號】新增如下:
Android-pulltorefresh
NineOldAndroid
GlowPadView
CustomShapeImageView
ShareEveryWhere
RoundImageView
AutoScaleTextView
IconicDroid
Radial-menu-widget
android-wheel
androidwheel
ChipsTextFields
媽媽再也不用擔心我當程式設計師啦

前言:
無論你是android的初學者,還有是android開發多年的高手,可能都會有很多想法和經驗希望與人分享交流,渴望能夠接觸到更多的實戰專案,正所謂所謂與高手論道才能互補所長,與英雄共鼎方能百尺竿頭,一味的織履販席閉門造車只能固步自封成為井底之蛙,筆者特意將研究過的開源軟體花費大量時間和精力逐一悉心修改整理除錯釋出,確保完美質量,以饗讀者。
以下部分資源設定積分限制,如果有著急需的同學可以給我郵件或者加入我們的技術交流群(173711587),海量資源一鍵下載,共同探討和分享技術資源。

相信自己,只要努力學習勤奮工作用不了多久你就會升職加薪出任CTO迎娶白富美走上人生巔峰。。。

想想是不是還有些小激動呢,趕快去下載吧

開源分享(點選標題下載原始碼):
1.Xabber客戶端

2.oschina客戶端

3.手機安全管家

4.星座連萌

5.玲鬧鈴

6.魔樂盒

7.PWP日曆

8.Apollo音樂播放器

9.夏普名片識別

10.高仿人人網

11.簡潔天氣

12.高仿開心網

13.百度推聊

14.餐廳訂餐

15.eoe客戶端

16.飯否網客戶端

17.imiPhoneWall

18.k9mail

19.MSD音樂

20.高仿愛奇藝

21.企信通

22.高仿生日管家

23.PM25

24.高仿陌陌

25.股民邦

26.CB資訊閱讀

27.幽祕

28.MIUI檔案管理

29.MIUI便籤

30.MIUI錄音機

31.MIUI指南針

32.高仿微信

32.高仿丁丁優惠券

33.課程表

34.精品生活

35.資料手袋

如沒有CSDN積分的同學可以加入我們的技術交流群(173711587),海量資源等你來拿
歡迎大家補充和討論,文章持續更新,請關注我的部落格,更多精彩還在後面。。。。

附:Java自學視訊整理

1.Java基礎視訊
《張孝祥JAVA視訊教程》完整版RMVB
歷經5年錘鍊(史上最適合初學者入門的Java基礎視訊)(傳智播客)
張孝祥2010年賀歲視訊:Java高新技術(傳智播客)
Java多執行緒與併發庫高階應用(傳智播客)
尚學堂JAVA視訊下載大全(持續更新中…請關注!)(尚學堂)
《動力節點,王勇JAVA系列視訊教程》(東西網)
張孝祥Java高新技術(學習資料網)
Java視訊教程(最適合Java初學者的經典入門視訊)(傳智播客)
《馬士兵 JAVA JSP視訊教程》尚學堂科技(尚學堂)
《尚學堂科技_馬士兵_JAVA視訊教程》(百度空間)
《尚學堂馬士兵 手把手java視訊教程》第二版(東西網)
java視訊教程、java教學視訊、java視訊下載大全(尚學堂)
Java語言資源列表(東西網)
Java私塾Java初級教程(學習資料網)
Java精品學習視訊教程下載彙總(大家論壇)
上海交大最新版JAVA程式設計(學習資料網)
JAVA私塾基礎視訊教程(PlaySoft網)
JAVA教程/視訊教程類專題資料(學習資料庫網)

2.SSH相關視訊
hibernate視訊教程(華為網盤)
王勝Hibernate(資源共享)
王勝Hibernate(零度軟體園)
北京聖思園Hibernate視訊教程(學習資料庫)
struts2實用簡潔版視訊(傳智播客)
傳智播客Hibernate視訊教程(傳智播客)
傳智播客Spring5視訊教程(傳智播客)
咿呀網提供-SpringMVC0視訊教程(iteye)
JAVA系列教材-Spring6_尚學堂科技(西西軟體園)
《Spring MVC0 WEB開發系列視訊教程(全套共6講–約400分鐘)》(iVeryCD)
《hibernate視訊教程,spring視訊教程–老盧JAVA》(北風網)
Struts+Spring+Hibernate開發入行真功夫(19一九下載)
《浪曦原創Struts.Hibernate.Spring.JS.分頁視訊教程(全)》(零度軟體園)
《瘋狂Java_瘋狂軟體_李剛老師_Struts2全套視訊教程》(北風網)
struts2實用簡潔版視訊(傳智播客)
《浪曦視訊教程 Struts 2應用開發詳解系列》(東西網)
張衛_Struts1視訊教程2012年第一版原始碼(華為網盤)
張衛_Struts1_Hibernate…教程2012年第一版原始碼(華為網盤)
《北京聖思園struts2教學視訊》(SimpleCD)
SpringMvc+Spring+Mybatis+Maven整合視訊教程(百度雲網盤)
JNI視訊教程(傳智播客)
傳智播客_FTP視訊教程(傳智播客)
oracle視訊教程(內部經典)(傳智播客)
OA+工作流(JBPM)(傳智播客)
Ajax和Jquery基礎入門視訊(傳智播客)
8天快速掌握Android視訊(完整版–適合有JavaWeb基礎學習)(傳智播客)
張孝祥Java就業面試寶典(傳智播客)
《傳智播客:spring3/jdbc/EJB0/ajax/hibernate/Struts/java視訊教程》(傳智播客)
30天輕鬆掌握JavaWeb視訊(黑馬)
Java/.Net/PHP/網頁平面設計(傳智播客)
傳智播客_張孝祥_java基礎教程(華為網盤)
傳智播客_方立勳JavaWeb視訊教程_web開發入門(第四天)(華為網盤)
《傳智播客_張孝祥java視訊教程_11_javaweb/javascript/java》(java\javascript\javaweb\courses)(資源共享)
《傳智播客張孝祥java視訊教程_13_struts/javascript/java》(VeryCD)
《傳智播客張孝祥java視訊教程_13_struts/javascript/java》(iVeryCD)
Hibernate視訊教程(適合掌握了javaweb的學員)(黑馬)
《傳智播客:spring3\jdbc\EJB0\ajax\hibernate\Struts\java視訊教程》(SPRING5\AJAX\JAVA\JNI\FTP\AJAX\ibatis\OA\JDBC)(VeryCD)
《spring5視訊教程》AVI 傳智播客(東西網)
傳智播客_spring5視訊教程(華為網盤)
傳智播客_2010_struts2.1.8視訊教程(華為網盤)
Hibernate視訊教程(尚學堂)

3.JavaEE相關視訊
《尚學堂科技.馬士兵.JAVA視訊教程(java培訓內部視訊)10年2月9日更新(更新Spring0)》(資源共享)
老盧JAVA(老盧JAVA網)
JavaSE視訊教程(最適合Java初學者的經典入門視訊)(尚學堂)
傳智播客JDBC視訊教程(傳智播客)
JavaWEB開發(JSP+Servlet)視訊(傳智播客)
30天輕鬆掌握JavaWeb視訊(傳智播客)
北京聖思Java培訓教學視訊(資源共享網)
《張衛 JavaWeb視訊教程》2011版(求索網)
Lucene/WebService/SVN/Ant/SpringMVC視訊(學習資料庫網)
JUnit和Ant視訊教程(VeryCD社群)
廣州Java培訓WebService視訊教程(瘋狂軟體)
北京聖思員Java.Web培訓視訊(迅雷快傳)
傳智播客EJB0視訊教程(傳智播客)
傳智播客JPA詳解視訊教程(傳智播客)
ibatis視訊教程(傳智播客)
傳智播客JAVA郵件開發視訊教程(傳智播客)
傳智播客FCKeditor視訊教程(傳智播客)
傳智播客_ibatis視訊教程(華為網盤)
《幻想—iBATIS框架技術視訊教程》(資源共享)
《Java教學視訊_孔浩老師》開始更新JavaWeb方面的視訊(更新了MyBatis部分的視訊)(北風網)

3.前端技術視訊
傳智播客AJax視訊教程(傳智播客)
JavaScript詳解高清視訊教程打包下載(iteye)
精通JavaScript+jQuery 視訊教程及原始碼(西西軟體園)
lamp兄弟連高洛峰JavaScript視訊教程(華為網盤)
《JavaScript基礎視訊教程》不斷更新…壓縮包
《21天學通JavaScript》視訊教程+原始碼(東西網)
JavaScript基礎視訊教程(學習資料庫)
《北風網資深講師李炎恢JavaScript視訊教程》(19一九下載)
《JavaScript視訊教程》(Top JavaScript Tech Videos)(iVeryCD)
JavaScript視訊教程》(Top JavaScript Tech Videos)(北風網)
《LAMP兄弟連JavaScript視訊教程》11月14日更新(敏學網)
《後盾網盾友 JQuery 視訊教程 》(資源共享)
jquery視訊教程下載(網易部落格)
JQuery實戰(學習資料庫)
Jquery精品視訊教程(iteye)
JavaScript網頁開發(傳智播客)
畢向東Html、css、JavaScript視訊教程(黑馬)
傳智播客.Net培訓—JQuery(華為網盤)
網頁平面設計視訊(傳智播客)

3.Linux相關視訊
《尚學堂 linux 3 天絕版》linux作業系統視訊教程(東西網)
《Linux從入門到精通》隨書視訊教程(東西網)
RHCE視訊教程下載(Linux公社)
周立發linux視訊教程(ChinaUnix)
linux視訊教程(百度雲網盤)
韓順平Linux(iteye)
韓順平 linux視訊教程(華為網盤)
Linux視訊教程(傳智播客)

4.Android視訊
Java/安卓/C++/.Net(ITjob網)
Android專案視訊教程(學習資料庫)
《Sundy‘s《Android高階應用開發課程共享版》《Android開發視訊教程》壓縮包
Android視訊全套教程免費批量下載(華為網盤)
《Android開發教程【更新專案實戰】》釋出專案實戰第20課MP4
Android開發視訊教學(CSND)
8天快速掌握Android視訊
Android黑馬培訓視訊
Mars老師Android視訊

5.資料庫相關視訊
資料庫SQL Server/Oracle/MySQL/DB2教程類專題資料(學習資料網路)
《2011版李興華主講-ORACLE實戰 最強大的資料庫課程[增加網盤下載]》(ORACLE)V2011(VeryCD)
Oracle/Linux系列免費視訊教程(cuug)
《oracle 視訊教程》chinaitlab(敏學網)
《CBT Nuggets出品甲骨文11g資料庫1Z0-051SQL基礎考試視訊教程》(資源共享)
尚觀國際oracle入門到精通OCP認證教學視訊(迅雷快傳)
oracle視訊教程(內部經典)(黑馬)

6.專案實戰視訊
巴巴運動網視訊教程(傳智播客)
銀行業務排程系統(傳智播客)
交通燈管理系統(傳智播客)
java網上線上支付實戰視訊(傳智播客)
俄羅斯、貪吃蛇遊戲-專案視訊(傳智播客)

Java程式設計師進化為架構師掌握的知識
一:Java知識
1、進位制轉換
2、Java基本資料型別
面向物件相關知識
3、類、介面、抽象類
this關鍵字、static關鍵字、final關鍵字
方法的引數傳遞機制
Java垃圾回收機制
四種內部類的實現方式
方法重寫(override)與過載(overload)的聯絡與區別通過多型實現程式程式碼的鬆耦合
Java 異常體系詳解(checked exception 與 unchecked exception)
JDK 5.0 新特性(泛型、列舉、可變引數、增強的 for 迴圈、靜態匯入等)
Java Annotation(使用系統內建 Annotation、自定義Annotation、Annotation的繼承等)
Java多執行緒機制詳解(鎖、synchronized關鍵字、sleep()方法、wait()方法、notify() 、notifyAll()方法的意義與聯絡)
Java執行緒池的內部實現
Java定時任務內部實現
Java I/O程式設計(裝飾模式詳解)
Java網路程式設計基礎知識(Socket、URL、URLConnection、ServerSocket等)
TCP與 UDP的聯絡與區別
Java Collection API(Collection、List、Set、Map、ArrayList、LinkedList、 Vector、 HashSet、 TreeSet、 HashMap與TreeMap等)區別,適用場景
常用設計模式(工廠方法模式、觀察者模式、策略模式、裝飾模式、模板方法模式、命令模式等的原理與應用)
Java NIO詳解
java.util.concurrent 併發包的應用(ConcurrentHashMap核心原始碼分析、ThreadPoolExecutor、FutureTask、Semaphore、Condition、ReentrantReadWriteLock等介面與類的深度分析)
基於 JDK 1.4 鎖的併發機制與基於 JDK 5.0併發包的同步與併發機制的比較與分析
序列化與反序列化
正則表示式的應用
Java動態代理與反射機制
Java程式碼的執行機制
原始碼編譯機制
類載入與執行機制
JVM記憶體管理(記憶體空間、記憶體分配、記憶體回收)
使用 JConsole、JVisualVM及 JMap等檢視記憶體的使用狀況
分析程式執行的過程
JVM執行緒資源同步及互動機制
執行緒互動機制與狀態分析
Java檔案操作相關,遞迴刪除,遞迴讀取
JDBC相關知識,步驟,連線操作,資料庫連線池(詳解 Apache DBCP資料庫連線池)
移位操作 (左移n位==乘以2的n次冪) (右移n位==除以2的n次冪)
二、演算法
各種排序演算法:快速排序、歸併排序、插入排序等等
斐波切納函式
二分查詢
全排列
二叉樹的遍歷
定義棧的資料結構,要求新增一個min函式,能夠得到棧的最小元素。要求函式min、push以及pop的時間複雜度都是O(1)
字串反轉
字首樹
最大堆,最小堆
Hash演算法及HashMap演算法
ConcurrentLinkedHashMap(LRU)
BloomFilter
LIRS演算法 LIRS的基本思想是對訪問的資料塊進行分類,一部分為hot資料塊,一部分為cold資料塊。對於hot資料塊我們可以分配90%以上的cache給它們。而對於cold資料塊給它們分配10%。
從LIRS演算法的描述來看,可以理解為兩個LRU佇列的組合,利用cold緩衝區來保護Hot緩衝區,提高了進入hot緩衝區的門檻,阻止hot緩衝區頻繁地變化。
三、資料庫
mysql儲存引擎
mysql優化
mysql HA解決方案
sql語句優化
NoSQL相關
四、檔案系統
Linux主流檔案系統
EXT3與EXT4檔案系統
主流分散式檔案系統分析與對比
分散式檔案系統
五、系統相關
共享記憶體實現機制
mmap的實現原理與機制
copy on write技術
zero copy技術
六、網路相關
OSI七層網路模型
TCP/IP互動流程
HTTP訪問流程
七、大型網站架構
負載均衡技術及其原理
智慧DNS解析,原理,實現方案
squid web加速及快取技術
網頁靜態化

Android精品開源專案整理(持續更新中..)

如有更多更好的資源歡迎大家跟帖分享。。。

淘寶技術牛p部落格整理
分類: 【Programmer’s life】2014-02-21 00:03 570人閱讀 評論(1) 收藏 舉報
淘寶技術委員會是由淘寶技術部高階技術人員組成的一個組織,共分為Java分會、C/C++分會、演算法分會:資料分會:UED分會、測試分會、系統分會七個分會。
淘寶技術委員會的願景是淘寶成為技術人才嚮往的樂土,高階技術人員的發源地;技術委員會的使命是幫助淘寶建立業界一流的技術團隊。同時,技術委員會也是技術人員間交流技術和想法的一個平臺。
淘寶技術部落格:
資料分會 淘寶DBA http://www.taobaodba.com/
UED分會 http://ued.taobao.com/
測試分會 套測試:http://www.taobaotest.com/

==========Java牛人=========================================
Java牛人:
華黎(曾憲傑):淘寶技術委員會JAVA分會會長。
blog: http://blogjava.net/vanadies10
先後在中科院下屬企業、先鋒電子(中國)等企業就職,是一個桌面管理系統的軟體公司的聯合創始人並負責總體技術工作。參與過郵政省級地市集中化生產作業系統的設計開發以及大型企業內部桌面管理安全系統的設計和開發。07年6月加入淘寶,從負責訊息中介軟體、資料層到整個Java中介軟體以及現在的通用產品,主要的工作都在中介軟體和一些通用產品部分,在高可用和容災方面,也有一些經驗。比較熟悉C++和Java,在多執行緒、併發、網路通訊方面有一定的經驗,對於JVM、分散式系統有一些瞭解。對新技術有濃厚的興趣。目前負責淘寶網通用產品團隊,致力於更好的支援業務開發團隊。

一粟(朱鴻)、
blog: http://hugozhu.myalert.info/
weibo: http://weibo.com/hugozhu
2009年2月加入淘寶,目前負責淘寶廣告三大產品線的業務前端系統架構。參加過淘寶直通車重構,搜尋前端,廣告日誌,報表平臺,訊息通知引擎,無線廣告平臺等系統設計和實現。對網際網路應用各方面的技術都感興趣,比較關注的方向有:應用開發框架,分散式儲存和搜尋系統,大流量網站架構,平行計算,移動平臺和前端技術等;
在加入淘寶前:
1. 1999年~2002年浙大讀研期間在阿里巴巴兼職開發網站應用;
2. 2003年~2005年在美國洛杉磯從事網路應用開發;
3. 2005年~2008年在美國Yahoo負責搜尋前端及其相關應用的開發。

玄難(牆輝)、
有12年的電信移動CRM和BOSS系統的領域建模和技術架構經驗,並帶領團隊完成以年為單位上百人的大型專案實施工作。 建立過一套J2EE基礎開發平臺。涉及前臺UI的元件化和自動化,服務的定義和註冊管理,資料的O-R Mapping、規則引擎、包括Process、Workflow、BPM、PageFlow的流程平臺。系統的自動化部署,系統的個層面的執行期監控。在各種型別的專案和開發人員中得到了很好的應用。
對問題域的抽象建模和偏業務的技術架構有濃厚的興趣和一定的實踐經驗。崇尚系統的模型簡單、架構簡單、程式碼簡單為美。
2009年8月加入淘寶,負責匯金系統【匯金系統:是淘寶自有服務和第三方服務的售賣方式和價格定義、銷售、服務開通、分成結算和最後的財務核算系統】的技術架構和團隊管理工作。

孤城(李傑)、
個人基本上在淘寶成長,大部分時間在負責後臺相關的業務和技術工作。先後接觸參與過CRM(原淘寶後臺)、HECLA、拍賣、營銷、會員、UIC、評價、匯金、物流寶等業務系統;
並努力推動TBOSS的業務平臺和技術平臺體系建設,有幸能夠參與構建一個相對完整的業務和技術體系。
追求架構中人、業務、技術的平衡之道。
比較熟悉領域建模、架構;對服務化的技術框架、工具,大規模業務處理的技術平臺構建有些想法和實踐。

範禹(吳澤明)、
在淘寶一直在做業務系統的開發:開始是論壇、會員相關的功能,中間參與B2C平臺開發,然後是B2C、C2C平臺的整合 。當前在做系統穩定性、效能優化等相關的工作。

畢玄(林昊)、
blog: http://www.blogjava.net/BlueDavy
07年加入淘寶,07—10年主要負責服務框架的實現,目前此服務框架大範圍的在淘寶使用,每天經過服務框架的請求量為120億+,目前主要負責online海量資料儲存和分析的實現。在加入淘寶前,主要從事政府軟體的開發,對OSGi有很強烈的興趣。
關鍵字: JVM SOA 高併發 高可用 網路通訊 NoSQL

放翁(岑文初)、
blog: http://blog.csdn.net/cenwenchu79
weibo: http://weibo.com/fangweng
06年3月加入阿里巴巴CRM團隊,07年初參加阿里軟體創業團隊,主要負責阿里軟體基礎平臺(SAAS平臺),08年初與淘寶合作開發阿里巴巴最早的開放平臺。09年離開阿里雲基礎團隊轉入淘寶,主要負責開放平臺整體架構的設計和核心框架的實現,為開放平臺在安全,效能,可用性上實現了一系列的框架和工具:分散式資料統計分析叢集框架,非同步化Web請求處理PipeComet框架等等。對開放平臺的授權,服務接入,訪問控制都有一些技術創新。在阿里巴巴的5年工作中已經被受理了10多項專利,主要分佈在開放平臺架構,開放服務安全演算法,系統併發處理優化設計。
關鍵字:開放平臺,分散式計算,Web請求非同步化

空望(魏虎)、
weibo:http://weibo.com/skyhope
06年底加入淘寶,先後負責過 機票系統、CTU、UIC、Forest、TTM、淘江湖、終搜等產品和系統,涉及淘寶業務系統範圍較廣。 目前在商品線帶領推薦系統和收藏夾團隊。 熟悉java web程式設計、多執行緒程式設計、搜尋引擎、資料探勘及nosql相關技術,對系統性能調優也有豐富的經驗。
關鍵字:網站效能優化、分散式系統、系統架構設計等

==============C++牛人======================================
C++牛人:
立忠(張立中)、
2005加入B2B,從事Isearch的開發
2006借調雅虎,P4P平臺開發
2007加入阿里媽媽,廣告平臺及資料平臺開發
2008併入淘寶,廣告演算法架構師
擅長領域:搜尋引擎,廣告引擎,大型分散式系統,實時系統。

五福(沈加翔)、
目前擔任淘寶搜尋的技術負責人,研究員。
99年中科院計算所碩士畢業後加入朗訊中國貝爾實驗室從事通訊軟體研發;
02年加入 雅虎中進入垂直搜尋技術領域,離開時是搜尋團隊的技術負責人;
05年加入雅虎美國搜尋技術團隊,帶領中美兩地的技術團隊負責雅虎中國全網搜尋全系 統技術的研發。
08年加入阿里巴巴,歷經B2B、阿里雲和淘寶,完成了商品搜尋引擎在包括淘寶搜尋和B2B搜尋廣告等核心業務領域的平臺化,解決 了擴充套件性問題,也獲得了巨大的整體收益;啟動建設了新一代商品搜尋和全文檢索一體化的搜尋引擎平臺和全網內容抓取平臺,為阿里集團的搜尋技術拓展 至全網奠定了堅實的基礎。

本空(徐綠兵)、
前,在電子部就職1年,第一次接觸到網際網路;在新浪就職9年,轉變為網際網路建設的參與者,先後負責過新浪的即時通訊軟體、財經頻道股票數 據平臺、企業廣場後臺、愛問引擎等專案的設計和開發。
熟悉C/C++、Java、Perl,在網路通訊、分散式計算、搜尋技術有一定經驗,喜歡腳 本語言和混合語言程式設計,對面向物件技術瞭解深刻,追求程式碼的可讀性、擴充套件性和可維護性。
在淘寶的經歷:
07年6月加入阿里媽媽,負責廣告資料引擎的建設和維護,期間負責對引擎的程式碼做了一次大的重構,引擎、資料更新、資料轉存的框架一直沿用