android軟件開發(fā)學(xué)習(xí)筆記(android軟件開發(fā)教程)
本篇文章給大家談?wù)刟ndroid軟件開發(fā)學(xué)習(xí)筆記,以及android軟件開發(fā)教程對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
如果要做android軟件開發(fā)需要什么基礎(chǔ),需要學(xué)習(xí)什么內(nèi)容
android應(yīng)用程序是用java作為基礎(chǔ)語言的,也支持C++和一些動(dòng)態(tài)語言(例如python)
如果要進(jìn)行學(xué)習(xí),首先應(yīng)該學(xué)習(xí)java。
根據(jù)項(xiàng)目的不同,可能會(huì)使用到操作系統(tǒng)(linux)和web相關(guān)的知識(shí)。
與服務(wù)期交互的應(yīng)用還是非常多的。
如何學(xué)習(xí)安卓軟件開發(fā)
一、前言
不知不覺自己已經(jīng)做了幾年開發(fā)了,由記得剛出來工作的時(shí)候感覺自己能牛逼,現(xiàn)在回想起來感覺好無知。懂的越多的時(shí)候你才會(huì)發(fā)現(xiàn)懂的越少。
如果你的知識(shí)是一個(gè)圓,當(dāng)你的圓越大時(shí),圓外面的世界也就越大。
最近看到很多Android新手問Android學(xué)習(xí)路線,學(xué)習(xí)方法啊,如何入門啊,所以我從網(wǎng)上找了一些資料,然后以我的工作經(jīng)驗(yàn)給大家總結(jié)一下,讓你們少走彎路,提取一些工作中經(jīng)常用到的技術(shù)。
二、學(xué)習(xí)知識(shí)匯總1、Java se基礎(chǔ)
1).Java基本數(shù)據(jù)類型與表達(dá)式,分支循環(huán)。
2).String和StringBuffer的使用、正則表達(dá)式。
3).面向?qū)ο蟮某橄螅庋b,繼承,多態(tài),類與對(duì)象,對(duì)象初始化和回收;構(gòu)造函數(shù)、this關(guān)鍵字、方法和方法的參數(shù)傳遞過程、static關(guān)鍵字、內(nèi)部類。
4).對(duì)象實(shí)例化過程、方法的覆蓋、final關(guān)鍵字、抽象類、接口、繼承的優(yōu)點(diǎn)和缺點(diǎn)剖析;對(duì)象的多態(tài)性:子類和父類之間的轉(zhuǎn)換、抽象類和接口在多態(tài)中的應(yīng)用、多態(tài)帶來的好處。
5).Java異常處理,異常的機(jī)制原理。
6).常用的設(shè)計(jì)模式:Singleton、Template、Strategy模式。
7).JavaAPI介紹:種基本數(shù)據(jù)類型包裝類,System和Runtime類,Date和DateFomat類等。
8).Java集合介紹:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合類API。
9).JavaI/O輸入輸出流:File和FileRandomAccess類,字節(jié)流InputStream和OutputStream,字符流Reader和Writer,以及相應(yīng)實(shí)現(xiàn)類,IO性能分析,字節(jié)和字符的轉(zhuǎn)化流,包裝流的概念,以及常用包裝類,計(jì)算機(jī)編碼。
10).Java高級(jí)特性:反射和泛型。
11).多線程原理:如何在程序中創(chuàng)建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。
2、android UI編程
1)、Android開發(fā)環(huán)境搭建:Android介紹,Android開發(fā)環(huán)境搭建,第一個(gè)Android應(yīng)用程序,Android應(yīng)用程序目錄結(jié)構(gòu)。
2)、Android初級(jí)控件的使用:
TextView控件的使用
Button控件的使用方法
EditText控件的使用方法
ImageView的使用方法
RadioButton的使用方法
Checkbox的使用方法
Menu的使用方法
3)、Android高級(jí)控件的使用:
ListView的使用方法
GridView的使用方法
Adapter的使用方法
Spinner的使用方法
Gallary的使用方法
ScrollView的使用方法
RecyclerView
4、對(duì)話框與菜單的使用:
Dialog的基本概念
BlockquoteAlertDialog的使用方法
DatePickerDialog的使用方法
Menu的使用方法
自定義Menu的實(shí)現(xiàn)方法
5.控件的布局方法:
線性布局的使用方法
相對(duì)布局的使用方法
6.多Acitivity管理:
AndroidManifest.xml文件的作用
Intent的使用方法
使用Intent傳遞數(shù)據(jù)的方法
啟動(dòng)Activity的方法
IntentFilter的使用方法
Activity Group的使用方法
7、自定義控件實(shí)現(xiàn)方法:
自定義ListView的實(shí)現(xiàn)方法
可折疊ListView的使用方法
自定義Adapter的實(shí)現(xiàn)方法
自定義View的實(shí)現(xiàn)方法
動(dòng)態(tài)控件布局的上實(shí)現(xiàn)方法
上拉刷新下拉加載更多
3、android網(wǎng)絡(luò)編程與數(shù)據(jù)存儲(chǔ)
1).基于Android平臺(tái)的HTTP通訊:
Http協(xié)議回顧
使用Get方法向服務(wù)器提交數(shù)據(jù)的方法
使用POST方法向服務(wù)器提交數(shù)據(jù)的實(shí)現(xiàn)方法
使用Http協(xié)議實(shí)現(xiàn)多線程下載
使用Http協(xié)議實(shí)現(xiàn)斷點(diǎn)續(xù)傳
2).Android數(shù)據(jù)存儲(chǔ)技術(shù):
SQLite3數(shù)據(jù)庫簡(jiǎn)介
SQL語句回顧
SQLite3編程接口介紹
SQLite3事務(wù)管理
SQLite3游標(biāo)使用方法
SQLite3性能分析
訪問SDCard的方法
訪問SharedPreferences的方法
參考自:Android學(xué)習(xí)路線
三、進(jìn)階之路(初級(jí)-中級(jí)-高級(jí))1、初級(jí)工程師
小明之前完全沒接觸過Android開發(fā),是個(gè)應(yīng)屆生,他的待遇是13k,然后小明以校招的身份進(jìn)入了百度,然后小明需要怎么學(xué)習(xí)才能成為初級(jí)工程師呢?這個(gè)時(shí)候,小明對(duì)編程基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、C語言都有一定基礎(chǔ),Java語法什么的也都掌握的比較好,Android才有java語言,無奈的是小明并不會(huì)搞Android。
小明首先需要購買一本Android入門的書籍,為了更快地學(xué)習(xí)Android,小明業(yè)余時(shí)間也都用來一邊看書一邊照著書中的例子敲代碼,結(jié)果2周時(shí)間小明就把這本書學(xué)了一遍。看完這本書后,小明對(duì)Android的歷史、結(jié)構(gòu)、代碼規(guī)范等都有了一個(gè)大概的了解,并且,小明已經(jīng)可以寫出一些簡(jiǎn)單的Activity了。這個(gè)時(shí)候在小明眼里,Android開發(fā)很簡(jiǎn)單很好玩,通過在xml中擺放一些按鈕文本框什么的就可以做一些界面了。
小明開始跟著他的技術(shù)導(dǎo)師做需求,一些簡(jiǎn)單的小需求小明自然是不在話下了。突然有一天來了一個(gè)需求,該需求要求小明在Activity中為一個(gè)button加一個(gè)動(dòng)畫效果,小明慌了:“完全沒接觸過,書上也沒有講,怎么辦呢?”小明冷靜了下,打開了百度搜索,輸入“Android 動(dòng)畫”,打開前幾個(gè)鏈接,小明恍然大悟,照著網(wǎng)上的例子把需求給實(shí)現(xiàn)了。后來導(dǎo)師告訴他:“學(xué)好Android,官方文檔是必須看的,既全面又權(quán)威”。然后小明如獲至寶,花了一年時(shí)間把上面的guide和training都看了一遍,并且他還動(dòng)手抄了幾個(gè)小例子。
有一天,小明又需要做一個(gè)動(dòng)畫相關(guān)的需求,這可難不倒小明,它熟練地打開了百度一下,你就知道,輸入“Android 動(dòng)畫”,突然他楞了一下:”總不能每次寫動(dòng)畫都要百度一下吧!“,于是他在CSDN開了一個(gè)博客,把動(dòng)畫相關(guān)的知識(shí)點(diǎn)都寫上去,為的是后面再寫動(dòng)畫相關(guān)的代碼就不用百度去搜了,事實(shí)如何呢?后面再寫動(dòng)畫相關(guān)的代碼,小明的確不用再去百度搜了,因?yàn)橥ㄟ^寫一篇?jiǎng)赢嫴┛停褎?dòng)畫相關(guān)的細(xì)節(jié)都已經(jīng)記住了,這樣他就可以不用再去參考任何文檔了,后來小明還學(xué)會(huì)了把一些瑣碎的不方便放在博客上的東西寫到了印象筆記上面,什么時(shí)候忘了10秒鐘以內(nèi)都可以快速找回來,而不是花10分鐘去再次搜索一遍。
這里總結(jié)一下,Android入門的時(shí)候,需要有一本入門書,好好學(xué)習(xí)書中的內(nèi)容,同時(shí)花一年時(shí)間把Android官方文檔中的training和guide看一遍,同時(shí)通過寫博客和記筆記的方式來做總結(jié),建議讓自己的每篇博客都有價(jià)值些。通過一年時(shí)間的學(xué)習(xí),相信每個(gè)人都可以達(dá)到中級(jí)工程師的水平。
技術(shù)要求:
基本知識(shí)點(diǎn)
比如四大組件如何使用、如何創(chuàng)建Service、如何進(jìn)行布局、簡(jiǎn)單的自定義View、動(dòng)畫等常見技術(shù)
書籍推薦
《第一行代碼 Android》、《瘋狂Android》
2、中級(jí)工程師
小明經(jīng)過一年的努力學(xué)習(xí)終于成為Android中級(jí)工程師了,月薪變成了17k。到了中級(jí)工程師,已經(jīng)可以在公司里干很多體力活了,但是一些很重要的任務(wù)小明還不能一個(gè)人承擔(dān)起來,這個(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)畫系列:熟悉View動(dòng)畫和屬性動(dòng)畫的不同點(diǎn),懂屬性動(dòng)畫的工作原理;
懂性能優(yōu)化、熟悉mat等工具
懂點(diǎn)常見的設(shè)計(jì)模式
學(xué)習(xí)方法
閱讀進(jìn)階書籍,閱讀Android源碼,閱讀官方文檔并嘗試自己寫相關(guān)的技術(shù)文章,需要有一定技術(shù)深度和自我思考。在這個(gè)階段的學(xué)習(xí)過程中,有2個(gè)點(diǎn)是比較困擾大家的,一個(gè)是閱讀源碼,另一個(gè)是自定義View以及滑動(dòng)沖突。
如何閱讀源碼呢?這是個(gè)頭疼的問題,但是源碼必須要讀。閱讀源碼的時(shí)候不要深入代碼細(xì)節(jié)不可自拔,要關(guān)注代碼的流程并盡量挖掘出對(duì)應(yīng)用層開發(fā)有用的結(jié)論。另外仔細(xì)閱讀源碼中對(duì)一個(gè)類或者方法的注釋,在看不懂源碼時(shí),源碼中的注釋可以幫你更好地了解源碼中的工作原理,這個(gè)過程雖然艱苦,但是別無他法。
如何玩轉(zhuǎn)自定義View呢?我的建議是不要通過學(xué)習(xí)自定義view而學(xué)習(xí)自定義view。為什么這么說呢?因?yàn)樽远xview的種類太多了,各式各樣的絢麗的自定義效果,如何學(xué)的玩呢!我們要透過現(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了,所謂萬變不離其宗
大概再需要1-2年時(shí)間,即可達(dá)到高級(jí)工程師的技術(shù)水平。我個(gè)人認(rèn)為通過《Android開發(fā)藝術(shù)探索》和《Android群英傳》可以縮短這個(gè)過程為0.5-1年。注意,達(dá)到高級(jí)工程師的技術(shù)水平不代表就可以立刻成為高級(jí)工程師(受機(jī)遇、是否跳槽的影響),但是技術(shù)達(dá)到了,成為高級(jí)工程師只是很簡(jiǎn)單的事。
技術(shù)要求:
稍微深入的知識(shí)點(diǎn)
AIDL、Messenger、Binder、多進(jìn)程、動(dòng)畫、滑動(dòng)沖突、自定義View、消息隊(duì)列等
書籍推薦
《Android開發(fā)藝術(shù)探索》、《Android群英傳》
3、高級(jí)工程師
小明成為了夢(mèng)寐以求的高級(jí)工程師,月薪達(dá)到了20k,還拿到了一丟丟股票。這個(gè)時(shí)候小明的Android水平已經(jīng)不錯(cuò)了,但是小明的目標(biāo)是資深工程師,小明聽說資深工程師月薪可以達(dá)到30k+。
為了成為Android資深工程師,需要學(xué)習(xí)的東西就更多了,并且有些并不是那么具體了,如下所示:
繼續(xù)加深理解”稍微深入的知識(shí)點(diǎn)“中所定義的內(nèi)容
了解系統(tǒng)核心機(jī)制:
了解SystemServer的啟動(dòng)過程
了解主線程的消息循環(huán)模型
了解AMS和PMS的工作原理
能夠回答問題”一個(gè)應(yīng)用存在多少個(gè)Window?“
了解四大組件的大概工作流程
…
基本知識(shí)點(diǎn)的細(xì)節(jié)
Activity的啟動(dòng)模式以及異常情況下不同Activity的表現(xiàn)
Service的onBind和onReBind的關(guān)聯(lián)
onServiceDisconnected(ComponentName className)和binderDied()的區(qū)別
AsyncTask在不同版本上的表現(xiàn)細(xì)節(jié)
線程池的細(xì)節(jié)和參數(shù)配置
…
熟悉設(shè)計(jì)模式,有架構(gòu)意識(shí)學(xué)習(xí)方法
這個(gè)時(shí)候已經(jīng)沒有太具體的學(xué)習(xí)方法了,無非就是看書、看源碼和做項(xiàng)目,平時(shí)多種總結(jié),盡量將知識(shí)融會(huì)貫通從而形成一種體系化的感覺。同時(shí)這個(gè)階段對(duì)架構(gòu)是有一定要求的,架構(gòu)是抽象的,但是設(shè)計(jì)模式是具體的,所以一定要加強(qiáng)下設(shè)計(jì)模式的學(xué)習(xí)。關(guān)于設(shè)計(jì)模式的學(xué)習(xí),最近一本新書推薦給大家《Android 源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)》,既可以學(xué)習(xí)設(shè)計(jì)模式,又可能體會(huì)到Android源碼中的設(shè)計(jì)思想,我最近也在閱讀此書。
技術(shù)要求:
稍微深入的知識(shí)點(diǎn)
系統(tǒng)核心機(jī)制
基本知識(shí)點(diǎn)的細(xì)節(jié)
設(shè)計(jì)模式和架構(gòu)
書籍推薦
《Android開發(fā)藝術(shù)探索》、《Android 源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)》、《Android內(nèi)核剖析》
參考自:Android學(xué)習(xí)路線指南
四、學(xué)習(xí)視頻跟書籍
當(dāng)你有了學(xué)習(xí)線路,學(xué)習(xí)哪些內(nèi)容,也知道以后的路怎么走了,理論看多了總要實(shí)踐的,我這里給你們整理了大概80G的學(xué)習(xí)視頻跟書籍,趕快點(diǎn)我點(diǎn)我點(diǎn)我。。。下載。。
附上出處鏈接:
北大青鳥java培訓(xùn):Android開發(fā)需要學(xué)習(xí)哪些內(nèi)容?
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,各種智能手機(jī)APP接踵而來,在手機(jī)APP應(yīng)用市場(chǎng)中,數(shù)量最多的就是Android開發(fā)的手機(jī)軟件了。
Android開發(fā)也成為當(dāng)下較熱門行業(yè)。
那么,江西北大青鳥就告訴你,想要學(xué)習(xí)Android開發(fā),需要學(xué)習(xí)哪些課程?Java面向?qū)ο缶幊?、Java基本數(shù)據(jù)類型與表達(dá)式,分支循環(huán)。
2、String和StringBuffer的使用、正則表達(dá)式。
3、面向?qū)ο蟮某橄?,封裝,繼承,多態(tài),類與對(duì)象,對(duì)象初始化和回收;構(gòu)造函數(shù)、this關(guān)鍵字、方法和方法的參數(shù)傳遞過程、static關(guān)鍵字、內(nèi)部類,Java的垃極回收機(jī)制,Javadoc介紹。
4、對(duì)象實(shí)例化過程、方法的覆蓋、final關(guān)鍵字、抽象類、接口、繼承的優(yōu)點(diǎn)和缺點(diǎn)剖析;對(duì)象的多態(tài)性:子類和父類之間的轉(zhuǎn)換、抽象類和接口在多態(tài)中的應(yīng)用、多態(tài)帶來的好處。
5、Java異常處理,異常的機(jī)制原理。
6、常用的設(shè)計(jì)模式:Singleton、Template、Strategy模式。
7、JavaAPI介紹:種基本數(shù)據(jù)類型包裝類,System和Runtime類,Date和DateFomat類等。
8、Java集合介紹:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合類API。
9、JavaI/O輸入輸出流:File和FileRandomAccess類,字節(jié)流InputStream和OutputStream,字符流Reader和Writer,以及相應(yīng)實(shí)現(xiàn)類,IO性能分析,字節(jié)和字符的轉(zhuǎn)化流,包裝流的概念,以及常用包裝類,計(jì)算機(jī)編碼。
10、Java高級(jí)特性:反射、代理和泛型。
11、多線程原理:如何在程序中創(chuàng)建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。
12、Socket網(wǎng)絡(luò)編程。
Javaweb開發(fā)1、Java解析XML文件DOM4J。
2、MySql數(shù)據(jù)庫的應(yīng)用、多表連接查詢的應(yīng)用。
3、Jsp和Servlet應(yīng)用。
4、Http協(xié)議解析。
。
5、Tomcat服務(wù)器的應(yīng)用配置。
6、WebService服務(wù)配置應(yīng)用。
androidUI編程1、Android開發(fā)環(huán)境搭建:Android介紹,Android開發(fā)環(huán)境搭建,先進(jìn)個(gè)Android應(yīng)用程序,Android應(yīng)用程序目錄結(jié)構(gòu)。
2、Android初級(jí)控件的使用:TextView控件的使用Button控件的使用方法EditText控件的使用方法ImageView的使用方法RadioButton的使用方法Checkbox的使用方法Menu的使用方法。
3、Android高級(jí)控件的使用:Autocompletion的使用方法ListView的使用方法GridView的使用方法Adapter的使用方法Spinner的使用方法Gallary的使用方法ScrollView的使用方法。
4、對(duì)話框與菜單的使用:Dialog的基本概念A(yù)lertDialog的使用方法DatePickerDialog的使用方法Menu的使用方法自定義Menu的實(shí)現(xiàn)方法。
5、控件的布局方法:線性布局的使用方法相對(duì)布局的使用方法表格布局的使用方法。
6、多Acitivity管理:AndroidManifest.xml文件的作用,Intent的使用方法,使用Intent傳遞數(shù)據(jù)的方法,啟動(dòng)Activity的方法,IntentFilter的使用方法,ActivityGroup的使用方法。
7、自定義控件實(shí)現(xiàn)方法:自定義ListView的實(shí)現(xiàn)方法,可折疊ListView的使用方法,自定義Adapter的實(shí)現(xiàn)方法,自定義View的實(shí)現(xiàn)方法,動(dòng)態(tài)控件布局的上實(shí)現(xiàn)方法。
android軟件開發(fā)學(xué)習(xí)筆記的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于android軟件開發(fā)教程、android軟件開發(fā)學(xué)習(xí)筆記的信息別忘了在本站進(jìn)行查找喔。