導航:首頁 > 操作系統 > android最佳學習路線圖

android最佳學習路線圖

發布時間:2022-12-20 02:50:10

A. android軟體開發工程師的進階之路應該如何走

小明首先需要購買一本Android入門的書籍,為了更快地學習Android,小明業余時間也都用來一邊看書一邊照著書中的例子敲代碼,結果2周時間小明就把這本書學了一遍。看完這本書後,小明對Android的歷史、結構、代碼規范等都有了一個大概的了解,並且,小明已經可以寫出一些簡單的Activity了。這個時候在小明眼裡,Android開發很簡單很好玩,通過在xml中擺放一些按鈕文本框什麼的就可以做一些界面了。
小明開始跟著他的技術導師做需求,一些簡單的小需求小明自然是不在話下了。突然有一天來了一個需求,該需求要求小明在Activity中為一個button加一個動畫效果,小明慌了:「完全沒接觸過,書上也沒有講,怎麼辦呢?」小明冷靜了下,打開了網路搜索,輸入「Android 動畫」,打開前幾個鏈接,小明恍然大悟,照著網上的例子把需求給實現了。後來導師告訴他:「學好Android,官方文檔是必須看的,既全面又權威」。然後小明如獲至寶,花了一年時間把上面的guide和training都看了一遍,並且他還動手抄了幾個小例子。
有一天,小明又需要做一個動畫相關的需求,這可難不倒小明,它熟練地打開了www..com,輸入「Android 動畫」,突然他楞了一下:」總不能每次寫動畫都要網路一下吧!「,於是他在CSDN開了一個博客,把動畫相關的知識點都寫上去,為的是後面再寫動畫相關的代碼就不用網路去搜了,事實如何呢?後面再寫動畫相關的代碼,小明的確不用再去網路搜了,因為通過寫一篇動畫博客,他把動畫相關的細節都已經記住了,這樣他就可以不用再去參考任何文檔了,後來小明還學會了把一些瑣碎的不方便放在博客上的東西寫到了印象筆記上面,什麼時候忘了10秒鍾以內都可以快速找回來,而不是花10分鍾去再次搜索一遍。
這里總結一下,Android入門的時候,需要有一本入門書,好好學習書中的內容,同時花一年時間把Android官方文檔中的training和guide看一遍,同時通過寫博客和記筆記的方式來做總結,建議讓自己的每篇博客都有價值些。通過一年時間的學習,相信每個人都可以達到中級工程師的水平。
技術要求:
- 基本知識點
比如四大組件如何使用、如何創建Service、如何進行布局、簡單的自定義View、動畫等常見技術
- 書籍推薦
《第一行代碼 Android》、《瘋狂Android》
中級工程師
小明經過一年的努力學習終於成為Android中級工程師了,月薪變成了17k。到了中級工程師,已經可以在公司里干很多體力活了,但是一些很重要的任務小明還不能一個人承擔起來,這個時候小明需要學習的內容就很多了,如下所示:
- AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的區別;
- Binder:從java層大概理解Binder的工作原理,懂Parcel對象的使用;
- 多進程:熟練掌握多進程的運行機制,懂Messenger、Socket等;
- 事件分發:彈性滑動、滑動沖突等;
- 玩轉View:View的繪制原理、各種自定義View;
- 動畫系列:熟悉View動畫和屬性動畫的不同點,懂屬性動畫的工作原理;
- 懂性能優化、熟悉mat等工具
- 懂點常見的設計模式
學習方法
閱讀進階書籍,閱讀Android源碼,閱讀官方文檔並嘗試自己寫相關的技術文章,需要有一定技術深度和自我思考。在這個階段的學習過程中,有2個點是比較困擾大家的,一個是閱讀源碼,另一個是自定義View以及滑動沖突。
如何閱讀源碼呢?這是個頭疼的問題,但是源碼必須要讀。閱讀源碼的時候不要深入代碼細節不可自拔,要關注代碼的流程並盡量挖掘出對應用層開發有用的結論。另外仔細閱讀源碼中對一個類或者方法的注釋,在看不懂源碼時,源碼中的注釋可以幫你更好地了解源碼中的工作原理,這個過程雖然艱苦,但是別無他法。
如何玩轉自定義View呢?我的建議是不要通過學習自定義view而學習自定義view。為什麼這么說呢?因為自定義view的種類太多了,各式各樣的絢麗的自定義效果,如何學的玩呢!我們要透過現象看本質,更多地去關注自定義view所需的知識點,這里做如下總結:
- 搞懂view的滑動原理
- 搞懂如何實現彈性滑動
- 搞懂view的滑動沖突
- 搞懂view的measure、layout和draw
- 然後再學習幾個已有的自定義view的例子
- 最後就可以搞定自定義view了,所謂萬變不離其宗
大概再需要1-2年時間,即可達到高級工程師的技術水平。我個人認為通過《Android開發藝術探索》和《Android群英傳》可以縮短這個過程為0.5-1年。注意,達到高級工程師的技術水平不代表就可以立刻成為高級工程師(受機遇、是否跳槽的影響),但是技術達到了,成為高級工程師只是很簡單的事。
技術要求:
- 稍微深入的知識點
AIDL、Messenger、Binder、多進程、動畫、滑動沖突、自定義View、消息隊列等
- 書籍推薦
《Android開發藝術探索》、《Android群英傳》
高級工程師
小明成為了夢寐以求的高級工程師,月薪達到了20k,還拿到了一丟丟股票。這個時候小明的Android水平已經不錯了,但是小明的目標是資深工程師,小明聽說資深工程師月薪可以達到30k+。
為了成為Android資深工程師,需要學習的東西就更多了,並且有些並不是那麼具體了,如下所示:
- 繼續加深理解」稍微深入的知識點「中所定義的內容
- 了解系統核心機制:
1. 了解SystemServer的啟動過程
2. 了解主線程的消息循環模型
3. 了解AMS和PMS的工作原理
4. 能夠回答問題」一個應用存在多少個Window?「
5. 了解四大組件的大概工作流程
6. …
- 基本知識點的細節
1. Activity的啟動模式以及異常情況下不同Activity的表現
2. Service的onBind和onReBind的關聯
3. onServiceDisconnected(ComponentName className)和binderDied()的區別
4. AsyncTask在不同版本上的表現細節
5. 線程池的細節和參數配置
6. …
- 熟悉設計模式,有架構意識
學習方法
這個時候已經沒有太具體的學習方法了,無非就是看書、看源碼和做項目,平時多種總結,盡量將知識融會貫通從而形成一種體系化的感覺。同時這個階段對架構是有一定要求的,架構是抽象的,但是設計模式是具體的,所以一定要加強下設計模式的學習。關於設計模式的學習,最近一本新書推薦給大家《Android 源碼設計模式解析與實戰》,既可以學習設計模式,又可能體會到Android源碼中的設計思想,我最近也在閱讀此書。
技術要求:
- 稍微深入的知識點
- 系統核心機制
- 基本知識點的細節
- 設計模式和架構
- 書籍推薦
《Android開發藝術探索》、《Android 源碼設計模式解析與實戰》、《Android內核剖析》
資深工程師
這個階段的程序員也許並沒有太具體的學習路線了。

