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》(Mark Murphy著)。這本書***的特色就在于它的覆蓋廣度(此書有超過2000頁的篇幅),而且更新頻率很高(平均每2個月更新一次)。這本書對于快速進化的Andoird平臺來說,應當是很具有榜樣性質的。作者Mark Murphy本人還設立了常規答疑環節,這樣本書的讀者就能夠向作者直接提問。本書的示例源代碼全部都發布在 github上面。所以綜上所述,強烈推薦。
- 《Smashing UI 》(Juhani Lehtimaki著)。對于那些關注如何做出***UI設計的Android開發者來說,此書無可挑剔。
developer.android.com 官方開發者站點推薦資源
在動手編寫***個Android應用之前,用心讀一讀Android Design章節。尤其是下面的這些文章:
- Devices and Displays (設備和顯示)
- Touch Feedback (觸摸反饋)
- Metrics and Grids (度量和網格)
- Iconography (圖像研究)
同時也請下載Downloads部分的代碼,這些代碼囊括了Android圖標和控件的設計模板,源文件,樣式以及無樣式圖標等等。
那么讀完了這些以后就可以開始編程了么?不,***連下面的東西也一起讀:
- 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示例)
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開發資源
- 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動畫框架的創始人(Youtube上的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)的開發人員之一,他的博客經常能給出很多有價值的提示。
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+上的一些社區,例如:
- Official Android dev community (Google+上的官方Android開發者社區)
- Android designer community
開源庫推薦
以下是一些最有用的開源庫項目:
- 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實現。
在github 上搜索[android] 項目,你可以找到更多的開源庫。而且,DevAppsDirect 應用提供了很好的功能,去歸納目前已有的開源視圖,組件和工具庫。
GOOGLE I/O TALKS 推薦資源
總的來說Google I/O的門票現在已經火爆到了一定程度了,你基本上是不可能買到票去現場的,不過所幸的是,所有Google I/O的主題演講都會被放到網上,并且提供PPT下載鏈接。以下是Goolge I/O Android相關的所有主題演講的鏈接:
其中一些主題是我非常喜歡的,如:
- 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)
停!太多了!
如果本貼的內容太過豐富,讓你覺得應接不暇,沒關系,有些內容是專門針對于初學者的,如果你不是初學者的話,你可以只關注本文中那些相對高級一些的主題。
關于如何有效地選擇內容,以下是幾點建議:
- 首先,看書。本文一開始就提到了,你應當要看書。看書能為你打下Android開發的牢固知識基礎。
- 訂閱本文中提到的博客內容,以及stackoverflow的問答內容(通過RSS)
- 在你的Google+賬戶上創建android-dev開發圈子(當然,由于某些原因,墻內的朋友們可以在墻內的社交媒體或者論壇上建立自己的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應用了。
如果你覺得我遺漏了哪些優秀的資源,那么就在評論你留言補充吧,我會定時更新這篇文章的內容的。
祝,編碼愉快!