每個Android開發者都應該瞭解的資源列表
前言
這是一篇譯文,原文地址Resources every Android developer must know,在譯文開頭,推薦兩篇同樣適合於Android開發者閱讀的資源列表Android開發者網址導航和StackOverflow Android Tag,翻譯這篇文章的原因是最近在知乎上收到很多關於如何學習Android開發、Android學習路線等雷同的問題(Android在大學並不算是一門流行的課程,所以存在這樣的疑問很正常),沒有時間一一回復,索性將很久之前看到的這篇文章翻譯過來,希望能夠幫助到有需要的Android開發者。
正文
Android平臺持續瘋狂地增長,越來越多的開發者進入了Android開發者陣營,如果你在2013年才開始做Android開發,你將是一個幸運的人,因為這個平臺在過去幾年裡變得越來越成熟,同時網路上開發資源的數量似乎勢不可擋,這篇文章就是其中的一份子。
這篇文章適合於初學者和有一定經驗的開發者。
書籍
你可能覺得,都到2013年了,通過看書來學習一個新的開發平臺也太過時了,你的想法有可能是對的,但是你還是應該做一件事情:去閱讀Jeff Atwood列出的很多程式設計師沒有讀過但你應該讀的書籍列表
對於Android開發入門,我牆裂推薦下面這兩本書:
-
Mark Murphy寫的The Busy Coder’s Guide to Android Development,並不是因為這本書有2000多頁,對Android介紹得足夠全面才推薦它,而是因為它會持續更新(大約每兩個月會更新一次),這是在Android SDK頻繁更新的情況下特別值得閱讀的一本書,本書作者還會定期舉辦問答活動。同時書中的示例程式碼都託管在了github上。
-
Juhani Lehtimäki寫的Smashing Android UI,一本任何關心UI設計的Android程式設計師都值得閱讀的書。
官方開發者網站
在開發你的第一個Android應用之前,用心閱讀和學習Android Design,特別是下面這些主題:
另外請查閱下載部分,包含模板、圖示和控制元件的原始檔、Action Bar的風格和樣式圖示等等。
瀏覽了上面的資源之後,就可以開始寫程式了嗎?NO,你還需要閱讀下面這些主題:
-
使用者體驗和UI最佳實踐(必讀)
-
Android動畫效果(牆裂建議閱讀開源專案nineoldandroids)
優質問答網站STACKOVERFLOW
很多Android核心架構工程師、優質開發者和專家會經常會在stackoverflow上回答問題,這是一份StackOverflow上優質Android開發者名單
開發者部落格
許多部落格提供了大量的Android開發方面的資訊。
-
Gyuri Grell的Android開發者週報,一個評價很高的關於Android開發新聞的郵件列表,每週一次更新;
-
Android官方開發者部落格,部落格中的所有文章都值得一讀,很多文章都是非常有營養的,比如:避免記憶體洩露、Android應用記憶體分析等;
-
Romain Guy,一個Android核心框架工程師Romain維護的部落格,在你認為自己熟悉Android開發之前,請確保你閱讀過該部落格中的Android應用效能優化系列課程,另外值得說明的是:Romain還是一個偉大的攝影家;
-
Android動畫框架作者Chet Haase的個人部落格;
-
Mark Murphy的個人部落格
-
Cyril Mottier’s的個人部落格,裡面有很多有深度非常值得一讀的文章,比如:Listview技巧之擴大點選區域、Tweeted開發技巧、Google地圖Android API V2.0的烏托邦、快速啟動Android應用等等;
-
Mark Allison的個人部落格
-
Daniel Lew的個人部落格
Google+賬號
雖然Goolge+沒有成為一個社交網路,但它是一個Android開發方面重大的訊息源,作為一個Android開發者,下面這些Google+賬號非常值得關注:
同時考慮加入一些Google+圈子,比如:
開源專案
閱讀優秀的開原始碼是非常棒的一件事情:
-
Google I/O,如果你喜歡拷貝/貼上程式碼,這裡面很不錯;
-
Chris Banes開發的photup
-
Reto Meier開發的android-protips-location
-
Android官方在Github上開源的一系列專案Android source code.
開源庫
下面是一些非常有用的開源專案:
更多Android方面的開源專案請到Github上搜尋關鍵字"android",另外,Android APPDevAppsDirect收集了很多開源元件
Google I/O主題討論
每一年的Google I/O大會中的視訊都值得一看:
請停下來,你嚇到我了
這麼多資源看起來會讓作為一個初次接觸Android開發的你壓力山大,不過不要緊張,上面的這些連線只有一部分是對Android初學者有用的,很大一部分是需要你有一定開發經驗之後才能閱讀的。
下面提供一些快速消化本篇文章的技巧:
-
首先:讀書,為什麼要讀書呢?因為通過讀書你可以涉獵到與Android相關的所有基礎知識;
-
通過RSS訂閱部落格和StackOverflow中有價值的答案;
-
在Google+建立一個Android開發者圈子
Android開發者中的超級明星
啥都不說了,強烈推薦Mark Murphy和JakeWharton,為什麼推薦他倆?瞭解他們的履歷或者對Android開發所做的貢獻就知道了。
結語
在瀏覽了上面這些資源之後,你可以考慮加入到Android開發者陣營啦,但忘記告訴你一件事情,那就是你的工作需要和UI工程師配合完成,因為一個優秀的APP需要非常好的使用者體驗。
參考資料
相關文章
- 每個MySQL開發者都應該瞭解的10個技巧MySql
- 每個 Java 開發者都應該知道的 5 個註解Java
- 每個PHP開發者都應該看的書PHP
- 為什麼每個Android開發者都應該使用AnkoAndroid
- 每個工程師都應該瞭解的:聊聊冪等工程師
- 每個開發者都應該知道的33個JavaScript概念JavaScript
- 每一個JavaScript開發者應該瞭解的浮點知識JavaScript
- 每個 JavaScript 開發者都該瞭解的 ES2018 新特性JavaScript
- 每個前端工程師都應該瞭解的HTML5.2前端工程師HTML
- 每個Java開發者都應該知道的5個JDK工具JavaJDK
- 每個JavaScript開發人員都應該瞭解UnicodeJavaScriptUnicode
- [譯] 為什麼每個 Android 開發者都應該嘗試 FlutterAndroidFlutter
- 每個前端工程師都應該瞭解的圖片知識前端工程師
- 每個程式設計師都應該瞭解的記憶體知識程式設計師記憶體
- 重要!每個開發者都應該掌握的9個核心演算法演算法
- 每個android專案都應該使用的android 庫Android
- 每個開發者都應該使用的VSCode外掛 - tvkoushikVSCode
- 每個Android迷都應該使用的75個超酷AppAndroidAPP
- 每個Linux使用者都應該瞭解的命令列省時技巧Linux命令列
- 每個程式設計師都應該瞭解的一件事程式設計師
- 每個C++開發者都應該使用的十個C++11特性C++
- 每個Android開發者應該知道的6個SDK和APIAndroidAPI
- 每個Web開發者都應該知道的關 URL編碼的知識Web
- 每個程式設計師都應該瞭解的“虛擬記憶體”知識程式設計師記憶體
- 每個後端都應該瞭解的OpenResty入門以及閘道器安全實戰後端REST
- 每個安卓開發初學者應該瞭解的 12 個技巧安卓
- 每個Javascript開發者都應當知道的那些事JavaScript
- IT職場:每個黑帶都應該知道的事
- 每個電商企業都應該分析的9種資料
- [譯]每個 iOS 開發者都該知道的 17 個 Xcode 小技巧iOSXCode
- 每個 Android 開發者必須知道的資源集錦Android
- 每個 Linux 新手都應該知道的 10 個命令Linux
- Perl開發者必須瞭解的14個資源
- 每個CIO都應該問的IT轉型問題
- 每個程式設計師都應該讀的書程式設計師
- 每一個程式設計師都應當瞭解的11句話程式設計師
- 關於時間,每個程式設計師都應瞭解的事程式設計師
- 求職季 | 為什麼每個開發者都應該堅持經營一個部落格?求職