B. 零基礎學習android開發,有沒有詳細一點的學習路線圖或在線視頻網站求推薦

很多朋友都對學習路線問題感到迷茫,特別是還在上學的朋友們。在這里就詳細的介紹一下。安卓開發學習線路
1.Java基礎 很多朋友一上手就開始學習Android,似乎太著急了一些。Android應用程序開發是以Java語言為基礎的,所以沒有扎實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。那麼Java學到什麼程度才算是過關呢?
至少要掌握以下兩個方面的內容:
a) Java基礎語法: 具體的知識點列表可以在這里下載:《Java知識點列表》V1.0。這部分內容沒有討價還價的餘地,必須爛熟於胸。至於具體的學習方法,可以看書或者是看視頻,但是關鍵是要多加練習,無論是書上的練習還是視頻裡面的練習,都需要仔仔細細的完成;
b)設計模式:由於在Android系統的框架層當中,使用了大量的設計模式,如果沒有這個方面的知識,對於Android的理解就會大打折扣。設計模式的種類非常之多,一個一個的全部掌握,是不現實的,必須首先掌握面向對象的基礎設計原則,有了這些基礎原則的支持,就可以舉一反三。這部分內容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。
2.Linux基礎知識: 大家都知道,Android系統的基礎是Linux操作系統。在開發過程當中,也需要使用到一些Linux命令。所以說一些Linux的基礎知識是必須的(話說現在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當不錯;
3.資料庫基礎知識 這個比較簡單,就是一個增刪改查的資料庫操作,可以看一下這本書:《SQL編程練習與解答》
4.網路協議 至少需要學習兩種基礎的協議,HTTP協議與Socket協議;
產品經理必學的五個錦囊妙計
產品方法 產品思維 產品設計 交互體驗
5.Android基礎知識 有了以上的鋪墊,再來看Android,是不是覺得輕鬆了很多呢?至於基礎知識的學習順序,最好的方法就是按照Android SDK幫助文檔當中的Dev Guide裡面的順序,我的《Android視頻教程》也基本上是按照這個順序錄制的;
6.伺服器端開發知識: 由於很多Android應用程序都需要伺服器端的支持,所以掌握一些伺服器端開發知識還是非常有必要的。至於選擇哪一種伺服器端知識進行學習,就比較麻煩了,因為技術的種類實在是太多了:
a)Java EE: 就是上面郵件當中所提到的SSH—Struts+Spring+Hibernate。這種技術的優點的功能完整、強大,已經使用了很多年,而且既然大家已經非常熟悉Java了,那麼學習SSH看起來也順理成章。但是使用這種技術開發伺服器端程序,非常麻煩。即使是一些簡單的功能,也可能需要大量的代碼和配置文件來實現;
b)PHP: 簡單易學,開發快速。但是需要多學一種語言,是否得不償失,就要自己判斷了;
c).NET: 這項技術的特點和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個麻煩的事情;
d)ruby on rails: 這是個人最喜歡的伺服器端技術,簡潔,優雅,寥寥幾行代碼,就可以實現很復雜的功能,但是這需要Ruby語言知識作為基礎; 至於選擇哪一種技術,就看自己的判斷了。

