來源:北大青鳥總部 2019年04月12日 11:36
近半年來,手機(jī)的安卓系統(tǒng)與ios系統(tǒng)是目前主流的手機(jī)系統(tǒng),Android軟件開發(fā)主要是學(xué)習(xí)什么的?安卓開發(fā)的技術(shù)很多的,如果想一次性學(xué)好是不實(shí)際的,但下面這些基礎(chǔ)還是要學(xué)好的。
1、Activity生命周期
雖然Android中有四大組件,但是不可否認(rèn)Activity是最常用的。所以熟練掌握Android的生命周期是必須的。其實(shí)生命周期就是記住 Activity的那些方法在什么時(shí)候被系統(tǒng)調(diào)用,這樣才可以把對(duì)應(yīng)的邏輯代碼寫到合適的方法內(nèi)部去。
至于服務(wù)和廣播組件可以稍微緩一下,到實(shí)際使用的時(shí)候再學(xué)習(xí)都可以。
2、界面開發(fā)技術(shù)
界面開發(fā)是一種基本的技術(shù),幾乎所有的程序里面都需要用到。在Android開發(fā)中界面開發(fā)分為3種:
1)使用xml文件布局
使用xml首先對(duì)于界面進(jìn)行布局,然后在Activity里面進(jìn)行引用是最常見的應(yīng)用軟件開發(fā)技術(shù),這種方式使用的最大,需要學(xué)習(xí)的內(nèi)容也最多。學(xué)習(xí)時(shí)需要熟悉:
a)五種Layout布局
深刻理解五種布局組織控件的方式是一個(gè)基本的基礎(chǔ),這樣你才可以在實(shí)際的界面中靈活的使用每種布局結(jié)構(gòu),構(gòu)造出需要的界面。
b)常用控件
控件有很多,至少要知道每種控件是做什么的,至于里面的特定參數(shù)和方法可以學(xué)要的時(shí)候再去查
c)界面美化
系統(tǒng)的控件很多時(shí)候無法滿足要求,需要通過添加背景更換圖片等進(jìn)行美化,要熟悉每種控件如何去美化。
掌握了上面的內(nèi)容,通過布局的嵌套就可以制作出各種界面,如果在熟悉include的使用就可以減少xml的重復(fù),方便后期的修改和維護(hù)了。
2)使用代碼動(dòng)態(tài)創(chuàng)建
有些時(shí)候需要?jiǎng)討B(tài)的創(chuàng)建一些布局和控件,這個(gè)就需要使用LayoutInflater去創(chuàng)建一些動(dòng)態(tài)的界面了。
3)自己繪制界面
游戲中常用,繼承SurfaceView自己繪制。
3、數(shù)據(jù)存儲(chǔ)技術(shù)
Android中的數(shù)據(jù)存儲(chǔ)方式有3種:
1)SharedPrefereneces存儲(chǔ)
對(duì)于簡(jiǎn)單的數(shù)據(jù)可以使用該方式存儲(chǔ),以鍵值對(duì)的方式存儲(chǔ)一些基本的數(shù)據(jù)。
2)文件存儲(chǔ)
將數(shù)據(jù)以文件的形式存儲(chǔ),可以是手機(jī)自身的存儲(chǔ)也可以是SD卡,文件的數(shù)據(jù)格式自己定義。
3)SQLite數(shù)據(jù)庫(kù)存儲(chǔ)
使用標(biāo)準(zhǔn)SQL語(yǔ)句進(jìn)行操作,復(fù)雜數(shù)據(jù)的首選。
4、網(wǎng)絡(luò)編程
現(xiàn)在的Android程序不需要聯(lián)網(wǎng)的已經(jīng)不多了。所以網(wǎng)絡(luò)編程也是必須的,一般的公司都會(huì)封裝有自己的聯(lián)網(wǎng)結(jié)構(gòu),但是基本的聯(lián)網(wǎng)還是要熟悉。
1)HTTP聯(lián)網(wǎng)
使用Http聯(lián)網(wǎng)+Json數(shù)據(jù)格式是現(xiàn)在很多客戶端的首選。
2)Socket聯(lián)網(wǎng)
至于藍(lán)牙等連接方式則可以在項(xiàng)目需要的時(shí)候?qū)W習(xí)。
對(duì)于手機(jī)的系統(tǒng)功能,如撥打電話、發(fā)送短信、讀取系統(tǒng)參數(shù)等則可以根據(jù)需要在學(xué)習(xí),不麻煩的。
其次,手機(jī)軟件相關(guān)
Android開發(fā)不同于普通的電腦軟件開發(fā),需要了解手機(jī)的操作習(xí)慣,知道手機(jī)的屏幕不大、內(nèi)存有限,電池有限等,在實(shí)際開發(fā)和設(shè)計(jì)時(shí)盡量考慮。
Android軟件開發(fā)自學(xué)建議
1、Java基礎(chǔ)
很多朋友一上手就開始學(xué)習(xí)Android,似乎太著急了一些。Android應(yīng)用程序開發(fā)是以Java語(yǔ)言為基礎(chǔ)的,所以沒有扎實(shí)的Java基礎(chǔ)知識(shí),只是機(jī)械的照抄別人的代碼,是沒有任何意義的。那么Java學(xué)到什么程度才算是過關(guān)呢?我個(gè)人認(rèn)為至少要掌握以下兩個(gè)方面的內(nèi)容:
a) Java基礎(chǔ)語(yǔ)法:具體的知識(shí)點(diǎn)列表可以在這里下載:《Java知識(shí)點(diǎn)列表》V1.0。這部分內(nèi)容沒有討價(jià)還價(jià)的余地,必須爛熟于胸。至于具體的學(xué)習(xí)方法,可以看書或者是看視頻,但是關(guān)鍵是要多加練習(xí),無論是書上的練習(xí)還是視頻里面的練習(xí),都需要仔仔細(xì)細(xì)的完成;
b)設(shè)計(jì)模式:由于在Android系統(tǒng)的框架層當(dāng)中,使用了大量的設(shè)計(jì)模式,如果沒有這個(gè)方面的知識(shí),對(duì)于Android的理解就會(huì)大打折扣。設(shè)計(jì)模式的種類非常之多,一個(gè)一個(gè)的全部掌握,是不現(xiàn)實(shí)的,必須首先掌握面向?qū)ο蟮幕A(chǔ)設(shè)計(jì)原則,有了這些基礎(chǔ)原則的支持,就可以舉一反三。這部分內(nèi)容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。
2、Linux基礎(chǔ)知識(shí)
大家都知道,Android系統(tǒng)的基礎(chǔ)是Linux操作系統(tǒng)。在開發(fā)過程當(dāng)中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎(chǔ)知識(shí)是必須的(話說現(xiàn)在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當(dāng)不錯(cuò);
3、數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)
這個(gè)比較簡(jiǎn)單,就是一個(gè)增刪改查的數(shù)據(jù)庫(kù)操作,可以看一下這本書:《SQL編程練習(xí)與解答》
4、網(wǎng)絡(luò)協(xié)議
至少需要學(xué)習(xí)兩種基礎(chǔ)的協(xié)議,HTTP協(xié)議與Socket協(xié)議;
5、Android基礎(chǔ)知識(shí)
有了以上的鋪墊,再來看Android,是不是覺得輕松了很多呢?至于基礎(chǔ)知識(shí)的學(xué)習(xí)順序,最好的方法就是按照Android SDK幫助文檔當(dāng)中的Dev Guide里面的順序,我的《Android視頻教程》也基本上是按照這個(gè)順序錄制的;
6、服務(wù)器端開發(fā)知識(shí)
由于很多Android應(yīng)用程序都需要服務(wù)器端的支持,所以掌握一些服務(wù)器端開發(fā)知識(shí)還是非常有必要的。至于選擇哪一種服務(wù)器端知識(shí)進(jìn)行學(xué)習(xí),就比較麻煩了,因?yàn)榧夹g(shù)的種類實(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看起來也順理成章。但是使用這種技術(shù)開發(fā)服務(wù)器端程序,非常麻煩。即使是一些簡(jiǎn)單的功能,也可能需要大量的代碼和配置文件來實(shí)現(xiàn);
b)PHP:簡(jiǎn)單易學(xué),開發(fā)快速。但是我們需要多學(xué)一種語(yǔ)言,是否得不償失,就要大家自己判斷了;
c).NET:這項(xiàng)技術(shù)的特點(diǎn)和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個(gè)麻煩的事情;
d)ruby on rails:這是我個(gè)人最喜歡的服務(wù)器端技術(shù),簡(jiǎn)潔,優(yōu)雅,寥寥幾行代碼,就可以實(shí)現(xiàn)很復(fù)雜的功能,但是這需要Ruby語(yǔ)言知識(shí)作為基礎(chǔ);
android軟件開發(fā)學(xué)習(xí)時(shí),選擇哪一種技術(shù),就看大家自己的判斷了。
備注:部分內(nèi)容來源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系我刪除!