說(shuō)的是剛剛起步學(xué)習(xí)的同學(xué),假如開(kāi)始沒(méi)有任何的開(kāi)發(fā)經(jīng)驗(yàn)的話(huà),千萬(wàn)不要著急,不要想著在短時(shí)間內(nèi)就把一個(gè)語(yǔ)言學(xué)習(xí)好,因?yàn)槟阒皼](méi)有任何的學(xué)習(xí)經(jīng)驗(yàn),在這個(gè)過(guò)程中需要有耐心地學(xué)習(xí)完JAVA的基礎(chǔ)知識(shí),然后才開(kāi)始踏上Android開(kāi)發(fā)之旅。一類(lèi)同學(xué)是只之前做過(guò)JAVA開(kāi)發(fā)經(jīng)驗(yàn)的,這類(lèi)同學(xué)可以在Android上迅速上手,但是同樣的是不可忽略Android的一些基礎(chǔ)知識(shí),只有把基礎(chǔ)掌握好了,才能在后期取得大的進(jìn)步。 二、Android基礎(chǔ)知識(shí)學(xué)習(xí) 在掌握好JAVA基礎(chǔ)知識(shí)后,接下來(lái)就是學(xué)習(xí)Android基礎(chǔ)知識(shí)和如何查看開(kāi)發(fā)文檔了,在這個(gè)階段我認(rèn)為是學(xué)習(xí)最有勁頭和最有收獲的時(shí)候,因?yàn)閺囊粺o(wú)所知到了解是會(huì)讓人有收獲良多的感覺(jué),事實(shí)上在這一階段也是學(xué)習(xí)了很多,至少知道如何建立工程,知道一些基本的機(jī)制很常用函數(shù)的用法,這個(gè)階段會(huì)出現(xiàn)很多的問(wèn)題,往往一個(gè)很低級(jí)的問(wèn)題都會(huì)把你難倒,而這階段正式培養(yǎng)學(xué)習(xí)能力的好時(shí)機(jī),還是那句話(huà),凡是遇到問(wèn)題第一個(gè)想的是自己去解決,自己解決不了的,用百度用谷歌,要學(xué)會(huì)使用搜索引擎,大部分的時(shí)候問(wèn)題都能得到解決,因?yàn)槟阌龅竭^(guò)的問(wèn)題別人早就遇到過(guò)了,假如搜索引擎也找不到好的答案,這時(shí)候可以到論壇發(fā)帖問(wèn),網(wǎng)上牛人很多,也可以選擇到群里咨詢(xún)。 三、Android開(kāi)發(fā)進(jìn)階 學(xué)習(xí)完Android基礎(chǔ)知識(shí)以后,很多同學(xué)很快就會(huì)感覺(jué)到學(xué)習(xí)停步不前,感覺(jué)自己似懂非懂,我覺(jué)得這個(gè)時(shí)候是學(xué)習(xí)最關(guān)鍵的時(shí)候,因?yàn)橐坏┠闾こ鲞@一步之后,你對(duì)Android的理解就會(huì)跟更加透徹,做起開(kāi)發(fā)也會(huì)更加有信心,但是怎樣跨過(guò)這一階段,我根據(jù)自己的經(jīng)驗(yàn)是首先是保持對(duì)自己的信心,自己找一個(gè)比較簡(jiǎn)單的項(xiàng)目做做或者找一些應(yīng)用的源代碼研究研究,然后自己山寨出來(lái)一個(gè),這樣你也會(huì)有了學(xué)習(xí)的方向,因?yàn)槟阍诹私饬嘶A(chǔ)知識(shí)以后急切需要證明一下自己到底是學(xué)到了什么東西,而開(kāi)發(fā)出一個(gè)自己的簡(jiǎn)單應(yīng)用,就是最大的證明了,而且在開(kāi)發(fā)應(yīng)用的時(shí)候,肯定會(huì)遇到很多的問(wèn)題,而在獨(dú)立解決bug的同時(shí),你已經(jīng)掌握了獨(dú)立處理問(wèn)題的能力。
目前成都創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、吳江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
希望能解決您的問(wèn)題。
小明首先需要購(gòu)買(mǎi)一本Android入門(mén)的書(shū)籍,為了更快地學(xué)習(xí)Android,小明業(yè)余時(shí)間也都用來(lái)一邊看書(shū)一邊照著書(shū)中的例子敲代碼,結(jié)果2周時(shí)間小明就把這本書(shū)學(xué)了一遍??赐赀@本書(shū)后,小明對(duì)Android的歷史、結(jié)構(gòu)、代碼規(guī)范等都有了一個(gè)大概的了解,并且,小明已經(jīng)可以寫(xiě)出一些簡(jiǎn)單的Activity了。這個(gè)時(shí)候在小明眼里,Android開(kāi)發(fā)很簡(jiǎn)單很好玩,通過(guò)在xml中擺放一些按鈕文本框什么的就可以做一些界面了。
小明開(kāi)始跟著他的技術(shù)導(dǎo)師做需求,一些簡(jiǎn)單的小需求小明自然是不在話(huà)下了。突然有一天來(lái)了一個(gè)需求,該需求要求小明在Activity中為一個(gè)button加一個(gè)動(dòng)畫(huà)效果,小明慌了:“完全沒(méi)接觸過(guò),書(shū)上也沒(méi)有講,怎么辦呢?”小明冷靜了下,打開(kāi)了百度搜索,輸入“Android 動(dòng)畫(huà)”,打開(kāi)前幾個(gè)鏈接,小明恍然大悟,照著網(wǎng)上的例子把需求給實(shí)現(xiàn)了。后來(lái)導(dǎo)師告訴他:“學(xué)好Android,官方文檔是必須看的,既全面又權(quán)威”。然后小明如獲至寶,花了一年時(shí)間把上面的guide和training都看了一遍,并且他還動(dòng)手抄了幾個(gè)小例子。
有一天,小明又需要做一個(gè)動(dòng)畫(huà)相關(guān)的需求,這可難不倒小明,它熟練地打開(kāi)了,輸入“Android 動(dòng)畫(huà)”,突然他楞了一下:”總不能每次寫(xiě)動(dòng)畫(huà)都要百度一下吧!“,于是他在CSDN開(kāi)了一個(gè)博客,把動(dòng)畫(huà)相關(guān)的知識(shí)點(diǎn)都寫(xiě)上去,為的是后面再寫(xiě)動(dòng)畫(huà)相關(guān)的代碼就不用百度去搜了,事實(shí)如何呢?后面再寫(xiě)動(dòng)畫(huà)相關(guān)的代碼,小明的確不用再去百度搜了,因?yàn)橥ㄟ^(guò)寫(xiě)一篇?jiǎng)赢?huà)博客,他把動(dòng)畫(huà)相關(guān)的細(xì)節(jié)都已經(jīng)記住了,這樣他就可以不用再去參考任何文檔了,后來(lái)小明還學(xué)會(huì)了把一些瑣碎的不方便放在博客上的東西寫(xiě)到了印象筆記上面,什么時(shí)候忘了10秒鐘以?xún)?nèi)都可以快速找回來(lái),而不是花10分鐘去再次搜索一遍。
這里總結(jié)一下,Android入門(mén)的時(shí)候,需要有一本入門(mén)書(shū),好好學(xué)習(xí)書(shū)中的內(nèi)容,同時(shí)花一年時(shí)間把Android官方文檔中的training和guide看一遍,同時(shí)通過(guò)寫(xiě)博客和記筆記的方式來(lái)做總結(jié),建議讓自己的每篇博客都有價(jià)值些。通過(guò)一年時(shí)間的學(xué)習(xí),相信每個(gè)人都可以達(dá)到中級(jí)工程師的水平。
技術(shù)要求:
- 基本知識(shí)點(diǎn)
比如四大組件如何使用、如何創(chuàng)建Service、如何進(jìn)行布局、簡(jiǎn)單的自定義View、動(dòng)畫(huà)等常見(jiàn)技術(shù)
- 書(shū)籍推薦
《第一行代碼 Android》、《瘋狂Android》
中級(jí)工程師
小明經(jīng)過(guò)一年的努力學(xué)習(xí)終于成為Android中級(jí)工程師了,月薪變成了17k。到了中級(jí)工程師,已經(jīng)可以在公司里干很多體力活了,但是一些很重要的任務(wù)小明還不能一個(gè)人承擔(dān)起來(lái),這個(gè)時(shí)候小明需要學(xué)習(xí)的內(nèi)容就很多了,如下所示:
- AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的區(qū)別;
- Binder:從Java層大概理解Binder的工作原理,懂Parcel對(duì)象的使用;
- 多進(jìn)程:熟練掌握多進(jìn)程的運(yùn)行機(jī)制,懂Messenger、Socket等;
- 事件分發(fā):彈性滑動(dòng)、滑動(dòng)沖突等;
- 玩轉(zhuǎn)View:View的繪制原理、各種自定義View;
- 動(dòng)畫(huà)系列:熟悉View動(dòng)畫(huà)和屬性動(dòng)畫(huà)的不同點(diǎn),懂屬性動(dòng)畫(huà)的工作原理;
- 懂性能優(yōu)化、熟悉mat等工具
- 懂點(diǎn)常見(jiàn)的設(shè)計(jì)模式
學(xué)習(xí)方法
閱讀進(jìn)階書(shū)籍,閱讀Android源碼,閱讀官方文檔并嘗試自己寫(xiě)相關(guān)的技術(shù)文章,需要有一定技術(shù)深度和自我思考。在這個(gè)階段的學(xué)習(xí)過(guò)程中,有2個(gè)點(diǎn)是比較困擾大家的,一個(gè)是閱讀源碼,另一個(gè)是自定義View以及滑動(dòng)沖突。
如何閱讀源碼呢?這是個(gè)頭疼的問(wèn)題,但是源碼必須要讀。閱讀源碼的時(shí)候不要深入代碼細(xì)節(jié)不可自拔,要關(guān)注代碼的流程并盡量挖掘出對(duì)應(yīng)用層開(kāi)發(fā)有用的結(jié)論。另外仔細(xì)閱讀源碼中對(duì)一個(gè)類(lèi)或者方法的注釋?zhuān)诳床欢创a時(shí),源碼中的注釋可以幫你更好地了解源碼中的工作原理,這個(gè)過(guò)程雖然艱苦,但是別無(wú)他法。
如何玩轉(zhuǎn)自定義View呢?我的建議是不要通過(guò)學(xué)習(xí)自定義view而學(xué)習(xí)自定義view。為什么這么說(shuō)呢?因?yàn)樽远xview的種類(lèi)太多了,各式各樣的絢麗的自定義效果,如何學(xué)的玩呢!我們要透過(guò)現(xiàn)象看本質(zhì),更多地去關(guān)注自定義view所需的知識(shí)點(diǎn),這里做如下總結(jié):
- 搞懂view的滑動(dòng)原理
- 搞懂如何實(shí)現(xiàn)彈性滑動(dòng)
- 搞懂view的滑動(dòng)沖突
- 搞懂view的measure、layout和draw
- 然后再學(xué)習(xí)幾個(gè)已有的自定義view的例子
- 最后就可以搞定自定義view了,所謂萬(wàn)變不離其宗
大概再需要1-2年時(shí)間,即可達(dá)到高級(jí)工程師的技術(shù)水平。我個(gè)人認(rèn)為通過(guò)《Android開(kāi)發(fā)藝術(shù)探索》和《Android群英傳》可以縮短這個(gè)過(guò)程為0.5-1年。注意,達(dá)到高級(jí)工程師的技術(shù)水平不代表就可以立刻成為高級(jí)工程師(受機(jī)遇、是否跳槽的影響),但是技術(shù)達(dá)到了,成為高級(jí)工程師只是很簡(jiǎn)單的事。
技術(shù)要求:
- 稍微深入的知識(shí)點(diǎn)
AIDL、Messenger、Binder、多進(jìn)程、動(dòng)畫(huà)、滑動(dòng)沖突、自定義View、消息隊(duì)列等
- 書(shū)籍推薦
《Android開(kāi)發(fā)藝術(shù)探索》、《Android群英傳》
高級(jí)工程師
小明成為了夢(mèng)寐以求的高級(jí)工程師,月薪達(dá)到了20k,還拿到了一丟丟股票。這個(gè)時(shí)候小明的Android水平已經(jīng)不錯(cuò)了,但是小明的目標(biāo)是資深工程師,小明聽(tīng)說(shuō)資深工程師月薪可以達(dá)到30k+。
為了成為Android資深工程師,需要學(xué)習(xí)的東西就更多了,并且有些并不是那么具體了,如下所示:
- 繼續(xù)加深理解”稍微深入的知識(shí)點(diǎn)“中所定義的內(nèi)容
- 了解系統(tǒng)核心機(jī)制:
1. 了解SystemServer的啟動(dòng)過(guò)程
2. 了解主線(xiàn)程的消息循環(huán)模型
3. 了解AMS和PMS的工作原理
4. 能夠回答問(wèn)題”一個(gè)應(yīng)用存在多少個(gè)Window?“
5. 了解四大組件的大概工作流程
6. …
- 基本知識(shí)點(diǎn)的細(xì)節(jié)
1. Activity的啟動(dòng)模式以及異常情況下不同Activity的表現(xiàn)
2. Service的onBind和onReBind的關(guān)聯(lián)
3. onServiceDisconnected(ComponentName className)和binderDied()的區(qū)別
4. AsyncTask在不同版本上的表現(xiàn)細(xì)節(jié)
5. 線(xiàn)程池的細(xì)節(jié)和參數(shù)配置
6. …
- 熟悉設(shè)計(jì)模式,有架構(gòu)意識(shí)
學(xué)習(xí)方法
這個(gè)時(shí)候已經(jīng)沒(méi)有太具體的學(xué)習(xí)方法了,無(wú)非就是看書(shū)、看源碼和做項(xiàng)目,平時(shí)多種總結(jié),盡量將知識(shí)融會(huì)貫通從而形成一種體系化的感覺(jué)。同時(shí)這個(gè)階段對(duì)架構(gòu)是有一定要求的,架構(gòu)是抽象的,但是設(shè)計(jì)模式是具體的,所以一定要加強(qiáng)下設(shè)計(jì)模式的學(xué)習(xí)。關(guān)于設(shè)計(jì)模式的學(xué)習(xí),最近一本新書(shū)推薦給大家《Android 源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)》,既可以學(xué)習(xí)設(shè)計(jì)模式,又可能體會(huì)到Android源碼中的設(shè)計(jì)思想,我最近也在閱讀此書(shū)。
技術(shù)要求:
- 稍微深入的知識(shí)點(diǎn)
- 系統(tǒng)核心機(jī)制
- 基本知識(shí)點(diǎn)的細(xì)節(jié)
- 設(shè)計(jì)模式和架構(gòu)
- 書(shū)籍推薦
《Android開(kāi)發(fā)藝術(shù)探索》、《Android 源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)》、《Android內(nèi)核剖析》
資深工程師
這個(gè)階段的程序員也許并沒(méi)有太具體的學(xué)習(xí)路線(xiàn)了。
1.Java 基礎(chǔ);2.搭建Android 開(kāi)發(fā)環(huán)境3.了解Android 運(yùn)行原理以及一個(gè)工程項(xiàng)目結(jié)構(gòu)4.如何系統(tǒng)學(xué)習(xí)Android5.推薦一些實(shí)用的資源6.總結(jié)(注:一直沒(méi)有時(shí)間整理一些鏈接文件,看到大家對(duì)這篇文章這么感興趣,我重新整理我文章里面的鏈接,朋友們可以點(diǎn)擊進(jìn)去看一看,都是我精心整理的一些資料,希望對(duì)你們有所幫助。文章僅是個(gè)人意見(jiàn),不喜勿噴,如果有更好意見(jiàn)和簡(jiǎn)介,歡迎交流?。ň瞎?!
java語(yǔ)言基礎(chǔ)
首先肯定需要的就是java語(yǔ)言了,雖然有一些別的語(yǔ)言也可以開(kāi)發(fā)android,但是都是小眾。因?yàn)锳ndroid SDK 是基于Java 開(kāi)發(fā)的,使用的語(yǔ)言是Java,如果有了Java 基礎(chǔ),學(xué)Android 就會(huì)事半功倍;比如在Android 中要使用到的接口,抽象類(lèi),類(lèi)型轉(zhuǎn)換,繼承,覆蓋,匿名內(nèi)部類(lèi),多線(xiàn)程,這些都是Java 語(yǔ)言的,如果以前沒(méi)有基礎(chǔ)過(guò),學(xué)Android 會(huì)很郁悶的;當(dāng)然如果你有C++ 基礎(chǔ),當(dāng)然也可以基于NDK 開(kāi)發(fā),可以不使用Java;
最近冒出來(lái)的kotlin是google官方支持的開(kāi)發(fā)語(yǔ)言,但是靠真正流行還需要很長(zhǎng)時(shí)間,個(gè)人推薦還是以java為主,但是kotlin盡量也要學(xué)習(xí)一下,多學(xué)一門(mén)語(yǔ)言怎么也是有好處的
對(duì)于沒(méi)有java基礎(chǔ)的同學(xué)我推薦一些資源:
Mars 的Java4Android視頻資源,可以在51cto中找到,很好的視頻資源,適合初學(xué)者學(xué)習(xí),我當(dāng)初就是從這里開(kāi)始了程序員這條不歸路。
《Java從入門(mén)到精通(第3版)》從初學(xué)者角度出發(fā),通過(guò)通俗易懂的語(yǔ)言、豐富多彩的實(shí)例,詳細(xì)介紹了使用Java語(yǔ)言進(jìn)行程序開(kāi)發(fā)需要掌握的知識(shí)。
如果需要更多書(shū)籍資源文件的朋友請(qǐng)點(diǎn)擊安卓書(shū)籍--從入門(mén)到精通
搭建Android開(kāi)發(fā)環(huán)境
現(xiàn)在大部分開(kāi)發(fā)人員都用的是Android Studio,從2014年底到現(xiàn)在,經(jīng)過(guò)了三年時(shí)間的完善,AS已經(jīng)成為了大部分Android程序員的開(kāi)發(fā)神器,(筆者剛開(kāi)始做Android 就用的AS,沒(méi)體會(huì)到什么,但是我發(fā)現(xiàn)用過(guò)AS的人都會(huì)深深的迷上它,而去放棄Eclipse了)
在這里面就不多說(shuō)了大家可以去看看我對(duì)Studio的介紹:
Android Studio詳解 AndroidStudio 提高開(kāi)發(fā)效率的插件
了解Android 運(yùn)行原理,一個(gè)工程的項(xiàng)目結(jié)構(gòu)
有兩種流行的結(jié)構(gòu):老的Ant Eclipse ADT 工程結(jié)構(gòu),和新的Gradle Android Studio 工程結(jié)構(gòu), 你應(yīng)該選擇新的工程結(jié)構(gòu),如果你的工程還在使用老的結(jié)構(gòu),考慮放棄吧,將工程移植到新的結(jié)構(gòu)。這里我們對(duì)兩個(gè)項(xiàng)目結(jié)構(gòu)做一下對(duì)比
老的結(jié)構(gòu):
old-structure
├─ assets
├─ libs
├─ res
├─ src
│ └─ com/futurice/project
├─ AndroidManifest.xml
├─ build.gradle
├─ project.properties
└─ proguard-rules.pro
新的結(jié)構(gòu)
new-structure
├─ library-foobar
├─ app
│ ├─ libs
│ ├─ src
│ │ ├─ androidTest
│ │ │ └─ java
│ │ │ └─ com/futurice/project
│ │ └─ main
│ │ ├─ java
│ │ │ └─ com/futurice/project
│ │ ├─ res
│ │ └─ AndroidManifest.xml
│ ├─ build.gradle
│ └─ proguard-rules.pro
├─ build.gradle
└─ settings.gradle
主要的區(qū)別在于,新的結(jié)構(gòu)明確的分開(kāi)了'source sets' (main,androidTest),這是Gradle的一個(gè)理念。 通過(guò)這個(gè)你可以做到,例如,添加源組‘paid’和‘free’在src中,讓你的應(yīng)用程序具有付費(fèi)和免費(fèi)的兩種模式的源代碼。
你的項(xiàng)目引用第三方項(xiàng)目庫(kù)時(shí)(例如,library-foobar),擁有一個(gè)頂級(jí)包名app從第三方庫(kù)項(xiàng)目區(qū)分你的應(yīng)用程序是非常有用的。 然后settings.gradle不斷引用這些庫(kù)項(xiàng)目,其中app/build.gradle可以引用。
如果需要更加詳細(xì)的介紹請(qǐng)點(diǎn)擊下方鏈接
介紹內(nèi)容有 Android 開(kāi)發(fā)規(guī)范, 架構(gòu), 布局技巧, 以及使用一些有助于快速開(kāi)發(fā)相關(guān)工具等等
如何系統(tǒng)學(xué)習(xí)Android
因?yàn)橐榻B的東西太多了,這里給大家推薦一張安卓知識(shí)體系的圖片,最近看到別人整理的一份也挺好的,對(duì)我收益很大,如果需要請(qǐng)點(diǎn)擊一個(gè)老鳥(niǎo)發(fā)的公司內(nèi)部整理的 Android 學(xué)習(xí)路線(xiàn)圖
推薦一些實(shí)用的資源
推薦大家一個(gè)網(wǎng)站“極客導(dǎo)航——程序員自己的導(dǎo)航”,里面介紹了常用網(wǎng)站,工具大全,經(jīng)典博客,進(jìn)階之路,源碼下載,跳槽指南,精品網(wǎng)站,邊角作用的一些常用網(wǎng)站,一些Android大牛的博客都在里面,我經(jīng)常會(huì)看。
總結(jié)
1. 如果你是非科班畢業(yè)想要轉(zhuǎn)行編程,看了我的經(jīng)歷你一定很有信心與動(dòng)力,我能,你一樣能,何況我中間走了這么多彎路; 2. 如果你接觸過(guò)一些數(shù)據(jù)結(jié)構(gòu)、編程語(yǔ)言之類(lèi)的,想要學(xué)習(xí)編程,你更應(yīng)該有信心,你比那些非科班的人已經(jīng)多了一些基礎(chǔ),你要做的只是堅(jiān)定信念,堅(jiān)持走下去; 3. 不要感慨上天的不公平,我一路走來(lái)很悲催,走了太多的彎路,遇到了太多的困難,都是我這輩子難以忘記的,但同時(shí)我是幸運(yùn)的,因?yàn)槲矣兴?,我感謝我女朋友無(wú)數(shù)個(gè)日夜的理解與支持,上帝在給你制造坎坷的時(shí)候總會(huì)對(duì)你有些眷顧; 4. 如果你準(zhǔn)備或已經(jīng)在做開(kāi)發(fā)的人員,沒(méi)有信心或動(dòng)力,又或是對(duì)未來(lái)迷茫的時(shí)候,姑且當(dāng)做一篇?jiǎng)?lì)志小說(shuō)來(lái)看,你要做的就是做好你當(dāng)下在做的事,相信你的付出一定能有所收獲;
建議
寫(xiě)到這里想要給點(diǎn)建議,那就以一個(gè)反例的身份給出事后的一些建議吧:
1.每天花1小時(shí)看書(shū),難的不是1小時(shí),難的在堅(jiān)持; 2.英語(yǔ)對(duì)編程來(lái)說(shuō)很重要,試著習(xí)慣英語(yǔ)閱讀;(扇貝系列的軟件) 3.數(shù)據(jù)結(jié)構(gòu)和算法要學(xué)好,這算是對(duì)編程來(lái)說(shuō)最重要的課了,以后不見(jiàn)得能用得上,但用的時(shí)候起碼你有印象; 4.善于利用搜索引擎,從用Google做起,學(xué)會(huì)英文關(guān)鍵字搜索,有問(wèn)題第一時(shí)間想到去搜索而不是去請(qǐng)教別人; 5.多去混GitHub,目前最流行的開(kāi)源社區(qū),多參與開(kāi)源項(xiàng)目,慢慢試著讀牛人們的代碼,時(shí)機(jī)到的時(shí)候自己也可以為6.開(kāi)源社區(qū)貢獻(xiàn)力量,可以這樣說(shuō)在GitHub上認(rèn)真混一年,比你在大學(xué)四年學(xué)的東西要多的多; 7.第一份工作很重要,因?yàn)槟銜?huì)受一些周?chē)?、公司氛圍的影響?8.最后一條是盡快找一個(gè)女朋友,因?yàn)槟愕墓ぷ魇鼓憬佑|到的女性會(huì)越來(lái)越少。
大家都有了以上相同的教程,但是人和人之間的區(qū)別在于:別人有顆更強(qiáng)大的內(nèi)心,可怕的是比你聰明的人比你還要更努力??!
當(dāng)你下定決心,準(zhǔn)備前行的時(shí)候,剩下的只有堅(jiān)持了。。。
最新Java教程全套
第1階段 :Java基礎(chǔ)
1.認(rèn)知基礎(chǔ)課程2. java入門(mén)階段3. 面向?qū)ο缶幊?. 飛機(jī)小項(xiàng)目5. 面向?qū)ο蠛蛿?shù)組6. 常用類(lèi)7. 異常機(jī)制8. 容器和數(shù)據(jù)結(jié)構(gòu)9. IO流技術(shù)10. 多線(xiàn)程11. 網(wǎng)絡(luò)編程12. 手寫(xiě)服務(wù)器13. 注解和反射14. GOF23種設(shè)計(jì)模式15. 正則表達(dá)式16. JDBC數(shù)據(jù)庫(kù)操作17. 手寫(xiě)SORM框架18. JAVA10新特性19.數(shù)據(jù)結(jié)構(gòu)和算法20. JVM虛擬機(jī)講解21. XML技術(shù)解析
第2階段:數(shù)據(jù)庫(kù)開(kāi)發(fā)全套課程
1.Oracle和SQL語(yǔ)言2.Mysql快速使用3.PowerDesigner使用4.JDBC數(shù)據(jù)庫(kù)5.Mysql優(yōu)化6.oracle深度講解
第3階段:網(wǎng)頁(yè)開(kāi)發(fā)和設(shè)計(jì)
1.HTML基礎(chǔ)2.CSS基礎(chǔ)3.JavaScript編程4.jQuery5.easyUI
第4階段:Servlet和JSP實(shí)戰(zhàn)深入課程
1.Servlet入門(mén)和Tomcat2.request和response對(duì)象3.轉(zhuǎn)發(fā)和重定向_Cookie4.session_Context對(duì)象5.JSP6.用戶(hù)管理系統(tǒng)7.Ajax技術(shù)8.EL和JSTL標(biāo)簽庫(kù)9.過(guò)濾器10.監(jiān)聽(tīng)器
第5階段:高級(jí)框架階段
1.Mybatis2.Spring3.Spring MVC4.SSM框架整合5.RBAC權(quán)限控制項(xiàng)目6.Hibernate37.Hibernate48.jFinal9.Shiro安全框架10.Solr搜索框架11.Struts212.Nginx服務(wù)器13.Redis緩存技術(shù)14.JVM虛擬機(jī)優(yōu)化15.Zookeeper
第6階段:微服務(wù)架構(gòu)階段
1.Spring Boot2.Spring Data3.Spring Cloud
第7階段:互聯(lián)網(wǎng)架構(gòu)階段
1.Linux系統(tǒng)2.Maven技術(shù)3.Git4.SVN5.高并發(fā)編程6.系統(tǒng)和虛擬機(jī)調(diào)優(yōu)7.JAVA編程規(guī)范8.高級(jí)網(wǎng)絡(luò)編程9.Netty框架10.ActiveMQ消息中間件11.單點(diǎn)登錄SSO12.數(shù)據(jù)庫(kù)和SQL優(yōu)化13.數(shù)據(jù)庫(kù)集群和高并發(fā)14.Dubbo15.Redis16.VSFTPD+NGINX
第8階段:分布式億級(jí)高并發(fā)電商項(xiàng)目
1.基于SOA架構(gòu)介紹2.VSFTPD和Nginx和商品新增3.商品規(guī)格參數(shù)管理4.Jsonp5.CMS模塊6.廣告位數(shù)據(jù)緩存7.SolrJ和SolrCloud8.商品搜索9.商品詳情10.單點(diǎn)登錄11.購(gòu)物車(chē)12.訂單系統(tǒng)13.分庫(kù)和分表14.分布式部署
第9階段:畢設(shè)項(xiàng)目第1季
1. 電子政務(wù)網(wǎng)2. 企業(yè)合同管理系統(tǒng)3. 健康管理系統(tǒng)4. 商品供應(yīng)管理系統(tǒng)5. 土地檔案管理系統(tǒng)6. 聊天室設(shè)計(jì)和實(shí)現(xiàn)7. 碼頭配套和貨柜管理系統(tǒng)8. 百貨中心供應(yīng)鏈系統(tǒng)9. 病歷管理系統(tǒng)10. 超市積分管理系統(tǒng)11. 動(dòng)漫論壇12. 俄羅斯方塊13. 個(gè)人博客系統(tǒng)14. 固定資產(chǎn)管理系統(tǒng)15. 影視創(chuàng)作論壇16. 屏幕截圖工具17. 超級(jí)瑪麗游戲18. 飛機(jī)大戰(zhàn)游戲19. 雷電
第10階段:畢設(shè)項(xiàng)目第2季
1. 微博系統(tǒng)2. 寫(xiě)字板3. 坦克大戰(zhàn)4. 推箱子5. 電腦彩票系統(tǒng)6. 記賬管理系統(tǒng)7. 新聞發(fā)布系統(tǒng)8. 醫(yī)院掛號(hào)系統(tǒng)9. 倉(cāng)庫(kù)管理系統(tǒng)10. 停車(chē)場(chǎng)管理系統(tǒng)11. 網(wǎng)絡(luò)爬蟲(chóng)12. 酒店管理系統(tǒng)13. 企業(yè)財(cái)務(wù)管理系統(tǒng)14. 車(chē)輛管理系統(tǒng)15. 員工信息管理系統(tǒng)16. 旅游網(wǎng)站17. 搜索引擎18. 進(jìn)銷(xiāo)存管理系統(tǒng)19. 在線(xiàn)考試系統(tǒng)20. 物流信息網(wǎng)21. 住院管理系統(tǒng)22. 銀行柜員業(yè)務(wù)績(jī)效系統(tǒng)
JAVA的培訓(xùn)所花時(shí)間大概為一個(gè)學(xué)期也就是4個(gè)月(視能力而定),Android因?yàn)槭怯蒵ava語(yǔ)言進(jìn)行開(kāi)發(fā)的,學(xué)習(xí)了JAVA之后,學(xué)習(xí)Android的時(shí)間成本就低一些,假設(shè)你只是做一個(gè)后臺(tái)Android來(lái)說(shuō)的話(huà)2個(gè)月足夠了。
學(xué)習(xí)路線(xiàn)大概是這樣的,根據(jù)現(xiàn)實(shí)情況可以進(jìn)行刪減:
A。Java基礎(chǔ)
a) Java基礎(chǔ)語(yǔ)法:具體的知識(shí)點(diǎn)列表可以在這里下載:《Java知識(shí)點(diǎn)列表》V1.0。這部分內(nèi)容沒(méi)有討價(jià)還價(jià)的余地,必須爛熟于胸。至于具體的學(xué)習(xí)方法,可以看書(shū)或者是看視頻,但是關(guān)鍵是要多加練習(xí),無(wú)論是書(shū)上的練習(xí)還是視頻里面的練習(xí),都需要仔仔細(xì)細(xì)的完成;
b)設(shè)計(jì)模式:由于在Android系統(tǒng)的框架層當(dāng)中,使用了大量的設(shè)計(jì)模式,如果沒(méi)有這個(gè)方面的知識(shí),對(duì)于Android的理解就會(huì)大打折扣。設(shè)計(jì)模式的種類(lèi)非常之多,一個(gè)一個(gè)的全部掌握,是不現(xiàn)實(shí)的,必須首先掌握面向?qū)ο蟮幕A(chǔ)設(shè)計(jì)原則,有了這些基礎(chǔ)原則的支持,就可以舉一反三。這部分內(nèi)容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書(shū)中找到。
2.Linux基礎(chǔ)知識(shí)
3.數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)
4.網(wǎng)絡(luò)協(xié)議
5.Android基礎(chǔ)知識(shí)
6.服務(wù)器端開(kāi)發(fā)知識(shí)
a)Java EE:就是上面郵件當(dāng)中所提到的SSH—Struts+Spring+Hibernate。這種技術(shù)的優(yōu)點(diǎn)的功能完整、強(qiáng)大,已經(jīng)使用了很多年,而且既然大家已經(jīng)非常熟悉Java了,那么學(xué)習(xí)SSH看起來(lái)也順理成章。但是使用這種技術(shù)開(kāi)發(fā)服務(wù)器端程序,非常麻煩。即使是一些簡(jiǎn)單的功能,也可能需要大量的代碼和配置文件來(lái)實(shí)現(xiàn);(缺點(diǎn))
b)PHP:簡(jiǎn)單易學(xué),開(kāi)發(fā)快速。但是我們需要多學(xué)一種語(yǔ)言,是否得不償失,就要大家自己判斷了;
c).NET:這項(xiàng)技術(shù)的特點(diǎn)和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個(gè)麻煩的事情;
上面的路線(xiàn),你可以根據(jù)自己的情況進(jìn)行刪減,對(duì)于java部分內(nèi)容的學(xué)習(xí),跟新手一點(diǎn)建議,可以參考李剛系列的瘋狂JAVA系列,講的特別通俗易懂,按照上面的路,記住一定要上機(jī)操作,如果沒(méi)有幾個(gè)實(shí)際項(xiàng)目的歷練,是無(wú)法適應(yīng)公司的需求。
學(xué)習(xí)android注意事項(xiàng):
1,android技術(shù)準(zhǔn)備實(shí)訓(xùn)目標(biāo):通過(guò)這部分的學(xué)習(xí),學(xué)員能夠達(dá)到學(xué)習(xí)android開(kāi)發(fā)課程的基本要求。熟練使用Java語(yǔ)言,實(shí)現(xiàn)GUI桌面應(yīng)用程序的開(kāi)發(fā)JDK的安裝和配置開(kāi)發(fā)工具Eclipse3.4安裝。實(shí)訓(xùn)知識(shí)點(diǎn): Java標(biāo)識(shí)符、數(shù)據(jù)類(lèi)型流程控制、面向?qū)ο缶幊獭⒗^承、抽象類(lèi)、接口、包、異常、IO流、Swing、游戲算法介紹
,2,android入門(mén)實(shí)訓(xùn)目標(biāo):通過(guò)這部分的學(xué)習(xí),學(xué)員具備了android程序開(kāi)發(fā)的能力,能獨(dú)立完成常用的應(yīng)用軟件。實(shí)訓(xùn)知識(shí)點(diǎn): Android系統(tǒng)概述和內(nèi)置工具、Android 開(kāi)發(fā)環(huán)境的搭建和啟動(dòng)模擬器、建立android工程、Android應(yīng)用程序開(kāi)發(fā)及運(yùn)行編譯結(jié)構(gòu)、API參考文檔的使用、使用am工具啟動(dòng)android應(yīng)用程序、部署應(yīng)用到真實(shí)手機(jī)、控件和事件編程、菜單編程、對(duì)話(huà)框編程、視圖組編程、各種布局的使用、Grid視圖組、List視圖組、使用Tab組織UI
,3,android進(jìn)階實(shí)訓(xùn)目標(biāo):通過(guò)這部分的學(xué)習(xí),學(xué)員的android開(kāi)發(fā)能力會(huì)有大幅提高。等傳感器編程、android優(yōu)化和性能提高。實(shí)訓(xùn)知識(shí)點(diǎn)及案例分析:Service概述、創(chuàng)建和啟動(dòng)、生命周期、權(quán)限及跨進(jìn)程調(diào)用;廣播的概念及生命周期、廣播發(fā)送的權(quán)限廣播接收器的實(shí)現(xiàn)、接收SMS短信、播放MP3;內(nèi)容提供器的概念作用和常見(jiàn)接口、使用內(nèi)容提供器實(shí)現(xiàn)增刪改查、內(nèi)容提供其權(quán)限和創(chuàng)建內(nèi)容提供器、SQLite數(shù)據(jù)庫(kù)添刪改查操作、使用list視圖組顯示數(shù)據(jù);Widget概念和制作方法、Widget各種XML描述文件詳解2D圖形圖像及文本、Gallery UI編程、GridView編程、OnDraw編程、drawable編程基本動(dòng)畫(huà)編程技巧、Tween動(dòng)畫(huà)、Frame動(dòng)畫(huà)、TimerOpenGL ES的2D和3D繪圖GPS服務(wù)、GPRS網(wǎng)絡(luò)使用、android藍(lán)牙開(kāi)發(fā)、android方向、加速表、光線(xiàn)、磁場(chǎng)、臨近性、溫度
4,項(xiàng)目實(shí)戰(zhàn)實(shí)訓(xùn)目標(biāo):本階段讓學(xué)員開(kāi)發(fā),設(shè)計(jì)Android網(wǎng)上購(gòu)物系統(tǒng),其中包括Android圖形界面開(kāi)發(fā),Android聲音,Android網(wǎng)絡(luò)通訊,和服務(wù)器后端進(jìn)行通訊交換數(shù)據(jù)。
Android基礎(chǔ)知識(shí):
一、Android開(kāi)發(fā)的分類(lèi):
1、Android客戶(hù)端應(yīng)用程序
如新浪微博、網(wǎng)銀客戶(hù)端、凡客、淘寶客戶(hù)端,快盤(pán)客戶(hù)端。Android在這里的應(yīng)用還是界面層的東西為主。核心還在WEB??蛻?hù)端界面很重要,用戶(hù)體驗(yàn)度很重要。從應(yīng)用需求上來(lái)講,幾乎大一點(diǎn)的網(wǎng)站,都需要有手機(jī)客戶(hù)端程序。
2、Android通用類(lèi)程序
如基于LBS(基于位置的服務(wù))的應(yīng)用 (這類(lèi)一般會(huì)嵌入到客戶(hù)端應(yīng)用程序中),流媒體播放應(yīng)用。由于移動(dòng)設(shè)備的方便便捷、3G、4G網(wǎng)絡(luò)的發(fā)展,這類(lèi)應(yīng)用有不錯(cuò)的前景。
3、Android游戲開(kāi)發(fā)
需要掌握的游戲引擎LGame,游戲框架等。手機(jī)上的游戲會(huì)是一大塊內(nèi)容,有前途。
4、Android底層開(kāi)發(fā)
需要掌握C、Linux等較底層的東西,發(fā)展方向應(yīng)該是驅(qū)動(dòng)、協(xié)議開(kāi)發(fā),嵌入式開(kāi)發(fā)。
開(kāi)始學(xué)習(xí)了解一般從界面、控件開(kāi)始,這也是大部分人認(rèn)為簡(jiǎn)單、比較快上手的原因。學(xué)習(xí)一段時(shí)間后,自己可以定一個(gè)方向發(fā)展。
二、Android學(xué)習(xí)需要哪些知識(shí)點(diǎn)
1、Java基礎(chǔ)知識(shí)
J2SE:Java基礎(chǔ)類(lèi)(lang包,IO包,util包(集合框架),面向?qū)ο?,多線(xiàn)程,網(wǎng)絡(luò)編程)
2、J2EE知識(shí)
如果你想從事的Android客戶(hù)端應(yīng)用程序的開(kāi)發(fā),這部分知識(shí)是必備的。顯然Android客戶(hù)端只是做的數(shù)據(jù)的請(qǐng)求、展現(xiàn),所需的數(shù)據(jù)在服務(wù)器端。
技能點(diǎn):Tomcat(Weblogic),XML解析,JSON解析,JSP/Servlet。了解SSH。
3、Linux、C語(yǔ)言知識(shí)
可以作為你后續(xù)發(fā)展需要了解的。
在論壇上、QQ上看到不少童鞋Java基礎(chǔ)還比較欠缺,就開(kāi)始搞Android了,當(dāng)然就問(wèn)題多多。學(xué)習(xí)熱情可嘉,但需要打一個(gè)好的基礎(chǔ),有一個(gè)好的學(xué)習(xí)路線(xiàn)。
三、Android學(xué)習(xí)比較好的資料
1、應(yīng)該說(shuō)現(xiàn)在市面上的書(shū),入門(mén)的還是不少,但一般現(xiàn)在只講了簡(jiǎn)單控件的單個(gè)用法。
《Android開(kāi)發(fā)范例大全》,《Android應(yīng)用開(kāi)發(fā)詳解》可以參考。想了解游戲的話(huà),可以參考《Android2.0游戲開(kāi)發(fā)實(shí)戰(zhàn)寶典》。
2、Android學(xué)習(xí)視頻,也基本上停留在講簡(jiǎn)單入門(mén),單個(gè)控件用法為主,這方面遠(yuǎn)不及Java,J2EE,SSH的視頻那么豐富。應(yīng)該講,你看完了這些,離開(kāi)發(fā)還有很大一段距離。而且,這些視頻在講課方法上不如一些Java的好。現(xiàn)在的視頻資料太豐富,從哈佛、斯坦福的課程,到IPHONE開(kāi)發(fā)課程,都有。但全部跟著視頻完成所有的學(xué)習(xí),有很長(zhǎng)一段跟要走。
3、Android的論壇比較多,論壇的缺點(diǎn)就是什么東西得自己一個(gè)個(gè)查找、去等。自學(xué)是一個(gè)艱苦而漫長(zhǎng)的過(guò)程。對(duì)你的鍛煉和提升也最大。自學(xué)有一個(gè)缺點(diǎn),就是容易迷失方向,一個(gè)知識(shí)點(diǎn)你永遠(yuǎn)不知道要掌握多深,相關(guān)的應(yīng)用是什么。自學(xué)就好比像你一個(gè)人在走一條目標(biāo)很遠(yuǎn),前面叉路很多的暗道一樣。
4、培訓(xùn)機(jī)構(gòu)學(xué)習(xí)。如果你時(shí)間上允許不失為一種好的選擇,可以快速入門(mén)?;ヂ?lián)網(wǎng)產(chǎn)品(時(shí)代)有一個(gè)重要特點(diǎn),就是拿資金換時(shí)間。如果能快速入門(mén),到這個(gè)行業(yè)去發(fā)展,就比自己慢慢學(xué)習(xí)要好得多。畢竟現(xiàn)在Android開(kāi)發(fā)太熱了。對(duì)開(kāi)發(fā)人員的要求也會(huì)逐漸提高。(如既要求能做Android開(kāi)發(fā),又做IPHONE移植開(kāi)發(fā))。
網(wǎng)站欄目:android開(kāi)發(fā)學(xué)習(xí)路線(xiàn),Android開(kāi)發(fā)入門(mén)教程
地址分享:http://m.rwnh.cn/article22/dsdhhcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、做網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣、關(guān)鍵詞優(yōu)化、標(biāo)簽優(yōu)化、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)