C. Android開發的學習路線大概是怎樣的

其實網上有很多安卓學習路線圖,但是太虛了,我想說一個比較實在的學習步驟,也是我個人的學習步驟。

第一步 java基礎


因為安卓開發語言是使用java,因此必須了解,熟悉j2se。java基礎看馬士兵的視頻就行,他講的特別好,尤其是堆棧內存那一塊。然後學瘋狂java講義,不需要都學,學前十章就行,不建議初學者學java編程思想,比較難懂,不適合入門。(時間2-3個月)

第二步:書籍

入手的第一本書就是android瘋狂講義,七八百頁,其實我感覺我們不用全部都學,比如說動畫、視頻、感測器先可以不學,安卓瘋狂講義的有些設計不是很合理,把很多難的內容放到了前面,

沒有做到從易到難,我們學的過程中可以先把一章整體看一下,然後再安排學習的順序,把裡面的每一個例子都自己敲一遍。因為我上下班坐公交車時間很長因此我都是在公交車上看書,這樣一個月過去了,

瘋狂講義的主要部分學了一遍。

第三步:視頻

我看過的視頻也很多,比如說黑馬精通4.0,還有尚學堂的,還有傳智播客的,覺得最好的還是老羅的安卓開發視頻,講的很細也很全面,於是我把其它視頻都放棄了,只學老羅視頻,每天看7個,中間也有耽擱的這樣過去了一個月,所有的看了一遍,主要的,難懂的看了兩到三遍。

第四步:高仿項目

做完前兩步,自己感覺水平應該可以了,於是就想去獨立開發一個app,但是還是不知道怎麼下手,於是從網上找了幾個開源項目,開始模仿去做,有仿新浪微博,仿美團,鬧鍾,這樣過去了一個月,終於有些底氣了。

第五步:android官網

