一份旨在幫助 Android 初學者快速入門以及找到適合自己學習的資料
來自: https://github.com/Freelander/Android_Data
Android 學習資料收集
收集整理這份資料靈感來自于trip_to_iOS, 征得同意引用了該資料的開頭描述
收集整理這份資料主要幫助初學者學習 Android 開發, 希望能快速幫助到他們快速入門, 找到適合自己學習資料, 節省再去收集學習資料時間.
這份資料我會不斷的更新完善, 同時也歡迎更多具有豐富經驗的Android開發者將自己常用的工具、學習資料、學習心得等分享上來, 我將定期篩選合并, 該份學習資料有不足的地方, 也請指出, 我會謙虛接受改正, 希望我能與大家一起來學習, 謝謝.
如果您有任何意見或建議也可以通過 郵件 或微博聯系我
書籍
書籍名稱 | 推薦理由 |
---|---|
Thinking In Java 中文版 | 學習 Android 開發, 首先需要 Java 基礎, 這里推薦 Thinking In Java, Thinking In Java 是 Java 的經典書籍, 是學習 Java 語言必備書籍 |
第一行代碼 | 郭霖大神的杰作, 郭神在CSDN中的博客文章非常不錯, 書我看了, 非常適合新手, 里面的內容非常棒, 建議結合郭神博客文章一起來學習 |
瘋狂Android講義第三版 | 作者是李剛, 這本書是基于 Android 5.0 來講的, 我看過第二版, 這本書給我第一感覺就是很厚, 但里面內容寫的還是很詳細的, 代碼很多, 可以跟著代碼一步步敲 |
Android群英傳 | 本書作者@Tomcat的貓, 曾就職于上海TCL通訊, 從事Alcatel(阿爾卡特)Android手機系統的定制工作, 活躍于CSDN, 目前就職于上海滬江網Android開發部RD項目組, 負責滬江App的功能預研 |
Android開發藝術探索 | 由@任玉剛Coder所著, 是一本Android進階類書籍, 采用理論、源碼和實踐相結合的方式來闡述高水準的Android應用開發要點. 本書從三個方面來組織內容: 第一, 介紹Android開發者不容易掌握的一些知識點: 第二,結合Android源代碼和應用層開發過程, 融會貫通, 介紹一些比較深入的知識點: 第三, 介紹一些核心技術和Android的性能優化思想. |
App 研發錄 | 本書作者是包建強, 本書作者多年 App 開發的經驗總結, 從App架構的角度, 重點總結了 Android 應用開發中常見的實用技巧和疑難問題解決方法, 為打造高質量 App 提供有價值的實踐指導, 迅速提升應用開發能力和解決疑難問題的能力. 這本書非常有利于 Android 開發者進階. |
Android 設計模式源碼分析 | 本書作者是開發技術前線創立者之一 Mr.Simple, 該書從 Android 源碼的角度由淺入深地剖析設計模式的運用, 讓工程師們把設計與模式重視起來, 提升自己的設計能力與代碼質量 |
開發環境/工具:
(附上: 超多開發工具下載地址, 后五個工具資料在 stormzhang 博客中找到的, 地址 )
環境/工具 | 簡述 |
---|---|
Eclipse ADT | 一個集成完整的Android開發環境, 包含一個定制的Eclipse + ADT plugin, 以及最新的SDK及源碼, 上手非常容易, 這個適合新手使用, 但該工具 Google 已停止維護更新, 如果你是新手那我還是建議使用 Android Studio 開發工具 |
Android Studio | 這個開發工具上手需要一定的時間, 自從 Google 推出1.0正式版, 這個工具一直火爆, 目前github上面的絕大多數開源項目都是使用Android Studio工具, 這就是 Android 開發工具的未來, 所以極力推薦 Android 開發人員使用這個工具, 該工具已更新到 2.0 預覽版, 性能逐漸穩定提高, 沒有之前那么卡了 |
Genymotion | 強大好用高性能的Android模擬器, 自帶的那個模擬器簡直不忍直視, 啟動超慢的, 跟這個沒法比, 無論你是用Eclipse還是Android Studio里面都有Genymotion插件 |
jadx | 一個Android反編譯神器,不同于常見的dex2jar,這個反編譯器生成代碼的 try/catch 次數更少, View也不再是數字id了,可讀性更高 |
android-selector | 可以根據指定顏色生成 Selector Drawable 的插件 |
GradleDependenciesHelperPlugin | Gradle 依賴自動補全插件 |
Smali Viewer | sv是一款免費 APK 分析軟件,對你感興趣的APP分析看看它們都用了些什么, 對你學習借鑒有一定幫助 |
folding-plugin | layout 文件夾里的布局文件一般很長很長沒有目錄, 這個插件就可以把 layout 分好層級結構, 類似 src 下目錄結構 |
CodeGlance | 在編輯代碼最右側, 顯示一塊代碼小地圖 |
Statistic | 統計整個項目行數的插件, 這可表示我們日日夜夜辛辛苦苦必備插件 |
idea-markdown | 在 AS 中編寫 Markdown 文件, 可以直接預覽網頁顯示效果, 對于你經常編寫 Markdown 文件的你值得擁有這個插件 |
Stetho | Stetho是 非死book 出品的一個強大的 Android 調試工具,使用該工具你可以在 Chrome Developer Tools查看App的布局, 網絡請求(僅限使用Volle, okhttp的網絡請求庫), sqlite, preference, 一切都是可視化的操作,無須自己在去使用adb, 也不需要root你的設備 |
ButterKnife Zelezny | ButterKnife 生成器, 使用起來非常簡單方便, 為你簡寫了很多 findViewId 代碼, 如果你不了解 ButterKnife 的可以到 這里 看看 |
SelectorChapek | 設計師給我們提供好了各種資源, 每個按鈕都要寫一個selector是不是很麻煩? 這么這個插件就為解決這個問題而生, 你只需要做的是告訴設計師們按照規范命名就好了, 其他一鍵搞定 |
GsonFormat | 現在大多數服務端api都以json數據格式返回, 而客戶端需要根據api接口生成相應的實體類, 這個插件把這個過程自動化了, 趕緊使用起來吧 |
ParcelableGenerator | Android中的序列化有兩種方式, 分別是實現Serializable接口和Parcelable接口, 但在Android中是推薦使用Parcelable, 只不過我們這種方式要比Serializable方式要繁瑣,那么有了這個插件一切就ok了 |
LeakCanary | 良心企業Square最近剛開源的一個非常有用的工具, 強烈推薦, 幫助你在開發階段方便的檢測出內存泄露的問題, 使用起來更簡單方便, 而且我們團隊第一時間使用幫助我們發現了不少問題, 英文不好的這里有雷鋒同志翻譯的中文版 LeakCanary 中文使用說明 |
博客:
博客地址 | 博主信息 |
---|---|
Android Developers Blog | Android官網博客, 在上面可以關注Android最新的進展與最權威的博客(國內或許不能訪問) |
胡凱 | 目前就職于騰訊上海從事Android開發的工作, 發起 Google Android 官方培訓課程中文版翻譯, 這課程是學習Android應用開發的絕佳資料 |
Trinea | 目前在上海安居客負責 Android 客戶端技術, 他是開源庫項目收集達人, 你想要的開源庫上面都有, 并且發起 Android 開源項目源碼解析, 在使用開源庫的同時也可以知道其中原理, 大家可以去關注一下, 地址 |
郭霖 | 博主郭霖是大神, 人人都稱"郭神", 是第一行代碼的作者, 博主在 CSDN 上所寫的文章都非常值得學習 |
代碼家 | 90后Android大神, 稱作庫達人, 博主收集了很多Android開源庫, 博主自己也做了很多開源庫, 非常值得學習 |
stormzhang | 博主是上海薄荷信息科技有限公司 開發主管, 博主分享了他學習Android的經驗, 寫了一篇 Android學習之路 得到非常多人贊同, 里面還有很多好的文章非常適合新手看 |
light_sky | Android開發工程師, 目前在北京工作. Google big fan, 熱愛開源, 熱愛分享, 活躍于GitHub、G+、推ter, 捕捉Android最新資訊和技術, ViewPagerIndicator 開源項目分析者 |
張鴻洋 | 張鴻洋是 CSDN 博客專家, 博主在 CSDN 所發布的每一篇文章都是干貨, 都很值得大家去學習 |
張興業 | 張興業同樣也是 CSDN 博客專家, 博主專注移動互聯網開發,關注移動支付業務 |
hi大頭鬼hi | hi大頭鬼hi 是阿里巴巴集團的一名 Android 工程師, 擅長 Android, RxJava, RxAndroid, ReactNative, Node.js, 大前端, 可謂是全棧工程師, 如果你對 RxJava 技術感興趣, 不妨到他的博客看看, 他寫了一系列有關 RxJava 的介紹 |
更多 | 這里面收集了很多國內外開發者的信息, 大家可以去看看 |
社區:
名稱 | 簡介 |
---|---|
StackOverFlow | IT 界的問答社區, 你開發當中所遇到的問題基本上都能在這里能尋找到你想要的答案 |
SegmentFault | SegmentFault 是一個專注于解決編程問題, 提高開發技能的社區 |
CSDN | CSDN 是全球最大中文IT技術社區 |
eoe 移動開發者社區 | 讓移動開發更簡單, 做最棒的開發者社區 |
APKBUS 安卓巴士 | APKBUS 安卓巴士是一家服務于中國移動開發者學習與成長需要的綜合社區服務平臺 |
谷歌開發者社區(GDG) | GDG 是 Google Developer Groups 的縮寫, 中文名稱是谷歌開發者社區 |
開源項目學習:
項目名稱 | 項目簡介 |
---|---|
Google I/O 2014 | Google I/O Android App 使用了當時最新推出的 Material Design 設計 |
Google play music | 一個跨多個平臺音樂播放器 |
Google Santa Tracker for Android | Google 開源的一個兒童教育和娛樂的 App |
github客戶端 | 開源者 github 團隊, 支持項目的 lssues 和 Gists 并集成了新聞 feed 以便及時獲取來自組織好友和資料庫的更新信息, 還提供了一個用于快速訪問你創建,監控以及發布 issue 面板, 可查看并將問題加到收藏夾 |
Talon-for-推ter | 一個完整版 推ter 第三方客戶端, 屬于頂級水平, 而且在源代碼 100% 開源, 學習資源讓你取之不盡 |
Anime Taste | 開發者是代碼家為 AnimeTaste 全球動畫精選開發的 Android 客戶端, 國內很少見的精彩而且開源的 APP, 獲得豌豆莢110期設計獎 |
EverMemo | 開發者是代碼家, EverMemo 是一款讓你快速記錄與分享靈感的隨身便簽, 極簡的界面與卡片式布局, 讓你記錄與查找便簽更有效率 |
9GAGstormzhang | 開發者是stormzhang的博主,這個開源項目教你使用Studio,Gradle 以及一些流行的開源庫快速開發一個不錯的 Android 客戶端 |
MIUI 便簽 | MiCode 便簽是小米便簽的社區開源版, 由 MIUI 團隊(ww.miui.com)發起并貢獻第一批代碼, 遵循 NOTICE 文件所描述的開源協議 |
貝殼單詞 | 開發者是許曉峰(Drakeet), 獲得豌豆莢設計獎, 這個是初期版本, 新版沒有開源, 但是在博主的博客當中將一些新版的內容都剝離出來寫成了文章,可以去學習一下 |
Muzei Live Wallpaper | 開發者是 Ian Lake , 就職于 Google, 這款是定時更換桌面精美壁紙 App |
四次元-新浪微博客戶端 | 一個仿新浪微博客戶端 App, 基本都含有新浪微博的功能, 開源團隊寫了一份 wiki 文檔, 可以去學習一下該 App 是如何實現的 |
知乎專欄 | 開發者是白瓦力, 項目結構清晰, 代碼分包合理, 很棒. 很適合新手去學習如何搭建一個 App 結構, 熟悉開發一個完整 App 的流程 |
eoe 客戶端 | eoe 社區Android客戶端 |
oschina | 開源中國社區 Android 客戶端, 此開源的是 v1 版本, v2 版本將在2015年年中開源 |
v2ex | 開發者是 楊輝 , 這個是 v2ex Android 第三方客戶端 |
Tweet Lanes | 功能比較完整的 推ter 客戶端 |
Financius | 一款簡單易用個人理財 Android 程序 |
Coding | Coding 類似于 github 一個代碼托管平臺, 這個是 Coding 的 Android 版客戶端 |
ZXing | 二維碼掃描工具,市場上許多應用的二維碼掃描工具都是從這個修改得到的 |
photup | 編輯機批量上傳照片到非死book上,代碼分包合理,很棒,不過這個項目依賴的開源項目比較多, 比較難編譯 |
todo.txt-android | todo.txt 官方 Android 應用, 一個極簡的將待辦事件記錄在 .txt 文件中 |
掃掃圖書 | 一個讓你懂得如何去選擇一本書的 APP, 具有掃描搜索查詢圖書的信息功能 |
ChaseWhisplyProject | 開啟攝像頭在你所在位置尋找鬼魂, 進行打鬼游戲 |
AntennaPod | AntennaPod 是一個自由、開源的播客客戶端, 支持Atom和RSS Feed |
干柴 | 開發者是馮建, 一個專注收集 android 相關干貨(文摘,名博,github等等)資源 App |
Hacker News | 一個查看黑客新聞報道和評論的 App |
proxydroid | ProxyDroid 是一個幫助你在你的 Android 設備上設置代理 (HTTP / SOCKS4 / SOCKS5) |
AliGesture | Android平臺手勢識別應用, 簡單的手勢就可以進入預置的應用, 方便快捷 |
指讀 | 指讀顧名思義就是用手指去閱讀浩瀚的書海 |
KJ 音樂 | 開發者是 張濤 , 快捷音樂使用到KJFrameForAndroid開發框架, 擁有界面絢麗, 操作簡單, 播放手機本地音樂, 在線收聽音樂等功能, 還支持: 新浪微博, 百度賬號, QQ賬號的一鍵登錄 |
哎嘛 | OSCHINA第三方客戶端, 這個版本界面比官方版本界面好看多了, 使用的是 Material Design, 界面看上去非常清爽舒服 |
碼廄 | 博客園第三方客戶端, 使用到緩存技術, 當你打開一次之后的博客內容, 會自動保存到設備中, 下次打開閱讀同一文章時不需要再利用網絡加載, 大家如果想為自己 App 搞緩存的, 可以研究一下該 App 是如何實現的喔 |
cnBeta 第三方閱讀器 | 該 App 是 cnBeta(中文業界資訊站) 第三方閱讀客戶端, 界面也是使用 Material Design, 還加上一些動畫效果, 讓人閱讀文章起來不會感覺枯燥, 值得去研究學習一下 |
BlackLight | BlackLight是由紙飛機開發團隊開發的一款Android上的新浪微博第三方輕量級客戶端 |
Actor | Actor(優聆) 是一款即時通訊 App, 解決網絡通訊差的情況, 支持離線消息和文件存儲, 自動與手機聯系人建立聯系等等 |
Plaid | 一個遵循 Material Design 的一個設計新聞客戶端,里面的一些完全MD的一些特效很棒,同時整個客戶端的框架設計也很有參考意義 |
SimplifyReader | 一款基于 Google Material Design 設計開發的 Android 客戶端, 包括新聞簡讀, 圖片瀏覽, 視頻爽看, 音樂輕聽以及二維碼掃描五個子模塊, 項目采取的是MVP架構開發 |
PHPHub-Android | PHPHub Android 客戶端, 項目架構使用 nucleus 簡化 MVP 架構, API 請求返回數據使用 RxJava 進行處理, 客戶端使用了獨特的二維碼掃碼登錄, 有興趣的可以去研究一下 |
Leisure | 閑暇(Leisure)是一款集"知乎日報"、"果殼科學人"、"新華網新聞"以及"豆瓣圖書"于一體的閱讀類 Android 應用, 項目里面有多語言切換、夜間模式以及無圖模式, 如果你還不知道這些技術怎么實現, 不妨參考一下這個項目 |
Android 開發者雜志周刊
( 資料是 Drakeet 收集整理的, 資料原鏈接 地址 )
周刊名 | 周刊簡介 |
---|---|
Android Weekly | Android Weekly 是由Android 團隊的成員和國外知名的 Android開發者維護, 分享的內容不僅僅只有干貨, 而且還有最新的技術分享, 也是Android 開發圈子最早, 最有名的周報 |
Android開發技術周報 | Android開發技術周報是由@脈脈不嘚語 維護更新, 截止到現在, 已經發布了28 期, 分享的都是高質量的文章教程, 代碼庫, 工具, 新聞視頻, 設計等 |
Android 科學院 | 由@duguguiyu和豌豆莢一小撮工程師組成, 分享的都是最新的 Android 技術: 雖然更新頻率不是很高, 但是質量確是很很高的, 值得一看的 |
開發技術前線 | 開發技術前線是一個高質量技術文章的聚合網站, 主要分享 Android, iOS,以及招聘等內容 |
App開發日報 | App 開發日報主要關注移動應用的開發, 它每天一刊, 分享的內容主要來自微博上知名的開發者推薦的內容, 因此質量基本上是有保證的 |
Android開發周報 | Android 開發周報是郭亮在連載更新在 Infoq 的周刊, 它不僅分享Android的相關新聞, 新工具, 而且還有更加深入的, 所以對于新生老人都很適合 |
Awesome 系列:
- awesome android(1)
- awesome_android(2)
- awesome_android_UI
- awesome_android_libraries
- awesome_java
- awesome_materialdesign
- awesome 系列之終極版
動畫系列
Material Design 設計:
- Material Design 教程
- Material Design 教程(中文版)
- Material Design 教程(中文版)新增二十多章節
- Material Design Android Library (Material Design 開源庫, 很多效果可以直接拿來用)
- 十大Material Design開源項目
素材:
開源庫收集:
- Android Libraries and Resources
- Android Arsenal (一個專門收集 android 開源庫的網站, 網站經常更新)
- Android 開源項目匯總(Trinea 大神收集的)
- Android 開源項目源碼分析 (在懂得使用這些開源項目同時, 也應該了解當中的原理)
- 泡在網上的日子
設計模式:
實踐篇
- Android 開發最佳實踐
- Android 最佳實踐之 UI 篇
- Android 屏幕適配全攻略
- 給半新人的app開發指南
- Android 一些重要知識點解析整理
- Android開發人員應避免的10個誤區
- Java反射最佳實踐
- Android內存優化之OOM
- Android 命名規范
- Adapter優化方案的探索
- Android-Tips
- git 使用教程
- 最全 Android ADB Shell
- AndroidNote
- Android 常用工具類
- 創建安卓app的30個經驗教訓
- Android 三大圖片緩存原理、特性對比
- Android 性能優化總結
- Android 實用代碼片段整合
文檔:
- Android 官方 API 文檔 (網站需國內或許不能訪問,不KX上網可以 下載 離線文件)
其它:
- 10個很棒的學習 Android 開發的網站
- Android 開發, 你應該知道的學習資源
- AndroidCat 安卓書簽網
- 每個 Android 開發者都應該了解的資源列表
- Android 開發者網址導航
- Android 開發收藏夾
知乎上的討論:
- 有哪些 Android 大牛的 blog 值得推薦?
- GitHub 上都有哪些值得關注學習的 Android項目?
- GitHub 上有哪些適合新人圍觀的 Android 項目?
- 2015 年移動設備界面設計有哪些趨勢?
- Android開發中, 有哪些讓你覺得相見恨晚的方法,類或接口?
- Android Studio有哪些非常好用的插件?
- Android 開發有哪些新技術出現?
- 有哪些優秀的 Android 應用開源項目、特效、設計資料推薦?
- 有沒有適合 Android 開發初學者的 App 源碼推薦?
- Android有什么好的技術點適合進行技術分享?
- Android Studio有什么奇技淫巧?
- Android 開發: 開始一個項目前, 做好哪些準備可以事半功倍?
License
以上內容采用 CC BY-NC-SA 3.0 進行許可, 轉載請注明出處, 版權歸本人及所有貢獻者所有
本文由用戶 z984230 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!