GitHub 上有一個 Awesome – XXX 系列的資源整理。Awesome Android 是JStumpp 發起維護的 Android 資源列表,內容包括:圖表工具、遊戲開發、GUI、崩潰檢測、除錯工具、通知、圖片載入、依賴注入等等。
伯樂線上已在 GitHub 上發起「Android 資源大全中文版」的整理。歡迎擴散、歡迎加入。
順帶推薦 Java 資源大全 https://github.com/jobbole/awesome-java-cn
目錄
- 庫
- 圖表
- 依賴注入
- 遊戲開發
- 圖形介面
- ActionBar
- 導航欄
- 動畫
- 圖片
- 輸入
- 圖片載入
- JSON
- 崩潰檢測
- 網路請求
- 通知
- 資料庫
- ORM
- REST
- 測試
- 行為監測
- 集合框架
- 除錯工具
- 無線
- 其它
- 資源
- 更多庫的列表
- 非 Java 開發安卓應用的替代選擇
- C#
- HTML, CSS and Javascript
- Lua
- Scala
- Groovy
- Kotlin
- 效能
庫
圖表
- AChartEngine – 圖表引擎。
- EazeGraph – 圖表繪畫庫。
- WilliamChart – 優秀的運動能力效果的圖表庫。
- HelloCharts – 支援縮放、滾動和其它動畫的圖表庫。
- MPAndroidChart – 支援縮放和拖拽手勢的Android圖表庫。
依賴注入
- RoboGuice – Android依賴注入框架。
- Dagger – Java和Android的依賴注入框架。
- Butter Knife – Android檢視注入框架。
- AndroidAnnotations – 編譯時使用Java註解的依賴注入庫。
遊戲開發
- AndEngine – 免費、有趣、快速的Android 2D OpenGL引擎。
- Libgdx – 開源和跨平臺的遊戲引擎和SDK。
- Vuforia – 擴增實境(AR)的庫。
- Unity – 跨平臺的遊戲製作系統。
- Rajawali – Android OpenGL ES 2.0/3.0 引擎。
GUI
- Pull to refresh – support v4中提供的下拉重新整理控制元件。
- Cardslib – 建立卡式控制元件的Android庫。
- AndroidStaggeredGrid – 支援建立行列數不同的Android窗格檢視控制元件。
- AQuery – AndroidQuery (AQuery) 是一個輕量級的庫,用於在Android中執行非同步操作檢視元素。
- Flow – Flow – 是一個將app分成一系列獨立的 Screen 組合的庫
- Crouton -一個對上下文非常敏感的 android 通知庫。
- DragSortListView – Android的ListView的擴充套件,允許拖拽和重新排序(不再更新維護)。
- MaterialProgressBar – 和Material design效果外觀一致的進度條。
- AndroidFillableLoaders – 使用SVG路徑實現的填充效果的進度條。對於建立有趣的應用logo也是一個很棒的有趣的選擇。
- NexusDialog – 在Android中用少量程式碼簡單快速地建立表格。
- Snap RecyclerView Utils – 無需建立Adapter生成一個或多個RecyclerView的佈局。
- SwipeableCard – 像 StreetView 一樣的實現滑動卡片的庫。
ActionBar
- ActionBarSherlock – 支援Android舊版本的ActionBar。
- FadingActionBar – 漸變效果的ActionBar,你可以在新版PlayMusic應用中看到這個效果。
Navigation
- SlidingMenu – 為應用建立滑動選單的庫。
- SlidingTutorial – 簡單的庫和教程,幫助建立炫酷的滑動效果Android應用。
- PagerSlidingTabStrip – 一個在 ViewPager 的不同頁面之間導航時有互動指示效果的庫。
- Page View indicator – 水平滑動的ViewPager的支援庫。
- MaterialDrawer – 輕鬆實現MaterialDesign效果的抽屜導航.
Animations
- NineOldAndroids – 可以將HoneyComb(3.0 API 11)版本的動畫效果相容至1.0起所有版本的庫。
- Rebound – Rebound是一個彈簧動態模型的Java庫。
- Android View Animations – 有趣的View動畫合集。
- Android-Transition – 輕鬆建立使用者輸入反饋的檢視轉變效果。
- Android-View-Actions – 輕鬆寫出複雜的view動畫效果。
圖片
- android-crop – 圖片剪裁的庫。
- CircularImageView – 自定義View,高效能地繪製圓形圖片。
- Android-Image-Filter – 輕鬆實現影像濾鏡的庫。
輸入
- FloatingLabel – FloatingLabel 允許你建立一堆EditText。 無需使用Gradle或者MAVEN構建。
- MaterialEditText – 支援使用自定義顏色的浮動標籤(Floating Labels)、單行超出文字省略(Single Line Ellipsis)、最大最小字數(Max/Min Characters)、幫助文字(Helper Text)和錯誤提示(Error Text)。
- Emojicon – 給你的應用新增表情符號。
圖片載入
- Picasso – Android中強大的圖片下載和快取的庫。
- Universal Image Loader – 非常好的非同步、圖片下載和快取的庫。
- Glide – 谷歌提供的滑動流暢的安卓圖片載入和快取庫。
- Fresco – 管理圖片及其記憶體使用的庫。
JSON
- Gson – GSON是一個用於序列化和反序列化JSON的Java庫。
- Jackson JSON Processor – 高效能地JSON處理工具。
崩潰檢測
- Fabric Crashlytics – 簡單的崩潰上報解決方案。
- HockeyApp – 分發、崩潰上報、反饋和分析。
- Splunk MINT – 監測、崩潰上報、實時資料和統計。
- Bugsnag – 跨平臺的錯誤監測。
網路
- Ion – Android的一個不錯的網路庫。
- OkHttp – Android和Java使用的Http + SPDY協議的網路庫。
- Asynchronous Http Client – 非同步的Http庫。
- RoboSpice – 輕鬆編寫非同步網路請求的庫。
- IceNet – Android簡單、快速的網路庫。
- Android Volley – 官方提供的讓網路請求更快、更簡單的Http庫。
- IceSoap – 為Android設計的簡單、非同步,基於註解的SOAP協議的庫。
- node-android – 在Android上執行Node.js。
通知
- android-remote-notifications – 從遠端JSON檔案拉取通知顯示在你的應用中。
Database
- Cupboard – 直接使用資料庫或者ContentProvider輕鬆訪問SQLite的框架。
- DbInspector – 除錯時在手機上輕鬆檢視應用資料庫。
- Realm – SQLite和ORM類框架的替代選擇。簡單、快速和現代化。使用物件導向的API並提供多平臺支援。
- RestorableSQLiteDatabase – 通過複製 SQLite 資料庫對其進行封裝,並提供了恢復功能。
ORM
- GreeDAO – 小巧快速的ORM解決方案。
- ORMLite – 為JDBC和Android提供的輕量級的物件關係對映的包。
- ActiveAndroid – 活動記錄(Active record)風格的ORM框架。
- Sugar ORM – 超簡單地使用Android資料庫。
- DBFlow – 快速強大的ORM框架,編譯時處理註解。
- NexusData – Android上的物件圖(Object graph)和持久化框架。
REST
- Retrofit – Restrofit將REST的API轉換成Java介面。
Testing
- Robotium – 黑盒的UI自動化測試框架。
- Roboletric – 單元測試框架,在你的工作機器上的Java虛擬機器中執行測試,而不是在模擬器中。
- AssertJ Android – 適用於Android的AssertJ。
Tracking
- MobileAppTracking – 通過多種廣告網路追蹤你的市場廣告情況。
- Mixpanel – 根據平臺分析使用者。
- Countly – 開源的手機和Web分析工具,推送訊息、崩潰上報,基於Node.js、MongoDB和Linux實現。
框架
- EventBus – EventBus是一個簡化的應用間通訊的庫。
- Otto – Android的一種EventBus的實現。
- Weak handler – 記憶體使用更加安全的Handler實現。
- Byte Buddy – 執行時生成程式碼的庫,支援Android。
- Secure Preference Manager – Android的Secure Preference Manager用不同的加密方式保護應用SharedPreference的安全。
- LeakCanary – 捕獲記憶體洩漏的工具。
- Drekkar – 用於 WebView 和 嵌入式 JS 之間通訊的的 EventBus 框架;
- Androl4b – 基於 ubuntu-Mate 的安卓安全虛擬機器。
- DroidMVP – 一個小型安卓庫,用於合併 MVP 、Passive View 和 Presentation Model。
- Gota – 簡化安卓許可權。
除錯工具
無線
- SmartGattLib – 簡化與藍芽智慧裝置相關的工作(也就是我們所熟知的藍芽4.0低功耗)。
其他
- Android Support library – Android支援庫(Android Support Library)的包是一些庫的集合,為Android提供向下的相容的API。
- Google Play Services – 這個庫可以讓你使用谷歌的各種服務,諸如賬戶同步、Google+(分享和單使用者登入)、谷歌地圖、位置資訊的API、Play遊戲、谷歌雲訊息、Android裝置管理器等等。
- Tape – 一個輕量級的、快速的、事務性的,基於檔案的先入先出的Android和Java框架。
- Guava: Google Core Libraries for Java – 集合(collections)、快取、原語支援(primitives support)、併發庫、通用註解、字串處理、輸入輸出等等。
- Android Scripting – 讓Android能夠執行指令碼語言。
- Android Priority Job Queue – Job Queue的一種實現方式,輕鬆計劃後臺執行的任務,提高使用者體驗(UX)和穩定性。
- RateMeMaybe – 詢問使用者是否願意在PlayStore中為您的應用打分。
- Easy Rating Dialog – 這個庫為評分應用提供了一個簡單的方式來展示提示框。
- ZXing Android-Integration – 整合通過網路使用條形掃描器(BarCode Scanner)。
- Gradle Retrolambda Plugin – 在Android中使用Java 8的Lambdas表示式。
- Caffeine – 通用框架類的合集,讓Android開發更快捷。
資源
- Vogella Tutorials – 非常好的教程,由Lars Vogel編寫。
- Android Design in Action Video series 這個系列教程由Google Android Desgin團隊提供。
- Android Design in Action slides– 這個應用通過一系列視訊讓你實現幻燈片中所述的效果。
- Android DevBytes Video Series – Android Design實戰系列對應的技術部分。
- Developing for Android – 這個系列的文章是Chet Hasae 和其他一些在谷歌工作的員工合寫的,主要回答一些最常見的問題,諸如“在開發Android應用中有哪些需要牢記在心的準則。”
- Android Hive Tutorials – 適用於初學者的非常好的教程。
- Android Weekly – Android開發週報。
- Android Asset Studio – 圖表和其它資源生成器。
- Android Action Bar Style Generator.
- Device Art Generator – 生成應用在真機截圖的原圖。
- Android UI design resources – 給你提供豐富的設計資源,由谷歌UI和UX領域的專家提供。
- Pencil Project – 一款開源的原型設計軟體。
- Google Wear App – 開源的Google穿戴應用,使用語音識別進行費用計算。
- How to Make Android Apps – Derek Banas提供的視訊教程。
- android-blogs – Android部落格列表。
非Java開發安卓應用
我個人的推薦是(現在)使用Android的API開發原生的應用。Scala可以讓你用更清晰的程式碼開發原生應用。但是也有幾種替代方案,在諸如跨平臺開發時非常有用。
C#
- Xamarin – 使用C#開發原生的IOS、Android、Mac和Windows應用的框架。
HTML, CSS and Javascript
- PhoneGap – Adobe提供的開源框架,用於使用HTML、CSS和JavaScript開發跨平臺的手機應用。
- Titanium – 使用JavaScript開發跨平臺的本地應用的開源框架。
- NativeScript – 一個書體部分JavaScript開發本地(native)IOS和Android應用的開源框架。
- React Native – Facebook提供的使用React開發本地應用的框架。
- Ionic Framework – 使用針對移動裝置優化的HTML、CSS和JS的AngularJS框架來開發混合模式移動應用(hybird app)。
- Apache Cordova – 基於Cordova的應用,核心是使用HTML、CSS和JavaScript這些Web技術開發應用。
- Reapp.io – 基於Cordova,使用針對移動裝置優化HTML、CSS、JSS的ReactJS開發混合模式應用(hybrid app)的框架。
Lua
- Corona SDK – 開發原生IOS和Android應用的框架(尤其是遊戲)。
Scala
- Scala on Android – Scala on Android 的官網介紹。
- Scaloid – 為Android開發者減輕使用Scala開發負擔的庫。
- Macroid – 一個Android平臺功能模組化UI開發的庫。
Groovy
- Groovy on Android – Groovy on Android 的官網介紹。
- Groovy Language Support for Android – 在Android上編譯Groovy的Gradle外掛。
- SwissKnife – 一個多功能的Groovy庫,包括使用註解實現Android的檢視注入和執行緒。
Kotlin
- Anko – JetBrains提供的,使用Kotlin編寫的Android平臺的DSL工具。
- Kotterknife – 在ButterKnife基礎上,使用Kotlin寫成的Android檢視注入工具。
- Android Kotlin Samples – 用Kotlin寫成的簡單Android程式碼Sample。
- KAndroid – 輕量級的庫,提供有用的擴充套件功能來刪除Android SDK的樣板程式碼(boilerplate code)。
效能
- awesome-android-performance – 一個效能優化相關的Android教程、視訊和工具列表。
歡迎加入我們
伯樂線上已在 GitHub 上發起「Android 資源大全中文版」的整理。歡迎擴散、歡迎加入。
普通的 Java 資源,請檢視 https://github.com/jobbole/awesome-java-cn 。