要想去安卓官網還需要翻牆,這個大家都懂,首先官網上面的api guide看一下,最後都能仿著寫一遍代碼,然後再把training上的幾個例子也仿著寫一遍。這樣學上面的例子用了一個月。

第六步 :android學習手冊

我之前一直從事java web開發,前段時間因為工作需要,轉學了安卓,在學安卓過程中,一直想找一款應用能夠展示各個章節的知識點,並且提供demo例子,就像谷歌Android API Demo一樣,google api demo例子太老了,都是外文,例子也不夠豐富,還不能看源碼,也沒有文檔。於是把自己學習安卓過程中的用到例子都整合在了一起,並把例子都寫在了android學習手冊中,希望想學安卓的java同胞們,能有一個好的例子參考,快速學習安卓,少走彎路。android學習手冊包含9個章節,108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,不需要積分,文檔都採用文檔結構圖顯示,可以快速定位,度娘不讓發鏈接,360手機助手中可下載。

第七步:獨立開發app

光說不幹嘴把式,光干不說傻把式。必須獨立開發一個小項目。

D. 如何學習安卓開發

Android開發學習路線的七大階段
第一階段:Java面向對象編程;
第二階段:Java Web開發;
第三階段:android UI編程;
第四階段:android網路編程與數據存儲;
第五階段:android手機硬體管理;
第六階段:Android圖形編程技術;
第七階段:Android游戲開發。

E. android開發有沒有好的學習方法呢

我這里有一個android的學習路線圖不知道能不能幫到你,是從好程序員特訓營的網站上看到的。

