每個Android開發者必須知道的資源集錦
英文原文:Resources every Android developer must know
隨著 Android 平臺持續驚人的增長,越來越多的開發人員開始工作于 Android 應用程序。而且現在的 Android 平臺已經非常成熟了。
這篇文章比較適合于初學者和有一定經驗的 Android 開發者,文中羅列了最棒的資源。
書
也許你會認為從書中去學習新的開發框架會有點落伍,但這也確實是一條正確的道路。參見 Jeff Atwood 的《Programmers Don’t Read Books – But You Should》。
我推薦這兩本書:
- Mark Murphy 的《The Busy Coder’s Guide to Android Development》。這本書的特別不僅是在于它的深度覆蓋(有 2000+ 頁),還在于其頻繁的更新頻率(?每 2 個月)。這是迄今為止關于 Android SDK 這個快速變化的主題在書籍中最佳的模式。Mark Murphy 還定期開通一個辦公時間,允許用戶提問。圖書樣品托管在 GitHub 上。強烈推薦。
- Juhani Lehtimaki 的《Smashing UI》。一本很精彩的書,適合任何關注 UI 設計的 Android 開發者。
DEVELOPER.ANDROID.COM
在你寫第一個 Android 應用程序之前,請用心研讀和學習 Android Design 這個網站。具體來說,是這些文章:
另外,還可以下載包括模板,圖標和控件的源文件,樣式和無樣式的動作欄圖標等在內的部分。
想要開始寫代碼?sorry,請接著閱讀:
- Best Practices for User Experience & UI (必讀)
- Best Practices for Performance
- Displaying Bitmaps Efficiently
- Adding Animations (也可見于 NineOldAndroids 庫)
- Tools help
- SDK Samples
STACKOVERFLOW
許多 Android 核心框架工程師,開發人員以及專業的 Android 開發人員經常在 stackoverflow.com 上回答問題。這是 stackoverflow 上一系列頂尖的 Android 用戶表。我訂閱了很多 RSS,例如:CommonsWare(Mark Murphy),Dianne Hackborn,Romain Guy,Reto Meier,Trevor Johns,Roman Nurik,Adam Powell (感謝 @remdroid!).。
博客
博客上面也有大量 Android 開發的最新信息:
- Gyuri Grell 的 Android Dev Weekly。每周提供最新的 Android 開發資訊。強烈推薦。
- Official Android developers blog。這個博客的文章非常值得瀏覽如:《Avoiding memory leaks》,《Memory Analysis for Android Applications》。
- Romain Guy。這是一個很牛逼的 Android 框架工程師寫的博客,而且寫的相當棒。一旦你熟悉了 Android 開發之后,一定要閱讀《Android Performance Case Study》這篇文章。題外話:Romain 也是一位偉大的攝影師。
- Chet Haase 的 Codependent,Android 動畫框架的創造者。
- Mark Murphy 的 The CommonsBlog。
- 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》。
- Mark Allison 的 Styling Android。
- Daniel Lew 的 Coding Thoughts——來自于一個寫 Expedia 的 Hotels and Flights app(從前: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+ 社區:
- 官方的 Android 開發者社區
- Android 設計師社區
開源項目
閱讀精心設計的應用程序的源代碼是一個好主意:
- Google I/O Android app。如果你想要復制/粘貼代碼,這里就可以讓你復制。
- Chris Banes 的 Photup。
- Reto Meier 的 Android Protips: A Deep Dive Into Location。演示了如何使用位置檢測,碎片和 BackupManager。不過我要提醒你,這代碼已經有一段時間沒有更新了。
當然,還有最終來源:Android source code。
開源庫
一些最有用的開源庫:
- Jake Wharton 的 ActionBarSherlock。在 Android 4.0+ 上使用本地動作欄,和通過一個單一的 API 和主題在 pre-4.0 上的一個自定義實現,來實現這個用于動作欄的設計模式的庫。
- Jake Wharton 的 ViewPagerIndicator。兼容來自于 Android Support Library 和 ActionBarSherlock 的 ViewPager 的尋呼指示符部件。最初基于 Patrik ?kerfeldt 的 ViewFlow。
- Jake Wharton 的 NineOldAndroids。 在所有平臺版本上——可追溯到 1.0——使用蜂窩動畫 API 的 Android 庫。
- Sergey Tarasevich 的 Universal-Image-Loader。強大而靈活的,用于異步圖像的加載、緩存和顯示的儀器。
- Koushik Dutta 的 UrlImageViewHelper。 UrlImageViewHelper 通過發現 URL 的圖片,并自動下載,保存和緩存所有位圖,填補了 ImageView 的空白。
- Chris Banes 的 Android-BitmapCache。一個專門的高速緩存,與 Android Bitmap objects 一起使用。
- Jake Wharton 的 DiskLruCache。 一個基于磁盤的 LRU 緩存的 Java 實現,專門針對 Android 的兼容性。
在 github 上搜索[android]項目還有很多。此外,DevAppsDirect app 是一個開源的自定義視圖,小部件和庫的集合。
GOOGLE I/O TALKS
雖然我們幾乎不可能獲得 GOOGLE I/O的門票,但所有的 GOOGLE I/O談話可在網上找到,通常用幻燈片的形式。GOOGLE I/O Android 部分的會話:2012,2011,2010,2009。
我最喜歡的一些談話:
- Alex Faaborg 和 Christian Robertson 的《Advanced Design for Engineers(2012)
- Chet Haase 和 Romain Guy 的《For Butter or Worse: Smoothing Out Performance in Android UIs(2012)
- Adam Powell 和 Richard Fulcher 的《Navigation in Android(2012)。如果你認為 Android 的 back/up 按鈕問題很簡單,那么看看這個震撼人心的談話。
- Daniel Lehmann,Tor Norbye 和 Richard Ngo 的《So You’ve Read the Design Guide; Now What?》(2012)
- Chet Haase,Romain Guy 和 Daniel Sandler 的《What’s New in Android?》(2012)
- Xavier Ducrohet 和 Tor Norbye 的《What’s New in Android Developers’ Tools》(2012)
- Patrick Dubroy 的《Memory management for Android Apps》(2011)
- Brad Fitzpatrick 的《Writing zippy Android apps》(2010)
- Virgil Dobjanschi 的《Developing Android REST client applications》(2010)
別再說了,嚇到我了
看到這里是不是壓力有點大,但是千萬不要絕望。上面有些資源都只是針對初學者的,還有一些則更適合于高級開發人員。
如何有效地掌握資源的幾點建議:
- 首先,讀書。請一定要讀書。這是為了打好 Android 知識的正確基礎。
- 訂閱博客,通過 RSS 參與 stackoverflow 社區。
- 在 Google+ 中成立一個 Android 開發圈子。
ANDROID 巨星
由于 Android 的開發者生態系統持續蓬勃發展是基于許多非常優秀的開發者的貢獻,所以在這里我特別要提到這兩個讓 Android 開發者更輕松生活的巨星。他們是:Mark Murphy 和 Jake Wharton.。
Mark 和 Jake 為 Android 開源做了諸多貢獻。所以如果你有幸遇到他們,一定要向他們請教,你肯定會受益匪淺。
當然,其他還有很多 Android 框架開發人員和設計人員參與了 Android 的發展。
最后,結尾
現在你已經知道了關于如何寫 Android 應用程序的所有信息和工具!但是,你還需要一個偉大的 Android UI 設計師,不過這就不是本文討論的范圍了。如果你想要開始寫你的第一個 Android 應用程序,那么對此一定要有所涉獵。
如果我有遺漏任何重要資源的地方,請在評論中告訴我,讓我們共同進步。
編碼快樂!
-
譯文鏈接:http://www.codeceo.com/article/android-resources-programmer-know.html
翻譯作者:碼農網 – 小峰