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