本文試圖將目前流行的組件收集起來以供參考, 如果你發現本文還沒有列出的組件,歡迎在評論中貼出來,我會定期的更新本文。
-
很好的中文教程
-
awesome-android, android列表。
-
另,github上的一個項目, 收集了好多的Android開源項目。
android-open-project。 -
另,
AndroidElementals
巴塞羅那的一位工程師整理的Android開源項目列表。 -
另, 一個分類特別好的網站
http://android-arsenal.com/free
以下是我收集和精選的Android開源項目。
工具
-
androidkickstartr
填寫一個表達, 選擇你要集成的一些Android開源項目,自動給你生成一個應用程序。 還有比這更貼心的服務嗎? -
Android Button Maker
Android Button Maker是一個可以在線生成按鈕代碼的工具。Android API提供了XML文件定義的幾何形狀的Drawable資源,包括顏色、邊界和梯度。這些按鈕的生成是基於drawable形態的XML代碼,這樣可以比普通的png按鈕加載得更快。你可以在設置面板上自定義按鈕的屬性,然後獲取其源碼。 -
AndroidAssetStudio
Asset Studio可以讓你快速簡單地從已經存在的圖片、剪貼畫或者文本資源中生成圖標。這些圖標可以應用在
Launcher icons Action bar and tab icons
Notification icons Navigation drawer indicator
** Generic icons -
Actionbar Style Generator
這個ActionBar風格生成器可以讓你輕鬆地創建一個簡潔、有吸引力且無漏洞的自定義actionbar。它會生成所有9種必須的patch assets以及相關XML的drawables和styles文件,這些文件可以直接複製到你的項目中。 -
Android Holo
這個Android Holo顏色生成器可以讓你簡單地爲你的應用創建Android組件,如editext或者spinner,並且可以使用自己的顏色。它會生成所有9種必須的patch assets以及相關XML的drawables和styles文件,可以直接複製這些文件到你的項目中。 -
Android Layout Binder
Android Layout Binder會將你安卓的XML佈局文件轉換成一系列的聲明,綁定保存所有的人工輸入。鍵入一個前綴,選擇XML文件上要粘貼的範圍,然後點擊生成。選擇“verbose”來找出所有被跳過的區域的原因。 -
APKAnalyser
這是一個靜態、虛擬分析工具,你可以全面地概覽應用的架構。可以用它來檢查API參考文檔,查看應用依賴還有反編譯字節碼。APKAnalyser是一個完整的開源工具鏈,它支持修改應用的二進制代碼,你可以重新打包、安裝、運行以及驗證logcat的結果。
UI組件
-
ActionBarSherlock
一個功能強大的ActionBar組件(不僅僅是ActionBar)。 Android 4.0+上使用native action bar, 低版本的Android模擬實現。強大到無語了,必須關注的一個開源組件。 -
SlidingMenu
一款優秀的側滑菜單組件。 Google+, YouTube和Facebook在它們的應用中採用的側滑菜單流行開來, 國內也有很多的應用如網易新聞等也採用了這種菜單方式。 側滑菜單組件很好幾種, 尤以此款最爲好用。 看看官方網站上的知名用戶就知道了。
-
Android-Universal-Image-Loader
強大靈活的加載、緩存、顯示圖片的庫。 -
Android-ViewPagerIndicator
滑動頁面幾乎成了現在國內的應用的標配了,尤其在你第一次安裝/啓動應用時, 總會有幾張介紹頁面讓你滑動顯示。 用它吧,不會辜負你的。 -
Android-PullToRefresh
你不陌生, 在列表或者視圖的頂部或者底部拖動可以刷新數據和頁面。可以和ListView、ExpandableListView、GridView、WebView、ScrollView、HorizontalScrollView、ViewPager配合使用。 -
picasso
強大的圖像下載和緩存庫。 -
Android-Bootstrap
bootstrap風格的按鈕。 使用Font Awesome圖標字體。 -
facebook-android-sdk
Facebook提供的SDK, 可以在應用中集成Facebook. -
android-bootstrap
不同於上面的Android-Bootstrap。 此項目是一個Android應用程序的模版, 相當於一個腳手架的功能。 -
AndroidStaggeredGrid
想做瀑布流式的應用嗎?用它吧。 -
cardslib
一種卡片式的佈局控件。 記得以前的有道詞典的默認頁就是這種佈局。 -
PhotoView
ImageView擴展, 支持放縮和手勢。 -
ListViewAnimations
爲ListView增加動畫, 還提供滑動刪除選定項的功能。 類似Android的郵件的刪除操作。 -
ion
又一個圖像異步加載庫。至少推薦三個了, 輪子不少。 -
android-menudrawer
又一個滑動菜單的組件。 -
android-swipelistview
又一個ListView擴展, 支持滑動操作。 -
android-pulltorefresh
又一個拖動刷新的組件。到此爲止說了好多又了。 因爲有些功能確實有多個不錯的實現。 -
Crouton
Toast之外的另以選擇。 -
StickyListHeaders
header可以固定的組件。 看下圖。 -
drag-sort-listview
在ListItem拖動重排序。 開發者已經放棄維護了但是關注者依然不少。 -
FreeFlow
comcast出品的一個佈局引擎。 FreeFlow讓你很容易的定製佈局和漂亮的轉換動畫。
看到comcast好激動, 因爲他是筆者公司最大的客戶。 -
FadingActionBar
摺疊風格的ActionBar. 說起ActionBar, 第一選擇不是ActionBarSherlock麼? -
android-viewflow
可以水平滾動的視圖。 -
android-flip
可以實現類似Flipboard一樣的翻頁效果。 -
android-times-square
square出品的日期選擇組件。 -
circular-progress-button
環形進度條按鈕。 -
android-viewbadger
爲視圖增加badger。可以做的更好看點。 -
AndroidViewAnimations
漂亮的視圖動畫。 -
Android-SlideExpandableListView
有一個可以滑動的ExpandableListView組件。 -
pinned-section-listview
GroupName滑動到頂端時會固定不動直到另外一個GroupName到達頂端的ExpandListView -
android-process-button
很酷的一個組件,可以在按鈕下部顯示漂亮的進度條,就像GMAIL一樣。 -
android-betterpickers
更好的時間、日期庫。 -
StaggeredGridView
瀑布流。類似Pinterest。 -
ProgressWheel
環形進度條。 -
Calligraphy
在Android中更容易的使用字體。 -
android-satellite-menu
類似Path一樣的菜單。 -
android-actionbarstylegenerator
action bar風格在線製作。 -
SuperToasts
擴展的Toast. -
GlassActionBar
毛玻璃效果的ction bar. -
GraphView
可以產生放縮的線圖和直方圖。 -
StickyGridHeaders
可以固定header和分區的Grid。 -
BlurEffectForAndroidDesign
模糊效果的演示。
-
ArcMenu
又一個類似Path的環形菜單。 -
cropper
圖像剪切和旋轉。 -
chromeview
Android webview組件的實現, 但是基於最新的Chromium 代碼。 -
StandOut
很容易的創建彈出窗口。 -
android-iconify
集成FontAwesome 。 -
android-gif-drawable
看名字就知道了。 -
NumberProgressBar
漂亮的帶數字的進度條。 -
Android-SwipeToDismiss
演示ListView滑動刪除。 -
Shimmer-android
閃爍發光的文本框。 -
HoloColorPicker
Holo風格的顏色選擇器。 -
android-crop
圖像裁剪
-
MultiChoiceAdapter
ListView 支持多選。 -
MPAndroidChart
非常不錯的圖表工具。 -
Android-Action-Bar-Icons
圖標資源。 -
AndroidCharts
圖表控件 -
Android-Charts
國人實現的圖表控件 -
desCharts
圖表控件
-
PinnedHeaderExpandableListView
國人實現的一個ExpandableListView,頭部可以固定, 並且可以伸縮。 -
XCL-Charts
國人出品, 圖表控件,種類很多。 -
PullToZoomInListView
滑動ListView時使其HeaderView跟隨滑動縮放. -
NotBoringActionBar
拖動時頂部可以收縮。 -
transparent-over-animtabsview
模仿網易雲音樂 -
LetterImageView
類似Android的郵件應用, 用首字母作爲圖片。 -
chromium-webview-samples
webview例子。
https://github.com/GoogleChrome/chromium-webview-samples
https://developer.chrome.com/multidevice/webview/gettingstarted
http://developer.android.com/guide/webapps/webview.html
http://developer.android.com/reference/android/webkit/WebView.html
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/1010/1569.html
類庫
-
roboguice
google guice框架在Android平臺上的實現。 什麼事guice? 它是一個類似Spring的IOC框架。 什麼是IOC? 算了,你還是先學習Java的基礎知識吧。 -
android-async-http
基於Apache http client實現的支持異步、回調的android http client組件。 -
androidannotations
將註解引入到Android開發中,極大的減少代碼裏,可以更好的維護代碼。 -
retrofit
類型安全的Restful client庫。 -
dagger
一個快速的依賴注入庫。這個square公司出了不少的組件庫。 square公司就是那個移動支付的創業公司。 -
okhttp
還是square出品, HTTP+SPDY 客戶端。 -
EventBus
一個專爲Android優化的發佈訂閱框架, event bus模式。 可以在Activity, Fragment 和後臺線程之間交流數據。 -
butterknife
專爲視圖注入庫。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
class ExampleActivity extends Activity { @InjectView(R.id.user) EditText username; @InjectView(R.id.pass) EditText password; @OnClick(R.id.submit) void submit() { // TODO call server... } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_activity); ButterKnife.inject(this); // TODO Use "injected" views... } }
|
-
robospice
一個模塊化的Android類庫, 可以更容易的編寫異步的長時間運行的任務。 -
**
一個加強的基於Guava event bus庫。 square出品。 -
AndroidAsync
又是異步處理庫, 支持socket,http (client+server),websocket 和socket.io ,基於nio。 -
ActiveAndroid
active record風格的操作Android SQLite 數據庫。 -
androidquery
JQuery很熟悉吧。 這是Android版的JQuery。 -
greenDAO
一個輕量級的快速的ORM方案。 操作SQLite 數據庫。 -
Bolts-Android
一套底層庫。 -
scaloid
極大的減少Android得代碼,更易維護。 -
conceal
Facebook的快速加密類。 -
android-common
國人實現的一個工具包。 -
xUtils
國人實現的一個工具包。 -
android-priority-jobqueue
Path出品的job queue。 -
android-sqlite-asset-helper
數據庫輔助類。 包括數據庫的創建與升級。 -
tape
一組queue類。 square出品。 -
spring-android
不多說了。 -
joda-time-android
爲Android做了優化 -
spydroid-ipcamera
將你的收集作爲監控設備。 -
ACRA
ACRA是一個可以讓安卓應用自動發出GoogleDoc格式崩潰報告的函數庫。安卓開發者可以通過ACRA獲取應用崩潰或者錯誤行爲的數據。如果有一個崩潰發生,你的應用不會越過已有的系統崩潰提醒或者報告功能來添加用戶提醒。如果使用Toast、狀態提醒條或者直接對話框模式,這個“強制關閉”的對話框不會再顯示,就算設備上原生系統的提醒功能開啓也不能發送一個另外的報告。