## 引言:
從六月底就開始編寫這套教程,歷時(shí)將近五個(gè)多月,今天終于寫完了,全套教程正文部分148篇, 十大章,從基本UI控件到四大組件,Intent,F(xiàn)ragment,事件處理,數(shù)據(jù)存儲(chǔ),網(wǎng)絡(luò)編程,繪圖與動(dòng)畫, 多媒體,系統(tǒng)服務(wù)等都進(jìn)行了詳細(xì)的講解!代碼都是都是在Android Studio上進(jìn)行編寫的,全文 采用Markdown,行文結(jié)構(gòu)清晰,還結(jié)合了實(shí)際開發(fā)中一些常見(jiàn)的問(wèn)題進(jìn)行了剖析...由于個(gè)人能力的局限, 雖然竭盡全力,但是難免還有有一些錯(cuò)誤紕漏,望讀者海涵指出,萬(wàn)分感激!在寫這套教材的過(guò)程中, 感觸良多,借著完結(jié)散花這最后一節(jié)一吐而快,也算是暫時(shí)告別自己博客生涯的一筆吧...??一吐而快~
* * *
## 1.此套教程的由來(lái)
記得那是在五月份的某一天晚上,剛和舍友打完擼啊擼,玩起手機(jī)來(lái)。不經(jīng)意的我加了w3c鳥巢的 公眾號(hào),然后看了下推送過(guò)來(lái)的文章,感覺(jué)有點(diǎn)意思,于是乎就到度娘上搜了下"w3c鳥巢"。發(fā)現(xiàn)有 個(gè)菜鳥教程的欄目,然后里面的教程大部分都是Web類的基礎(chǔ)教程,而我看到了移動(dòng)端的教程,上面 有著"學(xué)習(xí)Android"!這樣一個(gè)教程,作為一個(gè)搞Android的,按照故事情節(jié),我肯定會(huì)馬上 去點(diǎn)開這個(gè)鏈接,然后發(fā)生點(diǎn)什么事吧...然而,我并沒(méi)有點(diǎn)...所以故事到這里就結(jié)束了,哈哈... 當(dāng)然,最后還是點(diǎn)了,不過(guò)在這個(gè)期間和舍友下去喝了碗糖水而已~因?yàn)槟甏眠h(yuǎn),但是教程里的內(nèi) 容我都已忘記,但我現(xiàn)在還記得,在我的柜子底有一本《Android瘋狂講義》,大學(xué)買的第一本 編程書,哈哈,可惜看了100來(lái)頁(yè)我已經(jīng)放棄了,一本中文版的API文檔哈...也就是因?yàn)檫@本書,才 會(huì)小豬Android入門之路的專欄,當(dāng)時(shí)抱著試一試的心情,加了w3c大師姐的微信,然后問(wèn)她需不需 要一個(gè)寫Android基礎(chǔ)教程的,接著把小豬入門之路的鏈接發(fā)給他了,然后大師姐貌似非常的高興, 然后又問(wèn)賣不賣版權(quán)之類的,?**賣版權(quán)**?那不是有錢收咩? 作為一個(gè)苦逼學(xué)生狗,寫點(diǎn)東西有錢收,想想還有點(diǎn)小激動(dòng)呢,結(jié)果興奮了一晚上,腦子里想了 很多...后來(lái)也不知道自己是怎么想的,就跟FK(w3c鳥巢的站長(zhǎng))聊了下, 然后就決定在w3c鳥巢的菜鳥教程上寫一套Android的基礎(chǔ)教程,**免費(fèi)**,嗯,沒(méi)錯(cuò),不收一分錢, 前提是教程不用于商業(yè)用途,原因可能是被FK的分享的精神所渲染吧,也可能是自己真的想去寫 一套Android教程吧,大部分大牛沒(méi)時(shí)間或者不屑于去寫基礎(chǔ)入門教程,那么就讓我這個(gè)渣渣來(lái)寫 吧!為后面的初學(xué)者鋪鋪路也好嘛~
接下來(lái)就是用百度腦圖來(lái)構(gòu)思入門系列要講解的內(nèi)容,學(xué)了下Markdown語(yǔ)法,然后就開搞,一開始 是不想在coder-pig上寫的,畢竟上面有很多太監(jiān)了的教程。然后開了個(gè)小號(hào),打算在上面寫這套 新教程,但是訪問(wèn)量卻慘不忍睹,假如你是一個(gè)寫博客的,看到自己花了很多時(shí)間寫出來(lái)的東西, 卻沒(méi)人看的時(shí)候,心里肯定不舒服是吧...后來(lái)還是默默地搬回了coder-pig上,然后把第一章寫 完,也開始在w3c鳥巢上發(fā)布了!接著每天就開始下面這種**一成不變的枯燥的生活**: 每天上班,一有時(shí)間就構(gòu)思今天寫什么知識(shí)點(diǎn),寫個(gè)什么樣有趣的例子,然后晚上5點(diǎn)半下班后, 去吃個(gè)飯,然后就回來(lái)埋頭苦寫,每天晚上基本上都是我鎖門的,一般十點(diǎn)半左右走吧,記得 最晚一次寫得太嗨沒(méi)注意時(shí)間寫到12點(diǎn)半,寫完看了下時(shí)間,臥槽,十二點(diǎn)半?。?!?
嚇得我趕忙收拾東西,拔腿就跑,因?yàn)閳@區(qū)這邊好像是12點(diǎn)就關(guān)后門的,一到那里發(fā)現(xiàn)門是關(guān) 著的,心理頓時(shí)涼了一大半,媽蛋,難道今晚真的要睡公司么...后來(lái)走進(jìn)一看才發(fā)現(xiàn)門是虛掩的, 并沒(méi)鎖,最后還是順利地回到了宿舍...周六日一般也沒(méi)什么節(jié)目,都是回公司碼字,偶爾 天氣好就去跟別人打打羽毛球,大部分時(shí)間還是花在碼字上,就這樣堅(jiān)持了五個(gè)多月,這套教程 也總算完結(jié)了~?
此刻的心情,有點(diǎn)小高興,也有點(diǎn)小激動(dòng),但更多的卻是一種解脫,總算寫完了~~~ 為何是解脫,不急,還請(qǐng)聽(tīng)我娓娓道來(lái)...
* * *
## 2.扒一扒我的一些情況
* * *
不用到群里問(wèn)豬神在那里高就,月薪多少,做我徒弟之類的話了,現(xiàn)在就扒一扒自己的一些情況吧! 今年的應(yīng)屆畢業(yè)生(15屆),學(xué)校是北京理工大學(xué)珠海學(xué)院(北理珠),目前在南方軟件園這邊工作,是 一枚**Android實(shí)習(xí)生**,月薪也只有**3K**,五險(xiǎn)一金什么鬼都沒(méi)有!嗯,你沒(méi)看錯(cuò),我是一名?**3K實(shí)習(xí)生**,或許你會(huì)覺(jué)得我在開玩笑,但這就是事實(shí),因?yàn)樽约捍髮W(xué)時(shí)候的任性,我現(xiàn)在還有 兩門科目沒(méi)有過(guò):高數(shù)上和下,所以還沒(méi)拿到畢業(yè)證...很失望是吧,還以為寫這套教材的是哪位 大牛,結(jié)果是一個(gè)實(shí)習(xí)生么,哈哈~
嗯,說(shuō)下自己的當(dāng)前的Android技術(shù)水平吧:
中下,或者說(shuō)中下也達(dá)不到,可以單獨(dú)完成小型的項(xiàng)目!但是架構(gòu)什么的,屎一比,根本不考慮 復(fù)用之類的,可以說(shuō)是任意拼湊起來(lái)的垃圾,很多新興起的技術(shù),聽(tīng)過(guò)但是沒(méi)有花時(shí)間去研究...
接著說(shuō)說(shuō)自己的**工作經(jīng)歷**吧:
### 2015.2
學(xué)校春節(jié)招聘會(huì),找的第一份實(shí)習(xí),在拱北跨境工業(yè)區(qū)那邊,一家外包公司,說(shuō)是公司 還不如說(shuō)是工作室,加起來(lái)就那么7個(gè)人,后來(lái)還跑了個(gè)HR。在這個(gè)公司呆了一個(gè)來(lái)月,收獲就是: 學(xué)會(huì)了去看官方的API文檔,而非啃李剛;學(xué)會(huì)了改Hosts;知道了Fragment的用法; 寫了華仔天地(劉德華粉絲俱樂(lè)部APP)的UI;各種打雜; 他們有一套自己的東西,其實(shí)就是將一些常用到的功能丟到一個(gè)Jar包里,比如圖像異步加載, 圖片大小的動(dòng)態(tài)計(jì)算等...要什么功能問(wèn)后面的,沒(méi)錯(cuò),沒(méi)文檔...所有的APP都是那個(gè)套路, 可能外包公司都是這樣吧,只在乎結(jié)果而不在乎過(guò)程,另外最讓我接受不了的是測(cè)試, 叫我和美工在那里劃屏,只要程序不crash就好了,這就叫測(cè)試...??于是乎,我離開了這家公司,此時(shí)我實(shí)習(xí)2.8k,轉(zhuǎn)正3.2k!
### 2015.4
接著我又找了另一份工作,在清華科技園那邊,這就不是一家外包公司了,他們主要是 做安防和智能家居類的,氛圍還是不錯(cuò)的,偶爾會(huì)有技術(shù)問(wèn)題的撕比,周五下午還有技術(shù)交流, 而且給我配了個(gè)新的電腦和顯示器,感覺(jué)自己在這里呆肯定會(huì)很嗨皮!第一個(gè)月看看文檔什么的, 看看要接手的項(xiàng)目什么的,小日子還是過(guò)得挺滋潤(rùn)的,可是好景不長(zhǎng),做了3年的那個(gè)老員工要走了! 他手上的兩個(gè)項(xiàng)目都丟給了我,而且我還要開始搞另一個(gè)新的項(xiàng)目,這沒(méi)什么,勉勉強(qiáng)強(qiáng)還可以 扛下來(lái),但是那兩個(gè)接手的項(xiàng)目有個(gè)要改,而且要出版本,我連代碼都還沒(méi)來(lái)得及熟悉...怎么玩 得過(guò)來(lái)啊,自己做不過(guò)來(lái),又不想耗時(shí)間,到時(shí)期限到了我什么都沒(méi)搞出來(lái),這樣還拖累了別人! 記得想辭職前的那周過(guò)得非常的壓抑,機(jī)緣巧合,好像是周三的下午吧,收到了現(xiàn)在公司HR打來(lái) 的電話,然后和現(xiàn)在的經(jīng)理電話面試了下,問(wèn)了一些Android基礎(chǔ)的東西,聊得還蠻嗨的,然后約 個(gè)時(shí)間見(jiàn)見(jiàn)面,然后周五就過(guò)來(lái)面試了,再接著聊了一下現(xiàn)在公司的一些情況,第一感覺(jué)公司 環(huán)境還可以吧,位置都比較寬敞,然后跟他說(shuō)了下我還沒(méi)拿到畢業(yè)證的事,能不能轉(zhuǎn)正, 可能是他當(dāng)時(shí)口爽,說(shuō)沒(méi)什么跟人事那邊說(shuō)下就好...然而我在這里蹲半年了,還是實(shí)習(xí)... 然后周一回公司提交了辭職申請(qǐng),然后離開了第二家公司,在這個(gè)公司的一個(gè)月,擴(kuò)展了一下 自己的視野,知道了NDK和視頻編解碼這些東西~此時(shí)我試用3.8k,轉(zhuǎn)正4.2k!
### 2015.5
嗯,辭去第二間公司的工作后,在學(xué)校嗨了一個(gè)星期,隨手把自己的畢設(shè)給弄 完了,被迫分割成兩個(gè)應(yīng)用的畢設(shè):海綿表表和一起啪啪啪,現(xiàn)在看來(lái)那兩個(gè)自己寫出來(lái)的東西, 無(wú)法直視,后來(lái)把畢設(shè)賣了,200塊... 然后周一的時(shí)候就來(lái)到了現(xiàn)在的這家公司,又是接手項(xiàng)目,原來(lái)這里的那個(gè)Android開發(fā)的大牛 要跳到魅族去,第一次感覺(jué)到大牛的氣息,假如他并沒(méi)有走而是繼續(xù)呆著多好呢? 或許我此時(shí)又會(huì)是另外一種不同的結(jié)局了是吧~從SVN過(guò)渡到Git,從圖形化界面過(guò)渡到命令行; 知道了注解,RxJava,okhttp,github,多渠道打包等等,愉快地相處了一周后,大牛走了, 接下來(lái)就是我自己看項(xiàng)目了,感覺(jué)就像來(lái)到一個(gè)新大陸一樣,很多東西我以前都沒(méi)見(jiàn)過(guò), 就這樣嗨了將近一個(gè)月,公司招到了另一名Android開發(fā)的,一開始聽(tīng)說(shuō)是三年工作經(jīng)驗(yàn), 感覺(jué)有人帶我飛了,然而事與愿違,在他身上我并沒(méi)有感覺(jué)到一股大牛的氣息,感覺(jué)可能是在 這個(gè)行業(yè)呆了三年吧,水平很一般,和自己比的話可能業(yè)務(wù)經(jīng)驗(yàn)多一點(diǎn)吧,跟他討論md他聽(tīng)都 沒(méi)聽(tīng)過(guò),Android Studio也不知道,其他的更不用說(shuō),記得有一次問(wèn)他一個(gè)簡(jiǎn)單的控件怎么 自定義,他的回答是:網(wǎng)上找下改改就能用,我想問(wèn)的是實(shí)現(xiàn)的思路,得到回答是:知道怎么用就好... 嗯,好吧!三年嘛,項(xiàng)目肯定是他來(lái)接手的啦,而經(jīng)理丟給了我另外一個(gè)項(xiàng)目, 一個(gè)無(wú)人機(jī)上綁手機(jī)測(cè)量基站天線角度等信息,然后通過(guò)wifi顯示到地面上的另一臺(tái)手機(jī)上, 手機(jī)自身數(shù)據(jù)采集和數(shù)據(jù)傳輸?shù)經(jīng)]什么,難點(diǎn)是**串口通信**(FTDI)的東西,手機(jī) 通過(guò)OTG線連單片機(jī),完成指令收發(fā),看著API文檔擼了一個(gè)星期,連個(gè)最簡(jiǎn)單的Demo都寫不出來(lái) 有發(fā)沒(méi)收...同樣的情況又持續(xù)了一個(gè)星期,好吧,寫不出東西的感覺(jué)真的很不爽,后來(lái)沒(méi)辦法, 只能反編譯別人的apk了,花了兩天時(shí)間把別人apk里的代碼抽取出最關(guān)鍵的部分,從6000多行 的代碼變成500多行的代碼,看到單片機(jī)上的收發(fā)信號(hào)燈閃爍,還蠻有成就感的! 可惜好景不長(zhǎng)經(jīng)理說(shuō)要加個(gè)實(shí)時(shí)視頻播放的,我真是....這玩意我都沒(méi)搞過(guò),怎么玩,于是到 Github上找了,幾個(gè)開源的視頻直播項(xiàng)目,后來(lái)還是找了WifiCarema作為研究項(xiàng)目,然后因?yàn)?h264庫(kù)編譯的問(wèn)題糾結(jié)了差不多兩個(gè)月,結(jié)果還是沒(méi)有解決,結(jié)果項(xiàng)目外包給了北京那邊的人 做,嗯,我的第一個(gè)項(xiàng)目就這樣閹割了...接著做了一個(gè)很簡(jiǎn)單的小東西,再接著就到現(xiàn)在 就是一直在跟蹤解決websocket的問(wèn)題了~我司推送并不是用的第三方,而是自己用socketio 搭建的一個(gè)推送平臺(tái),用socketio的原因是三個(gè)平臺(tái)都可以用一套嘛,iOS,Android,還有 web端,然后出現(xiàn)了漏掉報(bào)文或者收不到位置更新的問(wèn)題,到現(xiàn)在還沒(méi)找到問(wèn)題發(fā)生的原因, 連問(wèn)題都重現(xiàn)不了,我們這邊一直測(cè)都沒(méi)問(wèn)題,一到客戶手里就各種問(wèn)題... 現(xiàn)在還在糾結(jié)這個(gè)問(wèn)題中...來(lái)這里半年了,還是實(shí)習(xí)生,實(shí)習(xí)工資3k,畢業(yè)證起碼要明年六月份才能 拿到,應(yīng)該沒(méi)得轉(zhuǎn)正了,唉..
嗯,上面就是我今年到現(xiàn)在的一些情況,前段時(shí)間去追夢(mèng)網(wǎng)絡(luò)面試,和面試官談了談自己 當(dāng)前的一些情況,他說(shuō)感覺(jué)我走了野路子,很多東西都走偏了,然后跟我說(shuō)畢業(yè)這一年 很關(guān)鍵,以后成型了就難改了,然后又談了一些架構(gòu)的東西,嗯,第一次那么想進(jìn)一家公司, 哪怕實(shí)習(xí)兩個(gè)月也好,嗯,很遺憾,結(jié)果并沒(méi)有拿到offer,不過(guò)也很感謝全齊大神給自己 上了一堂課,總算知道自己接下來(lái)要去學(xué)點(diǎn)什么~然后又面了兩家,沒(méi)什么感覺(jué),不是自己 向往的類型,最后投了一波魅族實(shí)習(xí)生,哈哈,連面試的機(jī)會(huì)都沒(méi)有,這是第一次,估計(jì) HR連簡(jiǎn)歷都沒(méi)看到吧~??以上就是我的一些個(gè)人情況的描述了,我真的是**只有3K的實(shí)習(xí)狗**,所以群里各位10k的 大老爺們,別逢年過(guò)節(jié)就叫我這個(gè)窮比發(fā)紅包了...?
* * *
## 3.一些自學(xué)心得以及資源分享
> 怎么學(xué)Android,這可能是初學(xué)者問(wèn)得最多的問(wèn)題了,通過(guò)上面你也知道了小豬有多屎, 所以下面這些都是鄙人對(duì)于自學(xué)的一些淺顯的看法而已,不喜請(qǐng)噴~
### 1)看書
**入門推薦的書**:
* 《**第一行代碼**》:這本就不用說(shuō)啦,郭霖大神寫的書,入門必備
* 《**Android群英傳**》:這本是醫(yī)生(徐宜生)寫的,嘿嘿,雙11買的,今天剛收到, 翻了下,感覺(jué)內(nèi)容還是蠻簡(jiǎn)單,適合看完第一本書,或者會(huì)點(diǎn)Android的~
可能有的朋友會(huì)說(shuō),還有李剛Android瘋狂講義咧...嗯,買來(lái)當(dāng)字典查也可以, 但是感覺(jué)看上面兩本會(huì)讓你更快入門,另外,在看第一行代碼的時(shí)候,你也可以配合 著小豬寫的基礎(chǔ)入門教程一同服用,效果更佳~
**進(jìn)階推薦的書**:
也是接下來(lái)自己想入手的幾本書:
* 《**Android源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)**》: 何紅輝(Simple哥),關(guān)愛(ài)民(愛(ài)哥)兩人的大作,既可以學(xué) 習(xí)到設(shè)計(jì)模式,也可以體會(huì)到Android中蘊(yùn)含的一些設(shè)計(jì)思想!
* 《**Android開發(fā)藝術(shù)探索**》:任玉剛,側(cè)重于Android知識(shí)的體系化和系統(tǒng)工作機(jī)制的分析
* 《**深入解析Android 5.0系統(tǒng)**?》:剖析了最新Android 5.0 系統(tǒng)主要框架的原理和具體實(shí)現(xiàn)~
上述幾本書我都還沒(méi)摸過(guò)(還沒(méi)入手),都是廣受好評(píng)的幾本書~這里也推薦下!
### 2)看視頻
網(wǎng)上關(guān)于Android的視頻教程有很多,這里分享下基神力薦的黑馬教程吧:
[黑馬28期Android全套視頻無(wú)加密完整版](http://pan.baidu.com/s/1jGASiqy):密碼:h7jz
[52期不加密版](http://pan.baidu.com/s/1dDBIqlz):密碼:zve8
當(dāng)然下面這些視頻學(xué)習(xí)網(wǎng)站也很不錯(cuò),也推薦下
[慕課網(wǎng)](http://www.imooc.com/)
[極客學(xué)院](http://www.jikexueyuan.com/)
[麥子學(xué)院](http://www.maiziedu.com/)
### 3)看別人的技術(shù)博客
* [CodeKK](http://a.codekk.com/)?—— 專注于開源項(xiàng)目源碼解析及優(yōu)秀開源項(xiàng)目的分享
* [Trinea](http://www.trinea.cn/)?—— 性能優(yōu)化、源碼解析
* [老羅的Android之旅](http://blog.csdn.net/Luoshengyang)?—— Android系統(tǒng)源代碼分析
* [開發(fā)技術(shù)前線](http://www.devtf.cn/)?—— 《Android源碼設(shè)計(jì)模式》作者 Mr.Simple 維護(hù)的社區(qū)網(wǎng)站
* [愛(ài)哥](http://blog.csdn.net/aigestudio)?——《Android源碼設(shè)計(jì)模式》作者 關(guān)愛(ài)民
* [任玉剛](http://blog.csdn.net/singwhatiwanna)?—— 《Android開發(fā)藝術(shù)探索》作者 CSDN博客
* [郭霖](http://blog.csdn.net/guolin_blog)?—— 《第一行代碼》作者 CSDN博客
* [鴻洋](http://blog.csdn.net/lmj623565791)?—— CSDN 博客專家
* [胡凱](http://hukai.me/)?—— 專注性能優(yōu)化
* [張明云](http://www.jianshu.com/users/e6885381f7d4/latest_articles)?—— Android學(xué)習(xí)之路
* [Drakeet](http://drakeet.me/)?—— 貝殼單詞APP開發(fā)者
* [徐宜生](http://blog.csdn.net/eclipsexys)?—— 《Android群英傳》作者
* [代碼家](http://blog.daimajia.com/)?—— 著名博主
* [脈脈不得語(yǔ)](http://www.inferjay.com/blog/categories/androiddevweekly/)?—— 著名博主
* [高建武](http://www.jianshu.com/users/FK4sc4/latest_articles)?—— 專注性能優(yōu)化,簡(jiǎn)書著名博主
* [程序亦非猿](http://yifeiyuan.me/)—— 簡(jiǎn)書著名博主
* [廖祜秋liaohuqiu_秋百萬(wàn)](http://liaohuqiu.net/)?—— 淘寶職員
* [hi大頭鬼hi](http://blog.csdn.net/lzyzsd)?—— 對(duì)RxJava有較深的研究
* [陽(yáng)春面](http://www.jianshu.com/users/nqobaq/latest_articles)?—— 簡(jiǎn)書著名博主
* [夏安明](http://blog.csdn.net/xiaanming)?—— CSDN 博客專家
* [蘭亭風(fēng)雨](http://blog.csdn.net/ns_code)?—— CSDN 博客專家
* [趙凱強(qiáng)](http://blog.csdn.net/zhaokaiqiang1992)?—— CSDN 博客專家
* [qinjuning](http://blog.csdn.net/qinjuning)?—— CSDN 博客專家
* [工匠若水](http://blog.csdn.net/yanbober)?—— CSDN 博客專家
* [張興業(yè)](http://blog.csdn.net/xyz_lmn)?—— CSDN 博客專家
* [Coder-pig](http://blog.csdn.net/coder_pig)?—— CSDN 博客專家,最佳入門專欄
* [Keegan小剛](http://keeganlee.me/)?—— 分享了多篇Android樣式的文章
* [鄭海波](http://blog.csdn.net/NUPTboyZHB/)?—— CSDN博主,文章大多與自定義控件相關(guān)
* [吳小龍同學(xué)](http://wuxiaolong.me/)?—— 分享了多篇關(guān)于AndroidDesignSupportLibrary的文章
* [全速前行](http://blog.csdn.net/lincyang)?—— CSDN 博客專家,主講實(shí)戰(zhàn)技巧和平常遇到的問(wèn)題
### 4)高質(zhì)量Android社區(qū)
> * [Stackoverflow](http://stackoverflow.com/questions/tagged/android)?—— 國(guó)外著名的問(wèn)答社區(qū)
> * [V2ex](https://www.v2ex.com/go/android)?—— V2ex Android板塊
> * [Android 開發(fā)技術(shù)周報(bào)](http://www.androidweekly.cn/)?—— 長(zhǎng)期更新最新前言資訊
> * [開發(fā)技術(shù)前線](http://www.devtf.cn/)?—— 《Android源碼設(shè)計(jì)模式》作者 Mr.Simple 維護(hù)的社區(qū)網(wǎng)站
> * [泡在網(wǎng)上的日子](http://www.jcodecraeer.com/)?—— 大量第三方控件基地
> * [開源中國(guó)](http://www.oschina.net/android)?—— OsChina
> * [23code](http://www.23code.com/)?—— android經(jīng)典開源代碼分享
> * [App開發(fā)者](http://www.aswifter.com/)?—— 分享Android/IOS/Swift開發(fā)和互聯(lián)網(wǎng)內(nèi)容
> * [JavaApk.com](http://www.javaapk.com/)?—— 安卓demo聚集地,部分源碼需購(gòu)買VIP
> * [DevStore](http://www.devstore.cn/code/list/ft85-pn1-or0.html)?—— 各種Demo,以及第三方服務(wù)
### 5)官方學(xué)習(xí)網(wǎng)站/Wiki
> * [Android Developer](http://developer.android.com/)
> * [Android Developer(無(wú)需梯子)](http://androiddoc.qiniudn.com/index.html)
> * [Android Training 中文版](http://hukai.me/android-training-course-in-chinese/index.html)
> * [Material Design 中文版](http://wiki.jikexueyuan.com/project/material-design/)
> * [Android Weekly 中文版](http://wiki.jikexueyuan.com/project/android-weekly/)
> * [極客學(xué)院 Wiki](http://wiki.jikexueyuan.com/)
### 6)代碼/項(xiàng)目下載
> 嗯,大部分時(shí)間我都會(huì)選擇到Github上面找,有很多開源的第三方,下面這個(gè)務(wù)必Star:
>
> [Android 開源項(xiàng)目分類匯總](https://github.com/Trinea/android-open-project)
>
> 然后筆者也分享下以前在某寶花了50多塊買的一些代碼吧:
>
> [5000套Android源碼](http://pan.baidu.com/s/1sjQSP6d)?密碼:6we6?[3175套iOS源碼](http://pan.baidu.com/s/1mgpju0w)?密碼:53v9
>
> 上面的這套代碼很多都是重復(fù)的,而且大部分都是基于Eclipse,涵括的還是比較廣的,可以一下!
### 7)梯子工具
> 嗯,假如你不想經(jīng)常改hosts或者不想買vpn,但是想用Google的話,那么你可以使用藍(lán)燈(Lantern)~ 自己搜"Lantern"下載吧~
### 8)一些其他的碎碎念:
嗯,上面的資源大部分來(lái)自于:[Android學(xué)習(xí)資源網(wǎng)站大全](https://github.com/zhujun2730/Android-Learning-Resources),請(qǐng)務(wù)必Star!?。『罄m(xù)如果 有什么新的資源都會(huì)在上面進(jìn)行更新,也歡迎大家share自己的一些收藏,上面的內(nèi)容是小豬 群里的第一大手——基神所寫,當(dāng)然還有B神和曹神,街神等,這里非常感謝各位一直以來(lái)對(duì)我的 一些指導(dǎo)以及幫助~?
不知道你看到上面的資源是不是,收藏收藏,買買買,下下下~
我想說(shuō)的是,收藏了不去看,只是一個(gè)Url而已;下載了不去看,只是一堆數(shù)據(jù)而已; 買了書不去看,也只是一沓紙!不要讓你自己只是看起來(lái)很忙很努力的樣子, 裝比給誰(shuí)看?學(xué)到手的東西才是自己的,很喜歡這樣一句話: "**技術(shù)之路最公平也最殘酷的原因是:沒(méi)有捷徑,需要日積月累的積累,以及對(duì)技術(shù)持久的熱情。**" 還記得很久之前看的錘子科技的射角設(shè)計(jì)總監(jiān)羅子雄仔tedx上演講的: "如何成為一名優(yōu)秀的設(shè)計(jì)師"說(shuō)過(guò)的這么一段話:?**格拉德威爾在《異類》一書中指出:"人們眼中的天才,并非卓越非凡,而是付出了持續(xù)不斷的努力, 一萬(wàn)小時(shí)的錘煉是任何人從平凡變成超凡的必要條件。"一萬(wàn)小時(shí),也就是說(shuō)你每天工作8小時(shí)的時(shí)間, 每周工作5天,你需要5年。你無(wú)需天才,無(wú)需智商過(guò)人,無(wú)需三頭六臂,無(wú)需頭上長(zhǎng)角,你只需要持 續(xù)的、堅(jiān)持的努力,有正確的方法,就能夠在設(shè)計(jì)領(lǐng)域,一個(gè)專業(yè)中獨(dú)當(dāng)一面。**?盡管他講的是設(shè)計(jì),但是很多東西都是相通的,嘿嘿,無(wú)情地上了一大碗雞湯~ 總結(jié)下自學(xué),無(wú)非:?**多看書,看博客,做項(xiàng)目,看源碼,不斷的總結(jié)反思,讓自己所學(xué)的東西所學(xué)的東西結(jié)構(gòu)化!**
* * *
## 4)一些答疑
下面是一些讀者經(jīng)常問(wèn)到的問(wèn)題,下面統(tǒng)一答復(fù)下:
**1**.**我是以前學(xué)XX的或者我不是搞編程的,我想來(lái)學(xué)Android,能學(xué)好不?之類的問(wèn)題!**?答:前段時(shí)間在醫(yī)生(徐宜生)的新浪微博看到,一位65歲的大爺,到他的公司向他請(qǐng)問(wèn) Android Studio,看到這里,你覺(jué)得上面的問(wèn)題是問(wèn)題嗎?
**2**.**XXX報(bào)錯(cuò)了?怎么辦之類的問(wèn)題**?答:這種最頻繁,其實(shí)很多都可以在度娘或者谷哥上找到答案,這么多人搞Android難道就 你一個(gè)人出現(xiàn)過(guò)這樣的問(wèn)題嗎?或者到Stackoverflow上提問(wèn)等,先自己搜過(guò)思考過(guò),再去 問(wèn)別人!?。《覄e人也沒(méi)有回答你的義務(wù),別搞得好像別人不回答你的問(wèn)題就很什么, 然后就惡言相向!注意問(wèn)問(wèn)題的技巧,整理語(yǔ)言,發(fā)log,出錯(cuò)位置代碼等!
**3**.**想加小豬做好友,為什么我拒絕了?**?答:不知道你在哪看到了我的QQ,然后看了我寫的東西,就迫切的想加我為好友, 我想問(wèn),加了,然后呢?問(wèn)問(wèn)題更方便了?剛開始加我的我都會(huì)家,一般都是問(wèn)問(wèn)題, 我每次都會(huì)很耐心的解答,然后就開始依賴我了,一出問(wèn)題就找我...一個(gè)兩個(gè)沒(méi)什么, 慢慢地人越來(lái)越多,我每天的時(shí)間都基本用在回答問(wèn)題上了,結(jié)果自己一天下來(lái)什么都沒(méi)做成... 不是說(shuō)小豬高冷或者看不起初學(xué)者之類的,我也有自己的事要做,希望各位可以體諒下! 有問(wèn)題,可以到群里問(wèn),管理們都是很熱心的,當(dāng)然,前提是你的問(wèn)題別一百度就可以 找到的...別做伸手黨?。?!
**4**.**基礎(chǔ)入門教程寫完,那么什么時(shí)候開始寫進(jìn)階教程?**?答:大家對(duì)基礎(chǔ)入門教程的反饋都覺(jué)得寫的不錯(cuò),也受到了很多的好評(píng),表?yè)P(yáng),很感謝~ 至于進(jìn)階教程,在寫基礎(chǔ)入門的過(guò)程中就曾經(jīng)簡(jiǎn)單的構(gòu)思過(guò),用百度腦圖列了下大綱:

當(dāng)時(shí)想著寫完入門休息一個(gè)月,然后就開始寫進(jìn)階系列的,大概一個(gè)月一個(gè)專題這樣。 不過(guò),進(jìn)階部分可能不會(huì)繼續(xù)寫,可能你會(huì)不解,為什么不寫呢?坦白說(shuō)下自己的一些難處吧:
**首先是**:花在寫教程上的時(shí)間,一篇簡(jiǎn)單的教程至少需要花費(fèi)我2個(gè)多小時(shí)的時(shí)間,盡管內(nèi)容 比較簡(jiǎn)單,而復(fù)雜一點(diǎn)的,我可能需要花上2,3天!寫教程不同于寫筆記,要描述清晰, 寫例子,貼運(yùn)行效果等,筆記自己看懂就好,而教程你要讓別人也看懂...
**接著是**:自己的進(jìn)步緩慢,寫完這套基本教程,和寫之前的我相比,并沒(méi)有什么進(jìn)步; 依舊還是以前的水平...每次去面試來(lái)來(lái)去去都是說(shuō)那幾個(gè)破舊的項(xiàng)目,一點(diǎn)意思都沒(méi)有, 我想花點(diǎn)時(shí)間做點(diǎn)什么~想學(xué)的東西有太多太多,比如,從5月份我就開始接觸rxjava,然后 現(xiàn)在爛大街了,我還只會(huì)最簡(jiǎn)單的玩法~?**最后是**:寫教程不會(huì)給我?guī)?lái)任何的收入,上面也說(shuō)了,我是一個(gè)3K實(shí)習(xí)狗,而寫這套 教程是沒(méi)有任何收入的,而且每個(gè)月偶爾還要給幾塊錢給七牛,因?yàn)閳D都是用的七牛的 圖床,萬(wàn)惡的爬蟲網(wǎng)站,把我的文章都爬過(guò)去了,然后還不注明出處,然后拼命下我的圖... 這是10月份到11月份的下載流量!?
我不是富二代,記得之前也說(shuō)過(guò),我爸得了抑郁癥,沒(méi)工作能力的事,我媽在老家陪我爸, 也就是沒(méi)收入來(lái)源,所幸的是我爸沒(méi)事熬過(guò)來(lái)了,而且我已經(jīng)不用每年再去支付2W的學(xué)費(fèi); 盡管每月3k的工資可以維持我的生活,但是作為家里的長(zhǎng)子,總得扛起家里的大梁吧! 畢竟還有在讀大學(xué)的弟弟和妹妹,假如我能有畢業(yè)證,現(xiàn)在的情況可能好一點(diǎn)吧! 算了,過(guò)去的事就過(guò)去了,更重要的是以后!我也想每天閑著研究新東西,然后寫寫 教程啊,但是理想總是很美好的,但現(xiàn)實(shí)往往很殘酷,我也要生活。 另外說(shuō)到博客專家這個(gè)銜頭,很多朋友喜歡拿我這個(gè)來(lái)黑我,其實(shí)并沒(méi)有什么大用, 每個(gè)月原創(chuàng)超過(guò)10篇就能收到一本書而已,大部分是C幣商城里的一些舊書...
**5**.**小豬接下來(lái)的想做點(diǎn)什么?**?答:來(lái)一次說(shuō)走就走的旅行,嗨一個(gè)月,然后等過(guò)年! 好吧,我也想,可惜兜里沒(méi)錢,接下來(lái)的日子嘛,想把公司的項(xiàng)目琢磨透,修下bug,然后學(xué)一些 其他的東西,接著寫點(diǎn)小玩意玩玩,存錢買個(gè)機(jī)械鍵盤(ikbc G104),復(fù)習(xí)下高數(shù)準(zhǔn)備一月份 補(bǔ)考等等,然后過(guò)完年,可能跑深圳那邊找找機(jī)會(huì)吧~可能偶爾會(huì)更新那么一兩篇文章吧, 不過(guò)不要期望太大,進(jìn)階系列也不是說(shuō)不寫,只是暫時(shí)不會(huì)寫,等找到一份穩(wěn)定的工作,有了 一定經(jīng)濟(jì)能力,再開始寫吧~
* * *
## 致謝:
嗯,好吧,嘮嘮叨叨地終于把自己肚子里的東西都吐出來(lái)了~

按照一般的套路,肯定要說(shuō)一堆,謝謝ccav之類的吧,嗯! 謝謝w3c鳥巢的站長(zhǎng)FK對(duì)每篇文章的認(rèn)真排版,以及小豬秘密基地里的基神,B神,街神,曹神等的 技術(shù)支持,還有一直默默支持小豬的各位朋友,在這里真摯的說(shuō)一聲感謝~ 好了,就說(shuō)這么多吧,謹(jǐn)以此文紀(jì)念我將近兩年的csdn博客生涯吧~
**完結(jié)散花**~?**是終點(diǎn)也是起點(diǎn)**
to be continued... 待續(xù)
- 第一章——環(huán)境搭建和開發(fā)相關(guān)
- 1.0 Android基礎(chǔ)入門教程
- 1.1 背景相關(guān)與系統(tǒng)架構(gòu)分析
- 1.2 開發(fā)環(huán)境搭建
- 1.2.1 使用Eclipse + ADT + SDK開發(fā)Android APP
- 1.2.2 使用Android Studio開發(fā)Android APP
- 1.3 SDK更新不了問(wèn)題解決
- 1.4 Genymotion模擬器安裝
- 1.5 GIT教程
- 1.5.1 Git使用教程之本地倉(cāng)庫(kù)的基本操作
- 1.5.2 Git之使用GitHub搭建遠(yuǎn)程倉(cāng)庫(kù)
- 1.6 .9(九妹)圖片怎么玩
- 1.7 界面原型設(shè)計(jì)
- 1.8 工程相關(guān)解析(各種文件,資源訪問(wèn))
- 1.9 Android程序簽名打包
- 1.11 反編譯APK獲取代碼&資源
- 第二章——Android中的UI組件的詳解
- 2.1 View與ViewGroup的概念
- 2.2 布局
- 2.2.1 LinearLayout(線性布局)
- 2.2.2 RelativeLayout(相對(duì)布局)
- 2.2.3 TableLayout(表格布局)
- 2.2.4 FrameLayout(幀布局)
- 2.2.5 GridLayout(網(wǎng)格布局)
- 2.2.6 AbsoluteLayout(絕對(duì)布局)
- 2.3 表單
- 2.3.1 TextView(文本框)詳解
- 2.3.2 EditText(輸入框)詳解
- 2.3.3 Button(按鈕)與ImageButton(圖像按鈕)
- 2.3.4 ImageView(圖像視圖)
- 2.3.5.RadioButton(單選按鈕)&Checkbox(復(fù)選框)
- 2.3.6 開關(guān)按鈕ToggleButton和開關(guān)Switch
- 2.3.7 ProgressBar(進(jìn)度條)
- 2.3.8 SeekBar(拖動(dòng)條)
- 2.3.9 RatingBar(星級(jí)評(píng)分條)
- 2.4 控件
- 2.4.1 ScrollView(滾動(dòng)條)
- 2.4.2 Date & Time組件(上)
- 2.4.3 Date & Time組件(下)
- 2.4.4 Adapter基礎(chǔ)講解
- 2.4.5 ListView簡(jiǎn)單實(shí)用
- 2.4.6 BaseAdapter優(yōu)化
- 2.4.7ListView的焦點(diǎn)問(wèn)題
- 2.4.8 ListView之checkbox錯(cuò)位問(wèn)題解決
- 2.4.9 ListView的數(shù)據(jù)更新問(wèn)題
- 2.5 Adapter類控件
- 2.5.0 構(gòu)建一個(gè)可復(fù)用的自定義BaseAdapter
- 2.5.1 ListView Item多布局的實(shí)現(xiàn)
- 2.5.2 GridView(網(wǎng)格視圖)的基本使用
- 2.5.3 Spinner(列表選項(xiàng)框)的基本使用
- 2.5.4 AutoCompleteTextView(自動(dòng)完成文本框)的基本使用
- 2.5.5 ExpandableListView(可折疊列表)的基本使用
- 2.5.6 ViewFlipper(翻轉(zhuǎn)視圖)的基本使用
- 2.5.7 Toast(吐司)的基本使用
- 2.5.8 Notification(狀態(tài)欄通知)詳解
- 2.5.9 AlertDialog(對(duì)話框)詳解
- 2.6 對(duì)話框控件
- 2.6.0 其他幾種常用對(duì)話框基本使用
- 2.6.1 PopupWindow(懸浮框)的基本使用
- 2.6.2 菜單(Menu)
- 2.6.3 ViewPager的簡(jiǎn)單使用
- 2.6.4 DrawerLayout(官方側(cè)滑菜單)的簡(jiǎn)單使用
- 第三章——Android的事件處理機(jī)制
- 3.1.1 基于監(jiān)聽(tīng)的事件處理機(jī)制
- 3.2 基于回調(diào)的事件處理機(jī)制
- 3.3 Handler消息傳遞機(jī)制淺析
- 3.4 TouchListener PK OnTouchEvent + 多點(diǎn)觸碰
- 3.5 監(jiān)聽(tīng)EditText的內(nèi)容變化
- 3.6 響應(yīng)系統(tǒng)設(shè)置的事件(Configuration類)
- 3.7 AnsyncTask異步任務(wù)
- 3.8 Gestures(手勢(shì))
- 第四章——Android的四大組件
- 4.1.1 Activity初學(xué)乍練
- 4.1.2 Activity初窺門徑
- 4.1.3 Activity登堂入室
- 4.2.1 Service初涉
- 4.2.2 Service進(jìn)階
- 4.2.3 Service精通
- 4.3.1 BroadcastReceiver牛刀小試
- 4.3.2 BroadcastReceiver庖丁解牛
- 4.4.1 ContentProvider初探
- 4.4.2 ContentProvider再探——Document Provider
- 4.5.1 Intent的基本使用
- 4.5.2 Intent之復(fù)雜數(shù)據(jù)的傳遞
- 第五章——Fragment(碎片)
- 5.1 Fragment基本概述
- 5.2.1 Fragment實(shí)例精講——底部導(dǎo)航欄的實(shí)現(xiàn)(方法1)
- 5.2.2 Fragment實(shí)例精講——底部導(dǎo)航欄的實(shí)現(xiàn)(方法2)
- 5.2.3 Fragment實(shí)例精講——底部導(dǎo)航欄的實(shí)現(xiàn)(方法3)
- 5.2.4 Fragment實(shí)例精講——底部導(dǎo)航欄+ViewPager滑動(dòng)切換頁(yè)面
- 5.2.5 Fragment實(shí)例精講——新聞(購(gòu)物)類App列表Fragment的簡(jiǎn)單實(shí)現(xiàn)
- 第六章——Android數(shù)據(jù)存儲(chǔ)與訪問(wèn)
- 6.1 數(shù)據(jù)存儲(chǔ)與訪問(wèn)之——文件存儲(chǔ)讀寫
- 6.2 數(shù)據(jù)存儲(chǔ)與訪問(wèn)之——SharedPreferences保存用戶偏好參數(shù)
- 6.3.1 數(shù)據(jù)存儲(chǔ)與訪問(wèn)之——初見(jiàn)SQLite數(shù)據(jù)庫(kù)
- 6.3.2 數(shù)據(jù)存儲(chǔ)與訪問(wèn)之——又見(jiàn)SQLite數(shù)據(jù)庫(kù)
- 第七章——Android網(wǎng)絡(luò)編程
- 7.1.1 Android網(wǎng)絡(luò)編程要學(xué)的東西與Http協(xié)議學(xué)習(xí)
- 7.1.2 Android Http請(qǐng)求頭與響應(yīng)頭的學(xué)習(xí)
- 7.1.3 Android HTTP請(qǐng)求方式:HttpURLConnection
- 7.1.4 Android HTTP請(qǐng)求方式:HttpClient
- 7.2.1 Android XML數(shù)據(jù)解析
- 7.2.2 Android JSON數(shù)據(jù)解析
- 7.3.1 Android 文件上傳
- 7.3.2 Android 文件下載(1)
- 7.3.3 Android 文件下載(2)
- 7.4 Android 調(diào)用 WebService
- 7.5.1 WebView(網(wǎng)頁(yè)視圖)基本用法
- 7.5.2 WebView和JavaScrip交互基礎(chǔ)
- 7.5.3 Android 4.4后WebView的一些注意事項(xiàng)
- 7.5.4 WebView文件下載
- 7.5.5 WebView緩存問(wèn)題
- 7.5.6 WebView處理網(wǎng)頁(yè)返回的錯(cuò)誤碼信息
- 7.6.1 Socket學(xué)習(xí)網(wǎng)絡(luò)基礎(chǔ)準(zhǔn)備
- 7.6.2 基于TCP協(xié)議的Socket通信(1)
- 7.6.3 基于TCP協(xié)議的Socket通信(2)
- 7.6.4 基于UDP協(xié)議的Socket通信
- 第八章——Android繪圖與動(dòng)畫基礎(chǔ)
- 8.1.1 Android中的13種Drawable小結(jié) Part 1
- 8.1.2 Android中的13種Drawable小結(jié) Part 2
- 8.1.3 Android中的13種Drawable小結(jié) Part 3
- 8.2.1 Bitmap(位圖)全解析 Part 1
- 8.2.2 Bitmap引起的OOM問(wèn)題
- 8.3.1 三個(gè)繪圖工具類詳解
- 8.3.2 繪圖類實(shí)戰(zhàn)示例
- 8.3.3 Paint API之—— MaskFilter(面具)
- 8.3.4 Paint API之—— Xfermode與PorterDuff詳解(一)
- 8.3.5 Paint API之—— Xfermode與PorterDuff詳解(二)
- 8.3.6 Paint API之—— Xfermode與PorterDuff詳解(三)
- 8.3.7 Paint API之—— Xfermode與PorterDuff詳解(四)
- 8.3.8 Paint API之—— Xfermode與PorterDuff詳解(五)
- 8.3.9 Paint API之—— ColorFilter(顏色過(guò)濾器)(1/3)
- 8.3.10 Paint API之—— ColorFilter(顏色過(guò)濾器)(2-3)
- 8.3.11 Paint API之—— ColorFilter(顏色過(guò)濾器)(3-3)
- 8.3.12 Paint API之—— PathEffect(路徑效果)
- 8.3.13 Paint API之—— Shader(圖像渲染)
- 8.3.14 Paint幾個(gè)枚舉/常量值以及ShadowLayer陰影效果
- 8.3.15 Paint API之——Typeface(字型)
- 8.3.16 Canvas API詳解(Part 1)
- 8.3.17 Canvas API詳解(Part 2)剪切方法合集
- 8.3.18 Canvas API詳解(Part 3)Matrix和drawBitmapMash
- 8.4.1 Android動(dòng)畫合集之幀動(dòng)畫
- 8.4.2 Android動(dòng)畫合集之補(bǔ)間動(dòng)畫
- 8.4.3 Android動(dòng)畫合集之屬性動(dòng)畫-初見(jiàn)
- 8.4.4 Android動(dòng)畫合集之屬性動(dòng)畫-又見(jiàn)
- 第九章——Android中的多媒體開發(fā)
- 9.1 使用SoundPool播放音效(Duang~)
- 9.2 MediaPlayer播放音頻與視頻
- 9.3 使用Camera拍照
- 9.4 使用MediaRecord錄音
- 第十章——系統(tǒng)服務(wù)
- 10.1 TelephonyManager(電話管理器)
- 10.2 SmsManager(短信管理器)
- 10.3 AudioManager(音頻管理器)
- 10.4 Vibrator(振動(dòng)器)
- 10.5 AlarmManager(鬧鐘服務(wù))
- 10.6 PowerManager(電源服務(wù))
- 10.7 WindowManager(窗口管理服務(wù))
- 10.8 LayoutInflater(布局服務(wù))
- 10.9 WallpaperManager(壁紙管理器)
- 10.10 傳感器專題(1)——相關(guān)介紹
- 10.11 傳感器專題(2)——方向傳感器
- 10.12 傳感器專題(3)——加速度/陀螺儀傳感器
- 10.12 傳感器專題(4)——其他傳感器了解
- 10.14 Android GPS初涉
- 第十一章——由來(lái)、答疑和資源
- 11.0《2015最新Android基礎(chǔ)入門教程》完結(jié)散花~
