github android 40項熱門技術
TRANSCRIPT
1.ActionBarSherlock
• ActionBarSherlock應該算得上是GitHub上最火的Android開源項目了,它是一个獨立的庫,通過一個API和主題,開發者就可以很方便地使用所有版本的Android動作欄的設計模式。
•對於Android 4.0及更高版本,ActionBarSherlock可以自動使用本地ActionBar實現,而對於之前沒有ActionBar功能的版本,基於IceCreamSandwich的自定義動作欄實現將自動圍繞佈局。能夠讓開發者輕鬆開發一款帶動作欄(Actionbar)的應用,並且適用於Android 2.x及其以上所有版本
詳情請參考: ActionBarSherlock
• Facebook SDK for Android是一個開源庫,允許開發者將Facebook集成到所開發的Android應用中。
2.facebook-android-sdk
3.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
4. cocos2d-x
•在移動開發領域,將Cocos2D-X用於主流iOS/Android遊戲開發的公司、開發團隊多不勝數。 cocos2d-x是一個開源的支持多平台的2D遊戲框架,使用C++開發,基於cocos2d-iphone,在MIT許可證下發布。主分支在GitHub上使用OpenGL ES 2.0渲染,而舊版gles11分支則使用OpenGL ES 1.1渲染。
5. android
• GitHub Android App是GitHub開源的Android客戶端,支持Issues、Gists,並集成了新聞Feed,能夠讓你及時跟進組織及關注的開發者、庫等。同時,該應用還提供了一個用戶快速訪問你所創建、監控及發布issue的面板,可查看並將問題加入到收藏夾,可對標籤、里程碑和任務進行過濾配置。
6.Android-ViewPagerIndicator
• ViewPager指針項目,在使用ViewPager的時候能夠指示ViewPager所在的位置,就像Google Play中切換的效果一樣,還能使用在應用初始化的介紹頁面。
•兼容Android支持庫的ViewPager及ActionBarSherlock,最初是基於Patrik Åkerfeldt的ViewFlow,開發者可以直接登陸Google Play下載該項目的演示應用。
7. MonoGame
MonoGame是一個Microsoft XNA 4.Framework的開源跨平台實現。用於讓XNA開發者將他們在Xbox 360、Windows &
Windows Phone上開發的遊戲移植到iOS、Android、Mac OS X、Linux及Windows 8
Metro上,目前,PlayStation Mobile & Raspberry PI的開發正在進行中。
詳情請參考:**MonoGame**
8.Android-PullToRefresh
•該項目用於為Android提供一個可重用的下拉刷新部件。它最初來源於Johan Nilsson的庫(主要是圖形、字符串和動畫),但這些後來都已被取代。
9. android-async-http
• android-async-http是Android上的一個異步、基於回調的HTTP客戶端開發包,建立在Apache的HttpClient庫上。
10.Android-Universal-Image-Loader
• Android上最讓人頭疼的莫過於從網絡獲取圖片、顯示、回收,任何一個環節有問題都可能直接OOM,這個項目或許能幫到你。
Universal Image Loader for
Android的目的是為了實現異步的網絡圖片加載、緩存及顯示,支持多線程異步加載。它最初來源於FedorVlasov的項目,且自此之後,經過大規模的重構和改進。
11. GreenDroid
• GreenDroid最初是由CyrilMottier發起,是一個Android的UI開發類庫,能夠讓UI開發更加簡便,並且在應用中始終保持一致。
詳情請參考:Cyril Mottier 's Blog
12. Anki-Android
• AnkiDroid是一個免費、開源的Android的閃存應用,可直接從GooglePlay進行下載。
•詳情請參考:ankidroid
13.android-actionbar
• Actionbar是一個標識應用程序和用戶位置的窗口功能,並且給用戶提供操作和導航模式。在大多數的情況下,當開發者需要突出展現用戶行為或在全局導航的activity中使用actionbar,因為actionbar能夠使應用程序給用戶提供一致的界面,且系統能夠很好地根據不同的屏幕配置來適應操作欄的外觀。
Action bar的主要目的:
•提供一個用於識別應用程序的標示和用戶的位置的專用空間。
•在不同的應用程序之間提供一致的導航和視覺體驗。
•突出Activity的關鍵操作,並且在可預見的方法內給用戶提供快捷的訪問。
14.android-viewflow
• android-viewflow是Android平台上的一個視圖切換的效果庫,ViewFlow相當於Android UI部件提供水平滾動的ViewGroup,使用Adapter進行條目綁定。
15.android-mapviewballoons
•當使用Android地圖外部庫(com.google.android.maps)時,android-mapviewballoons會提供一個簡單的方式來對地圖覆蓋進行標註,就是一個簡單的信息氣泡。
•它由Balloon OverlayView組成,是一個代表顯示你的MapView及BalloonItemizedOverlay的氣泡的視圖,BalloonItemizedOverlay是ItemizedOverlay的一個抽象擴展。
16.PushSharp
•一個向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、WindowsPhone和Windows 8設備發送推送通知的服務器端庫。
17.androidannotations
• Android Annotations是一個開源的框架,用於加速Android應用的開發,可以讓你把重點放在功能的實現上,簡化了代碼,提升了可維護性。
18.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用戶提供服務器託管服務。
19.android-menudrawer
• Android上的菜單展示風格各異,其中用得最多且體驗最好的莫過於左右滑動來顯示隱藏的菜單,android-menudrawer是一個滑動式菜單實現,允許用戶在應用當中實現無縫導航。該項目具有多種菜單展示效果,其中最常見的就是通過屏幕邊緣拖動或點擊動作欄的“向上”按鈕顯示。
20. android-flip
• Aphid FlipView是一個能夠實現Flipboard翻頁效果的UI組件。
21.drag-sort-listview
• DragSortListView(DSLV)是Android ListView的一個擴展,支持拖拽排序和左右滑動刪除功能。重寫了TouchInterceptor(TI)類來提供更加優美的拖拽動畫效果。
DSLV主要特性:
• 完美的拖拽支持;
• 在拖動時提供更平滑的滾動列表滾動;
• 支持每個ListItem高度的多樣性
• 公開startDrag()和stopDrag()方法;
• 有公開的接口可以自定義拖動的View。
DragSortListView適用於帶有任何優先級的列表:收藏夾、播放列表及清單等,算得上是目前Android開源實現拖動排序操作最完美的方案。
22. c-geo-opensource
• C:geo是Android設備上一個簡單而又強大的非官方地理尋寶客戶端。與其他類似應用不同的是,c:geo不需要Web瀏覽器,也不需要文件輸出。你可以在毫無準備的情況下,毫無後顧之憂地帶上你的智能手機去進行地理尋寶。當然,你也不需要付錢,因為它是免費的。
23. 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
24. ppsspp
• PPSSPP是由GC/Wii模擬器Dolphin聯合創始人之一Henrik Rydgård開發的一款免費的跨平台開源模擬器,支持Windows、Linux、Mac、Android、iOS、BlackBerry 10等主流計算機與移動操作系統,可直接工作在x86、x64、ARM等CPU平台上,以GNU GPLv2許可協議發布,主要使用C++編寫以提高效率和可移植性。
25. androidquery
• Android-Query(AQuery)是一個輕量級的開發包,用於實現Android上的異步任務和操作UI元素,可讓Android應用開發更簡單、更容易,也更有趣。
26. 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
27. TextSecure
• TextSecure是Whisper Systems團隊開發的一個Android上的加密信息客戶端,旨在增強用戶和企業通信的安全性,其源代碼於2011年被Twitter發佈在GitHub開源數據庫中。
28. XobotOS
• XobotOS是Xamarin的一個研究項目,用於將Android 4.0從Java/Dalvik移植到C#,並對移植後的性能及內存佔用情況進行檢測。
29. 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——一個可以直接編譯到應用程序中的AndroidAspectJ庫項目。能夠讓定位應用在不需要Activity位置更新處理的情況下獲取到最新的位置信息。
30.android_page_curl
• android_page_curl是一個在Android上使用OpenGL ES實現類似書本翻頁效果的示例程序。
31. asmack
•說到aSmack,自然要先提提Smack。 Smack API是一個完整的實現了XMPP協議的開源API庫,而aSmack則是Smack在Android上的構建版本,於2013年2月初遷移到GitHub上,該資源庫並不包含太多的代碼,只是一個構建環境。開發者可以利用該API進行基於XMPP協議的即時消息應用程序開發。
詳情請參考:asmack
32.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
33. Crouton
• Crouton是Android上的一個可以讓開發者對環境中的Toast進行替換的類,以一個應用程序窗口的方式顯示,而其顯示位置則由開發者自己決定。
開發者可以直接登陸Google Play下載安裝Crouton Demo,查看應用演示。
34. cwac-endless
• CommonsWare Android Components(CWAC)是一個開源的Android組件庫,用來解決Android開發中各個方面的常見問題,每個CWAC組件打包成一個獨立的jar文件,其中就包含cwac-endless。
35. DiskLruCache
•在Android應用開發中,為了提高UI的流暢性、響應速度,提供更高的用戶體驗,開發者常常會絞盡腦汁地思考如何實現高效加載圖片,而DiskLruCache實現正是開發者常用的圖片緩存技術之一。Disk LRU Cache,顧名思義,硬件緩存,就是一個在文件系統中使用有限空間進行高速緩存。每個緩存項都有一個字符串鍵和一個固定大小的值。
36. Android-SlideExpandableListView
•如果你對Android提供的Android ExpandableListView並不滿意,一心想要實現諸如Spotify應用那般的效果,那麼SlideExpandableListView絕對是你最好的選擇。該庫允許你自定義每個列表項目中的ListView,一旦用戶點擊某個按鈕,即可實現該列表項目區域滑動。
37. gauges-android
• Gaug.es for Android是由gaug.es推出的一款在Android設備上對網站流量數據進行實時統計的應用。 gauges-android包含了該應用的源代碼,開發者可以直接登陸Google Play下載安裝該應用。
38. acra
• ACRA是一個能夠讓Android應用自動將崩潰報告以谷歌文檔電子表的形式進行發送的庫,旨在當應用發生崩潰或出現錯誤行為時,開發者可以獲取到相關數據。
39. roboguice
• RoboGuice是Android平台上基於Google Guice開發的一個庫,可以大大簡化Android應用開發的代碼及一些繁瑣重複的代碼。給Android帶來了簡單、易用的依賴注入,如果你使用過Spring或Guice的話,你就會知道這種編程方式是多麼的便捷。
40. otto
• Otto是由Square發布的一個著重於Android支持的基於Guava的強大的事件總線,在對應用程序不同部分進行解耦之後,仍然允許它們進行有效的溝通。
已上所介紹均是GitHub已有範例代碼
• 1.ActionBarSherlockhttps://github.com/JakeWharton/ActionBarSherlock
• 2.facebook-android-sdkhttps://github.com/facebook/facebook-android-sdk
• 3.SlidingMenu(SlidingMenu Demos)https://github.com/jfeinstein10/SlidingMenu
• 4. cocos2d-xhttps://github.com/cocos2d/cocos2d-x
已上所介紹均是GitHub已有範例代碼
• 5. android
https://github.com/github/android
• 6.Android-ViewPagerIndicatorhttps://github.com/JakeWharton/Android-ViewPagerIndicator
• 7. MonoGamehttps://github.com/mono/MonoGame
• 8.Android-PullToRefreshhttps://github.com/chrisbanes/Android-PullToRefresh
已上所介紹均是GitHub已有範例代碼
• 9. android-async-httphttps://github.com/loopj/android-async-http
• 10.Android-Universal-Image-Loaderhttps://github.com/nostra13/Android-Universal-Image-Loader
• 11. GreenDroidhttps://github.com/cyrilmottier/GreenDroid
• 12. Anki-Androidhttps://github.com/nicolas-raoul/Anki-Android
已上所介紹均是GitHub已有範例代碼
• 13.android-actionbarhttps://github.com/johannilsson/android-actionbar
• 14.android-viewflowhttps://github.com/pakerfeldt/android-viewflow
• 15.android-mapviewballoonshttps://github.com/jgilfelt/android-mapviewballoons
• 16.PushSharphttps://github.com/Redth/PushSharp
已上所介紹均是GitHub已有範例代碼
• 17.androidannotationshttps://github.com/excilys/androidannotations
• 18.HockeyKithttps://github.com/TheRealKerni/HockeyKit
• 19.android-menudrawerhttps://github.com/SimonVT/android-menudrawer
• 20. android-fliphttps://github.com/openaphid/android-flip
已上所介紹均是GitHub已有範例代碼
• 21.drag-sort-listviewhttps://github.com/bauerca/drag-sort-listview
• 22. c-geo-opensourcehttps://github.com/cgeo/c-geo-opensource
• 23. NineOldAndroidshttps://github.com/JakeWharton/NineOldAndroids
• 24. ppsspphttps://github.com/hrydgard/ppsspp
已上所介紹均是GitHub已有範例代碼
• 25. androidqueryhttps://github.com/androidquery/androidquery
• 26. droid-fuhttps://github.com/mttkay/droid-fu
• 27. TextSecurehttps://github.com/WhisperSystems/TextSecure
• 28. XobotOShttps://github.com/xamarin/XobotOS
已上所介紹均是GitHub已有範例代碼
• 29. ignitionhttps://github.com/mttkay/ignition
• 30.android_page_curlhttps://github.com/harism/android_page_curl
• 31. asmackhttps://github.com/Flowdalic/asmack
• 32.AndroidBillingLibraryhttps://github.com/robotmedia/AndroidBillingLibrary
已上所介紹均是GitHub已有範例代碼
• 33. Croutonhttps://github.com/keyboardsurfer/Crouton
• 34. cwac-endlesshttps://github.com/commonsguy/cwac-endless
• 35. DiskLruCachehttps://github.com/JakeWharton/DiskLruCache
• 36. Android-SlideExpandableListViewhttps://github.com/tjerkw/Android-SlideExpandableListView
已上所介紹均是GitHub已有範例代碼
• 37. gauges-androidhttps://github.com/github/gauges-android
• 38. acrahttps://github.com/ACRA/acra
• 39. roboguicehttps://github.com/roboguice/roboguice
• 40. ottohttps://github.com/square/otto