第一階段:高級Java面向對象編程
主要內容有:1、面向對象設計原則
2、面向對象設計模式概要
3、創建型設計模式
a)Factory Method
b)Builder
c)Prototype
d)Singleton
4、結構型設計模式
a)Adapter
b)Bridge
c)Composite
d)Decorator
e)Façade
f)Proxy
5、行為模式
a)Interpreter
b)TempleteMethond
c)Command
e)Iterator
f)Observer
g)State
h)Strategy
第二階段:高級jdk api開發技術
主要內容有:1、並發線程庫介紹
2、線程本地變數的使用方法
3、信號量與可重入鎖
4、讀寫鎖的使用方法
5、阻塞隊列與同步集合庫使用方法
6、Java反射機制介紹
7、Class、Filed和Methond的使用方法
8、動態代理模式的使用方法
9、Java框架開發原理
第三階段:網路與資料庫技術
主要內容有:1、Socket使用方法介紹
2、基於UDP Socket的數據傳輸方法
3、基於TCP Socket的數據傳書方法
4、非阻塞Socket開發框架的使用方法(實時通訊)
5、JSON與XML數據介紹
6、XML語法介紹
7、XML解析技術:SAX、DOM、Pup
6、JSON語法介紹
7、JSON解析技術:fast-json、Gson
8、關系型資料庫介紹
9、MySql資料庫的安裝與配置
10、SQL語言詳解
11、資料庫設計三範式
第四階段:Android應用/游戲/系統開發
一、Android UI編程(項目實戰)
主要的內容有:
1、Android開發環境搭建:Android介紹,Android開發環境搭建,第一個Android應用程序,Android應用程序目錄結構。
2、Android初級控制項的使用:TextView控制項的使用;Button控制項的使用方法;EditText控制項的使用方法;ImageView的使用方法;RadioButton的使用方法;Checkbox的使用方法;Menu的使用方法。
3、Android高級控制項的使用:Autocompletion的使用方法;ListView的使用方法;GridView的使用方法;Adapter的使用方法;Spinner的使用方法;Gallary的使用方法;ScrollView的使用方法。
4、對話框與菜單的使用:Dialog的基本概念;AlertDialog的使用方法;DatePickerDialog的使用方法;Menu的使用方法;自定義Menu的實現方法。
5、控制項的布局方法:線性布局的使用方法;相對布局的使用方法;表格布局的使用方法;幀布局的使用方法。
6、多Acitivity管理:AndroidManifest.xml文件的作用; Intent的使用方法;使用Intent傳遞數據的方法;啟動Activity的方法;IntentFilter的使用方法;Activity Group的使用方法。
7、復合控制項的使用方法:自定義ListView的實現方法;可折疊ListView的使用方法;自定義Adapter的實現方法自定義View的實現方法;動態控制項布局的上實現方法。
8、Fragment的使用方法(4.x新技術):使用Fragment作為View的容器,統一管理View 的生命周期以及事件的處理方法,提升UI部分代碼的可移植性;
9、Loader的使用方法(4.x新技術):Loader為Activity和Fragment提供了數據非同步載入的機制,同時可以監聽數據源的變化情況,無需每次都重新查詢;
10、ViewPager與PagerAdapter的使用方法(4.x新技術):ViewPager為應用程序提供了多頁面管理和手勢滑動的功能,極大的方便了導航功能的實現;
11、Theme與Style:通過定義Theme與Style可以方便的為整個應用程序指定統一的風格;
12、事件分發機制:在出現多個控制項疊加的情況時,需要程序員手工控制事件的分發情況,確保用戶對屏幕的觸控事件被合理的處理;
13、動畫:熟練的使用屬性動畫和幀動畫可以讓整個應用程序變得更加生動;
二、Android網路編程與數據存儲(項目實戰)
主要內容有:
1、基於Android平台的HTTP通訊:Http協議回顧;Apache Commons 工具包介紹;使用Get方法向伺服器提交數據的方法;解析伺服器響應數據的方法;使用POST方法向伺服器提交數據的實現方法;向伺服器提交非文本數據的實現方法;使用Http協議實現多線程下載;使用Http協議實現斷點續傳。
2、Android數據存儲技術:SQLite3資料庫簡介;SQL語句回顧;SQLite3編程介面介紹;SQLite3事務管理;SQLite3游標使用方法;SQLite3性能分析;訪問SDCard的方法;訪問SharedPreferences的方法。
3、ContentProvider使用方法:ContentProvider實現共享數據、URI的解析與UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的監聽Android當中的非同步操作:Handler的使用方法;非同步任務的基本概念;AsyncTask的使用方法。
4、基於Http的數據非同步載入機制:使用Handler+Looper+Message+LruCache搭建數據非同步載入框架,從響應速度和網路性能兩個方面提高應用程序的用戶體驗;
5、通訊錄數據訪問:通過理解系統通訊錄的數據組織結構,可以高效的實現對通訊錄數據的增刪改查操作;
三、Android手機硬體管理(項目實戰)
主要內容有:
1、地圖及定位技術:GPS簡介;LocationManager的使用方法;在Google Map上添加標記的方法;查詢某地附近建築的方法;使用Google Map實現點對點導航。
2、感測器使用方法:方向、加速度(重力)、光線、磁場、距離、溫度等感測器的使用。
3、近場通信技術:NFC技術簡介;NFC技術是用場景介紹;NFC技術實現方法。
4、媒體管理技術:MediaPlayer的使用方法。
5、觸摸屏技術:手勢識別;多點觸摸技術。

我弄的可能不全,你有時間可以自己去看一下。

閱讀全文

與android最佳學習路線圖相關的資料

熱點內容
能否給隱藏相冊加密 瀏覽:596
糖心app改什麼名 瀏覽:823
戰地1控伺服器如何部署 瀏覽:394
xp還原系統輸入命令 瀏覽:323
mysql命令行版本 瀏覽:303
如何進入itunes找文件夾 瀏覽:832
CAD中重復命令使用 瀏覽:477
心智pdf 瀏覽:475
網站電台直播間源碼 瀏覽:852
文件夾14c和18c的區別 瀏覽:34
android隱式調用 瀏覽:667
plc的編程指令邊沿繼電器 瀏覽:723
voc文件夾 瀏覽:865
租廣東聯通伺服器注意什麼雲空間 瀏覽:934
javascript高級程序設計pdf 瀏覽:292
pwm單片機原理 瀏覽:348
ai演算法在線修復圖片 瀏覽:981
scratch編程中如何做射擊游戲 瀏覽:479
at89c51編程器 瀏覽:344
項目經理叫醒程序員 瀏覽:344