Android開發者必知的開發資源
隨著 Android 平臺市場份額的持續猛增 , 越來越多的開發者開始投入 Android 應用程序的開發大潮。如果您是一位 2013 年剛剛入行的 Android 開發新兵,恭喜你,因為這個平臺已經在過去幾年里變得愈發成熟了,絕對值得住你全情投入。目前來看,Android 現成的開發資源早已經汗牛充棟,我們這篇帖子,就是要在浩如煙海的資源中挑出最重要的那些,呈現給你。
本帖對 Android 開發菜鳥和中級老兵同樣適用,因為本帖重點列出了那些最常用的 Android 開發資源。
推薦書籍
你或許覺得,都 2013 年了,再去看個什么書來學習 Android 開發,這方法應該早就過時了。沒錯,或許你的想法是對的。但是我們還是推薦按照過時的辦法來。理由的話,請參看: Programmers Don’t Read Books – But You Should (作者為:Jeff Atwood)
我推薦下面兩本書:
The Busy Coder’s Guide to Android Development
- 《The Busy Coder’s Guide to Android Development》(Mark Murphy 著)。這本書最大的特色就在于它的覆蓋廣度(此書有超過 2000 頁的篇幅),而且更新頻率很高(平均每 2 個月更新一次)。這本書對于快速進化的 Andoird 平臺來說,應當是很具有榜樣性質的。作者 Mark Murphy 本人還設立了常規答疑環節,這樣本書的讀者就能夠向作者直接提問。本書的示例源代碼全部都發布在 github 上面。所以綜上所述,強烈推薦。
- 《Smashing UI 》(Juhani Lehtimaki 著)。對于那些關注如何做出頂級 UI 設計的 Android 開發者來說,此書無可挑剔。 </ul>
- Devices and Displays (設備和顯示)
- Touch Feedback (觸摸反饋)
- Metrics and Grids (度量和網格)
- Iconography (圖像研究) </ul>
- Best Practices for User Experience & UI (a must read) (用戶體驗和用戶接口最佳實踐——必讀)
- Best Practices for Performance (性能最佳實踐)
- Displaying Bitmaps Efficiently (高性能位圖顯示)
- Adding Animations (also see NineOldAndroids library) (動畫效果——同時也需要看 NineOldAndroids 庫的介紹)
- Tools help (開發工具介紹)
- SDK Samples (SDK 示例) </ul>
- Android Dev Weekly (博主 Gyuri Grell)。這是一個極好的博客,可以為 Android 新手提供一手的開發新聞。
- Official Android developers blog。這是一個絕對值得一看的博客檔案,里面的很多東西都是干貨,比如:Avoiding memory leaks (如何防止內存泄露), Memory Analysis for Android Applications (Android 應用程序內存分析).
- Romain Guy。來自 Android 核心框架組工程師的博客。一旦你開始熟悉 Android 開發了以后,一定要閱讀他寫的 Android Performance Case Study 這篇博文。當然,他的博客還包含一些非技術的內容,比如:great photographer (優秀的攝影師)
- Codependent(博主:Chet Haase),Chet Hasse 是 Android 動畫框架的創始人(油Tube 上的 Android 開發者頻道上有 Chet Hasse 的專題節目 DevOps——譯者注)
- The CommonsBlog (博主:Mark Murphy)
- Cyril Mottier 的 Android 博客。這個博客里的博文都很有深度,而且資源非常豐富。最新更新的博文包括:ListView Tips & Tricks #5: Enlarged Touchable Areas, Tweeted Android Development Tips, The Google Maps Android API V2 Utopia, Android App Launching Made Gorgeous, “Pull-to-refresh”: An Anti UI Pattern on Android.
- Styling Android (博主:Mark Allsion)
- Daniel’s Lew 的 Coding Thoughts —— 此博客的作者是美國 Expedia 公司的著名 Android 應用 Hotels and Flights(正式名稱叫 Mobiata)的開發人員之一,他的博客經常能給出很多有價值的提示。 </ul>
- Official Android dev community (Google+ 上的官方 Android 開發者社區)
- Android designer community </ul>
- ActionBarSherlock,作者是 Jake Wharton。這個庫在 Android 4.0+ 版本上通過本地 action bar 實現了 action bar 設計模式,并通過單個 API 和主題在 4.0 之前的版本上做出了一個自定義 action bar 實例。
- ViewPagerIndicator,作者同樣是 Jake Wharton。Paging indicator 組件與 ViewPager 都來自于 Android 支持庫和 ActionBarSherlock。他們的最初原型是來自于 ?kerfeldt 的 ViewFlow。
- NineOldAndroids,作者是 Jake Wharton。這個 Android 庫使用 Honeycomb 版本的動畫 API,對直到 1.0 版本的 Android 系統全部適用。
- Universal-Image-Loader,作者 Sergey Tarasevich。這個庫具有強大的功能和靈活性,可支持圖像的異步加載,緩存和顯示。
- UrlImageViewHelper,作者 Koushik Dutta。 UrlImageViewHelper 可以根據一個 URL 來找到圖形,并填充到 ImageView 里,還能實現對圖像的自動下載,存儲以及位圖緩存。
- Android-BitmapCache,作者 Chris Banes。這是一個很有特色的緩存庫,用于緩存 Android 位圖對象。
- DiskLruCache,作者 Jake Wharton。這是一個基于磁盤系統的 LRU 緩存庫,主要針對于 Android 平臺,用 Java 實現。 </ul>
- Advanced Design for Engineers(工程師設計進階),演講人 Alex Faaborg and Christian Robertson (2012 年)
- For Butter or Worse: Smoothing Out Performance in Android UIs(Butter 項目:讓 Android UI 性能更加流暢)演講人: Chet Haase, Romain Guy (2012 年)
- Navigation in Android(Android 導航)演講人: Adam Powell, Richard Fulcher (2012)。如果你認為 Android 的 back/up 按鍵問題很好解決的話,看看這個視頻你就不會這么想了。
- So You’ve Read the Design Guide; Now What?(學完了設計指南,然后?)演講人:Daniel Lehmann, Tor Norbye, Richard Ngo (2012)
- What’s New in Android? (Android 更新介紹)演講人:Chet Haase, Romain Guy, Daniel Sandler (2012)
- What’s New in Android Developers’ Tools(ADT 更新介紹)演講人:Xavier Ducrohet, Tor Norbye (2012)
- Memory management for Android Apps(Android 應用程序內存管理)演講人:Patrick Dubroy (2011)
- Writing zippy Android apps(編寫敏捷的 Android 應用)演講人:Brad Fitzpatrick (2010)
- Developing Android REST client applications (開發基于 REST 的 Android 客戶端應用)演講人:Virgil Dobjanschi (2010) </ul>
- 首先,看書。本文一開始就提到了,你應當要看書。看書能為你打下 Android 開發的牢固知識基礎。
- 訂閱本文中提到的博客內容,以及 stackoverflow 的問答內容(通過 RSS)
- 在你的 Google+ 賬戶上創建 android-dev 開發圈子(當然,由于某些原因,墻內的朋友們可以在墻內的社交媒體或者論壇上建立自己的 Android 開發圈子——譯者注) </ul>
Smashing UI
developer.android.com 官方開發者站點推薦資源
在動手編寫第一個 Android 應用之前,用心讀一讀 Android Design 章節。尤其是下面的這些文章:
同時也請下載 Downloads 部分的代碼,這些代碼囊括了 Android 圖標和控件的設計模板,源文件,樣式以及無樣式圖標等等。
那么讀完了這些以后就可以開始編程了么?不,最好連下面的東西也一起讀:
StackOverflow 推薦資源
很多 Android 核心框架的工程師,開發者布道師以及 Android 開發專家都會經常到 stackoverflow.com 上助人為樂。以下是關于 Android 最熱門問題的清單。我已經訂閱了很多高手的 RSS feeds, 例如:CommonsWare (Mark Murphy), Dianne Hackborn, Romain Guy, Reto Meier, Trevor Johns, Roman Nurik, Adam Powell (感謝, @remdroid!).
Blogs 推薦資源
很多博客能夠提供給你最好最新的 Android 開發資源
Google+ 推薦資源
在 Google+ 尚未成為社交網絡的時候,它就已經是 Android 開發資源的一塊瑰寶了。以下是一些你應該關注的 Google+ 賬號: Tor Norbye (他是 ADT 的開發者之一), Dianne Hackborn, Romain Guy, Chris Banes, Roman Nurik, Nick Butcher, Adam Powell, Rich Hyndman, Cyril Mottier, Paul Burke, Jeff Gilfelt.
記住一定要關注 Jake Wharton 這個人,他是 ActionBarSherlock,ViewPageIndicator,NineOldAndroid 以及其他很多著名的開源 Android 庫的作者。
同時也請考慮加入 Google+ 上的一些社區,例如:
開源庫推薦
以下是一些最有用的開源庫項目:
在 github 上搜索[android] 項目,你可以找到更多的開源庫。而且,DevAppsDirect 應用提供了很好的功能,去歸納目前已有的開源視圖,組件和工具庫。
GOOGLE I/O TALKS 推薦資源
總的來說 Google I/O的門票現在已經火爆到了一定程度了,你基本上是不可能買到票去現場的,不過所幸的是,所有 Google I/O的主題演講都會被放到網上,并且提供 PPT 下載鏈接。以下是 Goolge I/O Android 相關的所有主題演講的鏈接:
其中一些主題是我非常喜歡的,如:
停!太多了!
如果本貼的內容太過豐富,讓你覺得應接不暇,沒關系,有些內容是專門針對于初學者的,如果你不是初學者的話,你可以只關注本文中那些相對高級一些的主題。
關于如何有效地選擇內容,以下是幾點建議:
Android 巨星
在 Andoird 開發者生態系統的持續繁榮的過程中,逐漸涌現出了許多天賦異稟的巨星級開發人員,尤其下面這兩位,他們的工作讓其他 Android 開發者們受益匪淺。他們是:Mark Murphy 和 Jake Wharton。
Mark 和 Jake 在 Android 開源項目上面貢獻良多,可以說早已功成名就。如果你有幸見到他們,一定要請他們喝喝啤酒,表示感謝。(不過根據回帖的情況來看,Mark Murphy 本人不喜歡喝酒,而有一位叫 Chris Bane 的網友愿意幫他喝,所以要請客的話可以直接請 Chris Bane,并且,如果你一直堅持閱讀到了現在,那你就明白感謝 Mark Murphy 最好的辦法就是去訂閱他的博客 CommonsWare——原文作者)。
顯然,多數 Google 的 Android 開發者和設計師也為 Android 系統做了很多工作。他們中的部分人在本文中也有提到。
結語:
那就到這兒吧。現在你應該了解了不少開發信息和工具了,這一切都是為了讓你寫出優秀的 Android 應用程序!好吧,還有一點:你還需要一個優秀的 Android UI 設計師,不過由于本貼是技術貼,這就不在討論范圍之內了。那么現在,你應該做好充分的準備來開始做你的第一個 Android 應用了。
如果你覺得我遺漏了哪些優秀的資源,那么就在評論你留言補充吧,我會定時更新這篇文章的內容的。
祝,編碼愉快!