目前為止在安卓方面的已經工作了三年左右的時間了,從一個只會寫BUG的菜鳥,到現在慢慢發展成了一名程式設計師。其實說實在的,我學的也一塌糊塗,當然在學習過程也積累了一些知識,對於以前沒接觸過Android的朋友,或者剛入門Android 的朋友,這篇文章作為入門,那是再合適不過了,希望對剛入門Android的朋友有幫助。
1.Java 基礎;
2.搭建Android 開發環境
3.瞭解Android 執行原理以及一個工程專案結構
4.如何系統學習Android
5.推薦一些實用的資源6.總結
(注:一直沒有時間整理一些連結檔案,看到大家對這篇文章這麼感興趣,我重新整理我文章裡面的連結,朋友們可以點選進去看一看,都是我精心整理的一些資料,希望對你們有所幫助。文章僅是個人意見,不喜勿噴,如果有更好意見和簡介,歡迎交流!(鞠躬))!
- java語言基礎
首先肯定需要的就是java語言了,雖然有一些別的語言也可以開發android,但是都是小眾。因為Android SDK 是基於Java 開發的,使用的語言是Java,如果有了Java 基礎,學Android 就會事半功倍;比如在Android 中要使用到的介面,抽象類,型別轉換,繼承,覆蓋,匿名內部類,多執行緒,這些都是Java 語言的,如果以前沒有基礎過,學Android 會很鬱悶的;當然如果你有C++ 基礎,當然也可以基於NDK 開發,可以不使用Java;
最近冒出來的kotlin是google官方支援的開發語言,但是靠真正流行還需要很長時間,個人推薦還是以java為主,但是kotlin儘量也要學習一下,多學一門語言怎麼也是有好處的
對於沒有java基礎的同學我推薦一些資源:
Mars 的Java4Android視訊資源,可以在51cto中找到,很好的視訊資源,適合初學者學習,我當初就是從這裡開始了程式設計師這條不歸路。
《Java從入門到精通(第3版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的例項,詳細介紹了使用Java語言進行程式開發需要掌握的知識。
- 搭建Android開發環境
現在大部分開發人員都用的是Android Studio,從2014年底到現在,經過了三年時間的完善,AS已經成為了大部分Android程式設計師的開發神器,(筆者剛開始做Android 就用的AS,沒體會到什麼,但是我發現用過AS的人都會深深的迷上它,而去放棄Eclipse了)
在這裡面就不多說了大家可以去看看我對Studio的介紹:
- 瞭解Android 執行原理,一個工程的專案結構
有兩種流行的結構:老的Ant & Eclipse ADT 工程結構,和新的Gradle & Android Studio 工程結構, 你應該選擇新的工程結構,如果你的工程還在使用老的結構,考慮放棄吧,將工程移植到新的結構。這裡我們對兩個專案結構做一下對比
老的結構:
old-structure
├─ assets
├─ libs
├─ res
├─ src
│ └─ com/futurice/project
├─ AndroidManifest.xml
├─ build.gradle
├─ project.properties
└─ proguard-rules.pro
複製程式碼
新的結構
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
複製程式碼
主要的區別在於,新的結構明確的分開了'source sets' (main
,androidTest
),這是Gradle的一個理念。 通過這個你可以做到,例如,新增源組‘paid’和‘free’在src中,讓你的應用程式具有付費和免費的兩種模式的原始碼。
你的專案引用第三方專案庫時(例如,library-foobar),擁有一個頂級包名app
從第三方庫專案區分你的應用程式是非常有用的。 然後settings.gradle
不斷引用這些庫專案,其中app/build.gradle
可以引用。
- 如何系統學習Android
因為要介紹的東西太多了,這裡給大家推薦一張安卓知識體系的圖片,最近看到別人整理的一份也挺好的,對我收益很大,如果需要請點選一個老鳥發的公司內部整理的 Android 學習路線圖
- 推薦一些實用的資源
推薦大家一個網站“極客導航——程式設計師自己的導航”,裡面介紹了常用網站,工具大全,經典部落格,進階之路,原始碼下載,跳槽指南,精品網站,邊角作用的一些常用網站,一些Android大牛的部落格都在裡面,我經常會看。
- 總結
1. 如果你是非科班畢業想要轉行程式設計,看了我的經歷你一定很有信心與動力,我能,你一樣能,何況我中間走了這麼多彎路;
2. 如果你接觸過一些資料結構、程式語言之類的,想要學習程式設計,你更應該有信心,你比那些非科班的人已經多了一些基礎,你要做的只是堅定信念,堅持走下去;
3. 不要感慨上天的不公平,我一路走來很悲催,走了太多的彎路,遇到了太多的困難,都是我這輩子難以忘記的,但同時我是幸運的,因為我有她,我感謝我女朋友無數個日夜的理解與支援,上帝在給你製造坎坷的時候總會對你有些眷顧;
4. 如果你準備或已經在做開發的人員,沒有信心或動力,又或是對未來迷茫的時候,姑且當做一篇勵志小說來看,你要做的就是做好你當下在做的事,相信你的付出一定能有所收穫;
- 建議
寫到這裡想要給點建議,那就以一個反例的身份給出事後的一些建議吧:
1.每天花1小時看書,難的不是1小時,難的在堅持;
2.英語對程式設計來說很重要,試著習慣英語閱讀;(扇貝系列的軟體)
3.資料結構和演算法要學好,這算是對程式設計來說最重要的課了,以後不見得能用得上,但用的時候起碼你有印象;
4.善於利用搜尋引擎,從用Google做起,學會英文關鍵字搜尋,有問題第一時間想到去搜尋而不是去請教別人;
5.多去混GitHub,目前最流行的開源社群,多參與開源專案,慢慢試著讀牛人們的程式碼,時機到的時候自己也可以為6.開源社群貢獻力量,可以這樣說在GitHub上認真混一年,比你在大學四年學的東西要多的多;
7.第一份工作很重要,因為你會受一些周圍同事、公司氛圍的影響。8.最後一條是儘快找一個女朋友,因為你的工作使你接觸到的女性會越來越少。
大家都有了以上相同的教程,但是人和人之間的區別在於:別人有顆更強大的內心,可怕的是比你聰明的人比你還要更努力!!
當你下定決心,準備前行的時候,剩下的只有堅持了。。。
如果大家覺得我寫的還可以的話,請關注我的微信公眾號: