學(xué)習(xí)Android一定要有Java基礎(chǔ),最差也要類似Java的其他面對(duì)像對(duì)象語(yǔ)言的基礎(chǔ)。
很多同學(xué)從來(lái)沒(méi)有搞過(guò)軟件編程,聽(tīng)說(shuō)Android能賺錢(qián),就瘋了一樣沖過(guò)來(lái)要學(xué)習(xí)。這明顯是不靠譜的,甚至有的朋友一個(gè)字母一個(gè)字母的按照我們的例子去敲代碼,然后非常努力的把代碼背下來(lái),像背英文單詞一樣的背代碼,編程如果要是學(xué)成這個(gè)樣子,還真是讓人佩服不已?。〔还茉鯓?,學(xué)習(xí)Android你最少也要掌握J(rèn)ava語(yǔ)言的如下知識(shí)點(diǎn)才能夠開(kāi)始學(xué)習(xí):a)Java基本數(shù)據(jù)類型及其特點(diǎn)b)Java分支語(yǔ)句和循環(huán)語(yǔ)句的使用c)類和對(duì)象的創(chuàng)建和使用方法d)函數(shù)的使用e)抽象類和接口f)繼承和實(shí)現(xiàn)g)對(duì)象的多態(tài)性h)包和訪問(wèn)權(quán)限i)異常的處理j)類集框架k)eclipse的基本用法。
android 是一個(gè)專門(mén)針對(duì)移動(dòng)設(shè)備的軟件集,它包含一個(gè)操作系統(tǒng),中間件和一些重要的應(yīng)用程序(可以理解為一個(gè)手機(jī)操作系統(tǒng))。內(nèi)核采用的是linux內(nèi)核2.6,android sdk提供了在android平臺(tái)上使用java語(yǔ)言進(jìn)行開(kāi)發(fā)Android應(yīng)用程序開(kāi)發(fā)的工具和API接口。
實(shí)際就是使用java語(yǔ)言和android api 為android手機(jī)開(kāi)發(fā)應(yīng)用軟件。
無(wú)論是java,C++有基礎(chǔ)就差不多。最好用過(guò)java,Eclipse。如果進(jìn)行過(guò)一些類似的sdk開(kāi)發(fā)就應(yīng)該沒(méi)什么問(wèn)題啦。
安卓開(kāi)發(fā)要學(xué)什么?
1.熟悉java編程語(yǔ)言,android應(yīng)用程序開(kāi)發(fā)是以java語(yǔ)言為基礎(chǔ)的,所以沒(méi)有扎實(shí)的java基礎(chǔ)知識(shí),如果只是簡(jiǎn)單機(jī)械的照抄照搬別人的代碼,是沒(méi)有任何意義的。
2.具備一定的數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)知識(shí),如果明白這些可以很清楚的明白到底應(yīng)該選擇哪個(gè)數(shù)據(jù)結(jié)構(gòu)或者是算法,掌握這一方面的基礎(chǔ)知識(shí),也可以很好地為后續(xù)的學(xué)習(xí)做鋪墊。
3.需要掌握一些Linux操作系統(tǒng),在開(kāi)發(fā)過(guò)程中,我們會(huì)需要使用到一些Linux命令,所以說(shuō)Linux的基礎(chǔ)知識(shí)也是必備的。
這些基礎(chǔ)的安卓開(kāi)發(fā)要學(xué)的內(nèi)容,作為安卓開(kāi)發(fā)工程師必須掌握這些扎實(shí)的概念基礎(chǔ)和技術(shù)技能必須掌握。
安卓開(kāi)發(fā)需要哪些基礎(chǔ)知識(shí)呢?
1.java基礎(chǔ)知識(shí),在android系統(tǒng)的框架當(dāng)中,會(huì)使用大量的設(shè)計(jì)模式,所以掌握這些基礎(chǔ)的設(shè)計(jì)原則,可以在學(xué)習(xí)過(guò)程中舉一反三,更好地利用所學(xué)內(nèi)容。
2.Linux基礎(chǔ)知識(shí),android系統(tǒng)的基礎(chǔ)是Linux操作系統(tǒng),所以在開(kāi)發(fā)過(guò)程中,我們可以使用一些Linux命令。
3.數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí),這部分知識(shí)點(diǎn)相對(duì)來(lái)講比較簡(jiǎn)單,簡(jiǎn)單的說(shuō)就是增刪改查數(shù)據(jù)庫(kù)的操作。
4.網(wǎng)絡(luò)協(xié)議,http協(xié)議和socket協(xié)議這兩種基礎(chǔ)的協(xié)議是需要掌握的。
5.android基礎(chǔ)知識(shí)
6.服務(wù)器端的開(kāi)發(fā)知識(shí),很多android應(yīng)用程序都需要服務(wù)器端的支持,所以掌握一些服務(wù)器的開(kāi)發(fā)知識(shí)是很有必要的…… JAVA EE、PHP、.NET和ruby on rails這么多的類型,至于要選擇哪一種服務(wù)器端知識(shí)進(jìn)行學(xué)習(xí),這樣就會(huì)比較麻煩,畢竟技術(shù)的種類確實(shí)是很多。
1、看你將來(lái)想從來(lái)哪方面的開(kāi)發(fā)。
2、ANROID的開(kāi)發(fā)分為:
1)、Android客戶端應(yīng)用程序
如新浪微博、網(wǎng)銀客戶端、凡客、淘寶客戶端,快盤(pán)客戶端。Android在這里的應(yīng)用還是界面層的東西為主。核心還在WEB。不過(guò)從應(yīng)用層面上來(lái)講,幾乎大一點(diǎn)的網(wǎng)站,都需要有手機(jī)客戶端程序。
2)、Android通用類程序
如基于LBS(基于位置的服務(wù))的應(yīng)用 (這類一般會(huì)嵌入到客戶端應(yīng)用程序中),流媒體播放應(yīng)用。由于移動(dòng)設(shè)備的方便便捷,這類應(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ā)
想從事客戶端應(yīng)用程序的開(kāi)發(fā),要會(huì)J2EE(SSH)。(看服務(wù)器端的構(gòu)架了)
①Java基礎(chǔ)知識(shí) ②Linux基礎(chǔ)知識(shí) ③數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) ④網(wǎng)絡(luò)協(xié)議 ⑤Android基礎(chǔ)知識(shí) ⑥服務(wù)器端開(kāi)發(fā)知識(shí)①Java基礎(chǔ)知識(shí)很多朋友一上手就開(kāi)始學(xué)習(xí)Android,似乎太著急了一些。
Android應(yīng)用程序開(kāi)發(fā)是以Java語(yǔ)言為基礎(chǔ)的,所以沒(méi)有扎實(shí)的Java基礎(chǔ)知識(shí),只是機(jī)械的照抄別人的代碼,是沒(méi)有任何意義的。萬(wàn)丈高樓平地而起,Java就是筑起高樓的每一塊磚頭。
那么Java學(xué)到什么程度才算是過(guò)關(guān)呢?我個(gè)人認(rèn)為至少要掌握以下兩個(gè)方面的內(nèi)容: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ì)模式的種類非常之多,一個(gè)一個(gè)的全部掌握,是不現(xiàn)實(shí)的,必須首先掌握面向?qū)ο蟮幕A(chǔ)設(shè)計(jì)原則,有了這些基礎(chǔ)原則的支持,就可以舉一反三。
這部分內(nèi)容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書(shū)中找到。②Linux基礎(chǔ)知識(shí)大家都知道,Android系統(tǒng)的基礎(chǔ)是Linux操作系統(tǒng)。
在開(kāi)發(fā)過(guò)程當(dāng)中,我們也需要使用到一些Linux命令。所以說(shuō)一些Linux的基礎(chǔ)知識(shí)是必須的(話說(shuō)現(xiàn)在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥(niǎo)哥的私房菜》這本書(shū),寫(xiě)的相當(dāng)不錯(cuò);③數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)這個(gè)比較簡(jiǎn)單,就是一個(gè)增刪改查的數(shù)據(jù)庫(kù)操作,可以看一下這本書(shū):《SQL編程練習(xí)與解答》④網(wǎng)絡(luò)協(xié)議至少需要學(xué)習(xí)兩種基礎(chǔ)的協(xié)議,HTTP協(xié)議與Socket協(xié)議;⑤Android基礎(chǔ)知識(shí)有了以上的鋪墊,再來(lái)看Android,是不是覺(jué)得輕松了很多呢?至于基礎(chǔ)知識(shí)的學(xué)習(xí)順序,最好的方法就是按照Android SDK幫助文檔當(dāng)中的Dev Guide里面的順序,我的《Android視頻教程》也基本上是按照這個(gè)順序錄制的;⑥服務(wù)器端開(kāi)發(fā)知識(shí)由于很多Android應(yīng)用程序都需要服務(wù)器端的支持,所以掌握一些服務(wù)器端開(kāi)發(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看起來(lái)也順理成章。
但是使用這種技術(shù)開(kāi)發(fā)服務(wù)器端程序,非常麻煩。即使是一些簡(jiǎn)單的功能,也可能需要大量的代碼和配置文件來(lái)實(shí)現(xiàn);b)PHP:簡(jiǎn)單易學(xué),開(kāi)發(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ǔ);至于選擇哪一種知識(shí),就看大家自己的判斷了,畢竟每個(gè)人想法不一樣,愛(ài)好也不相同。2怎樣去獲得這些技能基礎(chǔ)。
(android大牛請(qǐng)繞開(kāi)此段)看書(shū),這確實(shí)是一個(gè)不錯(cuò)的選擇。如果你想從零開(kāi)始學(xué)習(xí)Java、Linux、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)協(xié)議、android基礎(chǔ)知識(shí)……沒(méi)錯(cuò)這些你都需要看書(shū),看很多書(shū)(這是一句廢話,跳過(guò)好了)。
但是!如果把獲取這些技能基礎(chǔ)量化為100%的話,那么看書(shū)這個(gè)途徑只能為你提供15%的進(jìn)步??匆曨l,這也是許多自學(xué)android開(kāi)發(fā)的新手必經(jīng)之路,畢竟看書(shū)只有你一個(gè)人的思維在活躍,看視頻至少是兩個(gè)人的思維在碰撞,你能發(fā)現(xiàn)你與別人的不同,如果你有心,你就能進(jìn)步更多。
基礎(chǔ)知識(shí)不用我擔(dān)心太多,至少想學(xué)android的,找基礎(chǔ)知識(shí)的資料還是沒(méi)有問(wèn)題的。在此你也可以試著了解一些android的基礎(chǔ)視頻。
也可以加入一下android的QQ群,去初步了解一下。感受一下氛圍。
這個(gè)我個(gè)人覺(jué)得很有意義。敲代碼,不為了其它的什么,就為了你能夠熟練的掌握android開(kāi)發(fā)工具,你是不是應(yīng)該多話一點(diǎn)心思在上面呢?他的重要性不比“看書(shū)+看視頻”的總和小,也許我就這樣輕描淡寫(xiě)地說(shuō)過(guò)去了,但是你最好不要輕描淡寫(xiě)地看過(guò)去,不然“返工重做”是很讓你不舒服的。
思考,沒(méi)錯(cuò),就是“想”。想你怎么把這三塊兒合在一塊兒,讓自己的學(xué)習(xí)效率更高;想你在學(xué)習(xí)中遇到哪些障礙,最后是怎么解決的,這很重要。
①Java基礎(chǔ)知識(shí) ②Linux基礎(chǔ)知識(shí) ③數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) ④網(wǎng)絡(luò)協(xié)議 ⑤Android基礎(chǔ)知識(shí) ⑥服務(wù)器端開(kāi)發(fā)知識(shí) ①Java基礎(chǔ)知識(shí) 很多朋友一上手就開(kāi)始學(xué)習(xí)Android,似乎太著急了一些。
Android應(yīng)用程序開(kāi)發(fā)是以Java語(yǔ)言為基礎(chǔ)的,所以沒(méi)有扎實(shí)的Java基礎(chǔ)知識(shí),只 是機(jī)械的照抄別人的代碼,是沒(méi)有任何意義的。萬(wàn)丈高樓平地而起,Java就是筑起高樓的每一塊磚頭。
那么Java學(xué)到什么程度才算是過(guò)關(guān)呢?我個(gè)人認(rèn)為至 少要掌握以下兩個(gè)方面的內(nèi)容: 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ì)模式 的種類非常之多,一個(gè)一個(gè)的全部掌握,是不現(xiàn)實(shí)的,必須首先掌握面向?qū)ο蟮幕A(chǔ)設(shè)計(jì)原則,有了這些基礎(chǔ)原則的支持,就可以舉一反三。
這部分內(nèi)容可以在 《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書(shū) 中找到。 ②Linux基礎(chǔ)知識(shí) 大家都知道,Android系統(tǒng)的基礎(chǔ)是Linux操作系統(tǒng)。
在開(kāi)發(fā)過(guò)程當(dāng)中,我們也需要使用到一些Linux命令。所以說(shuō)一些Linux的基礎(chǔ)知識(shí)是必 須的(話說(shuō)現(xiàn)在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥(niǎo)哥的私房菜》這本書(shū),寫(xiě)的相當(dāng)不錯(cuò); ③數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 這個(gè)比較簡(jiǎn)單,就是一個(gè)增刪改查的數(shù)據(jù)庫(kù)操作,可以看一下這本書(shū):《SQL編程練習(xí)與解答》 ④網(wǎng)絡(luò)協(xié)議 至少需要學(xué)習(xí)兩種基礎(chǔ)的協(xié)議,HTTP協(xié)議與Socket協(xié)議; ⑤Android基礎(chǔ)知識(shí) 有了以上的鋪墊,再來(lái)看Android,是不是覺(jué)得輕松了很多呢?至于基礎(chǔ)知識(shí)的學(xué)習(xí)順序,最好的方法就是按照Android SDK幫助文檔當(dāng)中的Dev Guide里面的順序,我的《Android視頻教程》也基本上是按照這個(gè)順序錄制的; ⑥服務(wù)器端開(kāi)發(fā)知識(shí) 由于很多Android應(yīng)用程序都需要服務(wù)器端的支持,所以掌握一些服務(wù)器端開(kāi)發(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看起來(lái)也順理成章。
但是使用這種技術(shù)開(kāi)發(fā)服務(wù)器端程序,非常麻煩。即使是一些簡(jiǎn)單的功能,也可能需要大量的代 碼和配置文件來(lái)實(shí)現(xiàn); b)PHP:簡(jiǎn)單易學(xué),開(kāi)發(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ǔ); 至于選擇哪一種知識(shí),就看大家自己的判斷了,畢竟每個(gè)人想法不一樣,愛(ài)好也不相同。 2怎樣去獲得這些技能基礎(chǔ)。
(android大牛請(qǐng)繞開(kāi)此段) 看書(shū),這確實(shí)是一個(gè)不錯(cuò)的選擇。如果你想從零開(kāi)始學(xué)習(xí)Java、Linux、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)協(xié)議、android基礎(chǔ)知識(shí)……沒(méi)錯(cuò)這些你都需要看書(shū),看很多 書(shū)(這是一句廢話,跳過(guò)好了)。
但是!如果把獲取這些技能基礎(chǔ)量化為100%的話,那么看書(shū)這個(gè)途徑只能為你提供15%的進(jìn)步。 看視頻,這也是許多自學(xué)android開(kāi)發(fā)的新手必經(jīng)之路,畢竟看書(shū)只有你一個(gè)人的思維在活躍,看視頻至少是兩個(gè)人的思維在碰撞,你能發(fā)現(xiàn)你與別人的不 同,如果你有心,你就能進(jìn)步更多。
基礎(chǔ)知識(shí)不用我擔(dān)心太多,至少想學(xué)android的,找基礎(chǔ)知識(shí)的資料還是沒(méi)有問(wèn)題的。在此你也可以試著了解一些 android的基礎(chǔ)視頻。
也可以加入一下android的QQ群,去初步了解一下。感受一下氛圍。
這個(gè)我個(gè)人覺(jué)得很有意義。 敲代碼,不為了其它的什么,就為了你能夠熟練的掌握android開(kāi)發(fā)工具,你是不是應(yīng)該多話一點(diǎn)心思在上面呢?他的重要性不比“看書(shū)+看視頻”的總和小,也許我就這樣輕描淡寫(xiě)地說(shuō)過(guò)去了,但是你最好不要輕描淡寫(xiě)地看過(guò)去,不然“返工重做”是很讓你不舒服的。
思考,沒(méi)錯(cuò),就是“想”。想你怎么把這三塊兒合在一塊兒,讓自己的學(xué)習(xí)效率更高;想你在學(xué)習(xí)中遇到哪些障礙,最后是怎么解決的,這很重要。
android 技術(shù)內(nèi)幕系統(tǒng)卷 第1章 準(zhǔn)備工作 /1 1.1 深入認(rèn)識(shí)android /2 1.1.1 android的系統(tǒng)構(gòu)架 /2 1.1.2 android的初始化流程 /5 1.1.3 各個(gè)層次之間的相互關(guān)系 /8 1.1.4 android系統(tǒng)開(kāi)發(fā)(移植)和應(yīng)用開(kāi)發(fā) /11 1.2 獲取和編譯android的源碼 /13 1.2.1 環(huán)境配置 /13 1.2.2 獲取android源碼 /14 1.2.3 編譯android的源碼及其工具包 /16 1.2.4 運(yùn)行android系統(tǒng) /21 1.3 開(kāi)發(fā)環(huán)境搭建 /23 1.3.1 應(yīng)用開(kāi)發(fā)環(huán)境搭建 /23 1.3.2 源碼開(kāi)發(fā)環(huán)境搭建 /26 1.4 android源碼結(jié)構(gòu) /32 1.5 小結(jié) /33 第2章 android的內(nèi)核機(jī)制和結(jié)構(gòu)剖析 /34 2.1 linux與android的關(guān)系 /35 .2.1.1 為什么會(huì)選擇linux /35 2.1.2 android不是linux /35 2.2 android對(duì)linux內(nèi)核的改動(dòng) /37 2.2.1 goldfish /37 2.2.2 yaffs2 /38 2.2.3 藍(lán)牙 /39 2.2.4 調(diào)度器(scheduler)/39 2.2.5 android新增的驅(qū)動(dòng) /40 2.2.6 電源管理 /41 2.2.7 雜項(xiàng) /41 2.3 android對(duì)linux內(nèi)核的增強(qiáng) /42 2.3.1 alarm(硬件時(shí)鐘)/43 2.3.2 ashmem(匿名內(nèi)存共享)/46 2.3.3 low memory killer(低內(nèi)存管理)/52 2.3.4 logger(日志設(shè)備)/56 2.3.5 android pmem /65 2.3.6 switch /79 2.3.7 timed gpio /88 2.3.8 android ram console /94 2.4 小結(jié) /99 第3章 android的ipc機(jī)制--binder /100 3.1 binder概述 /101 3.1.1 為什么選擇binder /101 3.1.2 初識(shí)binder /102 3.2 binder驅(qū)動(dòng)的原理和實(shí)現(xiàn) /102 3.2.1 binder驅(qū)動(dòng)的原理 /102 3.2.2 binder驅(qū)動(dòng)的實(shí)現(xiàn) /103 3.3 binder的構(gòu)架與實(shí)現(xiàn) /132 3.3.1 binder的系統(tǒng)構(gòu)架 /132 3.3.2 binder的機(jī)制和原理 /133 3.4 小結(jié) /150 第4章 電源管理 /151 4.1 電源管理概述 /152 4.2 電源管理結(jié)構(gòu) /152 4.3 android的電源管理機(jī)制 /153 4.4 android電源管理機(jī)制的實(shí)現(xiàn) /154 4.5 小結(jié) /187 第5章 驅(qū)動(dòng)的工作原理及實(shí)現(xiàn)機(jī)制 /188 5.1 顯示驅(qū)動(dòng)(framebuffer)/189 5.1.1 framebuffer的工作原理 /189 5.1.2 framebuffer的構(gòu)架 /190 5.1.3 framebuffer驅(qū)動(dòng)的實(shí)現(xiàn)機(jī)制 /190 5.2 視頻驅(qū)動(dòng)(v4l和v4l2)/201 5.2.1 v4l2介紹 /201 5.2.2 v4l2的原理和構(gòu)架 /201 5.2.3 v4l2的實(shí)現(xiàn) /202 5.3 音頻驅(qū)動(dòng)(oss和alsa)/208 5.3.1 oss與alsa介紹 /208 5.3.2 oss的構(gòu)架與實(shí)現(xiàn) /209 5.3.3 alsa的構(gòu)架與實(shí)現(xiàn) /213 5.4 mtd驅(qū)動(dòng) /214 5.4.1 mtd驅(qū)動(dòng)的功能 /214 5.4.2 mtd驅(qū)動(dòng)的構(gòu)架 /215 5.4.3 mtd驅(qū)動(dòng)的原理及實(shí)現(xiàn) /215 5.5 event輸入設(shè)備驅(qū)動(dòng) /223 5.5.1 input的系統(tǒng)構(gòu)架 /223 5.5.2 event輸入驅(qū)動(dòng)的構(gòu)架 /224 5.5.3 event輸入驅(qū)動(dòng)的原理 /224 5.5.4 event輸入驅(qū)動(dòng)的實(shí)現(xiàn) /225 5.6 藍(lán)牙驅(qū)動(dòng)(bluetooth)/235 5.6.1 bluetooth驅(qū)動(dòng)的構(gòu)架 /235 5.6.2 bluez的原理及實(shí)現(xiàn) /237 5.7 wlan驅(qū)動(dòng)(wi-fi)/244 5.7.1 wlan構(gòu)架 /244 5.7.2 wi-fi驅(qū)動(dòng)的實(shí)現(xiàn)原理 /245 5.8 小結(jié) /245 第6章 原生庫(kù)的原理及實(shí)現(xiàn) /246 6.1 系統(tǒng)c庫(kù)(bionic libc)/247 6.1.1 bionic libc功能概述 /247 6.1.2 bionic libc實(shí)現(xiàn)原理 /248 6.2 功能庫(kù) /258 6.2.1 webkit構(gòu)架與實(shí)現(xiàn) /258 6.2.2 多媒體框架與實(shí)現(xiàn) /275 6.2.3 android sqlite框架及原理 /285 6.3 擴(kuò)展庫(kù) /289 6.3.1 skia底層庫(kù)分析 /289 6.3.2 opengl底層庫(kù)分析 /299 6.3.3 android-openssl實(shí)現(xiàn)及運(yùn)用 /306 6.3.4 freetype及font engine manager /317 6.3.5 freetype結(jié)構(gòu)體系和渲染流程 /317 6.4 原生服務(wù) /328 6.4.1 audioflinger實(shí)現(xiàn) /328 6.4.2 surfaceflinger實(shí)現(xiàn) /341 6.5 小結(jié) /353 第7章 硬件抽象層的原理與實(shí)現(xiàn) /354 7.1 硬件抽象層的實(shí)現(xiàn)原理 /355 7.1.1 android hal構(gòu)架 /355 7.1.2 android hal的實(shí)現(xiàn) /357 7.2 android overlay構(gòu)架與實(shí)現(xiàn) /361 7.2.1 android overlay系統(tǒng)構(gòu)架 /361 7.2.2 overlay hal框架與實(shí)現(xiàn) /362 7.2.3 overlay與surfacefinger /369 7.3 android camera 構(gòu)架與實(shí)現(xiàn) /375 7.3.1 android camera系統(tǒng)構(gòu)架 /375 7.3.2 camera hal框架與實(shí)現(xiàn) /377 7.3.3 camera本地實(shí)現(xiàn) /385 7.4 android audio hal實(shí)現(xiàn) /394 7.4.1 audio hal框架 /395 7.4.2 android默認(rèn)的audio hal實(shí)現(xiàn) /398 7.4.3 dump功能的audio hal實(shí)現(xiàn) /400 7.4.4 基于a2dp的藍(lán)牙音頻設(shè)備hal實(shí)現(xiàn) /402 7.4.5 模擬器上的audio hal實(shí)現(xiàn) /403 7.5 android ril實(shí)現(xiàn) /404 7.5.1 android ril構(gòu)架 /404 7.5.2 radiooptiongs實(shí)現(xiàn) /407 7.5.3 libril庫(kù)實(shí)現(xiàn) /409 7.5.4 reference-ril庫(kù)實(shí)現(xiàn) /415 7.5.5 rild守護(hù)進(jìn)程實(shí)現(xiàn) /418 7.5.6 request流程分析 /423 7.5.7 response流程分析 /427 7.6 android sensor hal實(shí)現(xiàn) /434 7.6.1 android sensor構(gòu)建 /434 7.6.2 sensor hal接口 /435 7.6.3 sensor hal實(shí)現(xiàn) /438 7.7 android wifi hal實(shí)現(xiàn) /441 7.7.1 android wifi系統(tǒng)構(gòu)架 /441 7.7.2 wpa_supplicant框架 /442 7.7.3 wifi hal實(shí)現(xiàn) /444 7.8 android藍(lán)牙本地實(shí)現(xiàn) /447 7.8.1 android藍(lán)牙構(gòu)架 /447 7.8.2 bluez結(jié)構(gòu)體系 /448 7.8.3 bluez適配層 /452 7.9 android 定位實(shí)現(xiàn) /453 7.9.1 定位系統(tǒng)構(gòu)架 /453 7.9.2 gps hal實(shí)現(xiàn) /454 7.10 android power hal實(shí)現(xiàn) /459 7.11 android vibrator hal實(shí)現(xiàn) /461 7.12 小結(jié) /462 第8章 dalvik虛擬機(jī)的構(gòu)架、原理與實(shí)現(xiàn) /463 8.1 dalvik虛擬機(jī)概述 /464 8.1.1 什么是dalvik虛擬機(jī) /464 8.1.2 dalvik虛擬機(jī)的功能 /464 8.1.3 dalvik虛擬機(jī)與java虛擬機(jī)的區(qū)別 /465 8.2 dalvik構(gòu)架與實(shí)現(xiàn) /466 8.2.1 dalvik系統(tǒng)構(gòu)架 /466 8.2.2 dx和dexdump工具 /468 8.2.3 .dex文件格式解析 /470 8.2.4 dalvik內(nèi)部機(jī)制 /487 8.2.5 dalvik進(jìn)程管理 /492 8.2.6 dalvik內(nèi)存管理 /501 8.2.7 dalvik加載器 /509 8.2.8 。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:3.081秒