APP開發(fā)
手機(jī)軟件APP組成部分
1、操作系統(tǒng):操作系統(tǒng)在手機(jī)軟件開發(fā)只占很小一部分。它的主要功能就是提供多任務(wù)調(diào)度、通信機(jī)制。有的操作系統(tǒng)會提供動態(tài)內(nèi)存分配,定時函數(shù),但這些都不是必須的。例如需要動態(tài)內(nèi)存分配的模塊,可以自己管理一個內(nèi)存池,這樣更易于隔離模塊和預(yù)測內(nèi)存需求。 大多數(shù)手機(jī)的操作系統(tǒng)都是一個很小的內(nèi)核,例如REX、HIOS等。高通REX的源代碼連C代碼加匯編也不過一千多行,編譯后不過是2、3K的代碼量。而一般手機(jī)軟件有幾百到上千個源文件、超過一百萬行的代碼。
2、用戶界面:用戶界面(UI)又稱作人機(jī)界面(MMI),它負(fù)責(zé)和用戶的交互,在必要的時候調(diào)用其它模塊的功能。除了手機(jī)的必備功能外,用戶界面也可能包含一些相對獨(dú)立的應(yīng)用程序,例如日程表、游戲等。
3、協(xié)議棧:協(xié)議棧是手機(jī)app軟件開發(fā)復(fù)雜的部分,它的復(fù)雜性在于它和基帶處理芯片的設(shè)計(jì)密切相關(guān)。只有具備芯片設(shè)計(jì)能力的企業(yè)才可能開發(fā)協(xié)議棧。協(xié)議棧會使用基帶處理芯片的所有資源。
4、驅(qū)動程序:硬件驅(qū)動一般指外設(shè)驅(qū)動,不過有的外設(shè)已經(jīng)被集成到基帶處理芯片中了。驅(qū)動程序包括鍵盤、電源管理模塊、LCD、flash、RTC、串口、USB、SIM卡或UIM卡、射頻驅(qū)動等。
5、數(shù)據(jù)業(yè)務(wù):數(shù)據(jù)業(yè)務(wù)主要有兩種:在前一種,手機(jī)相當(dāng)于一個調(diào)制解調(diào)器,PC機(jī)通過手機(jī)上網(wǎng),網(wǎng)絡(luò)協(xié)議全在PC機(jī)上,手機(jī)提供數(shù)據(jù)鏈路。另一種就是嵌入式數(shù)據(jù)業(yè)務(wù),手機(jī)內(nèi)部包含TCP/IP/PPP等協(xié)議,有時還要實(shí)現(xiàn)HTTP和嵌入式瀏覽器。
6、本地存儲:手機(jī)都有本地存儲功能,存儲電話本、短消息、用戶設(shè)定等。一般手機(jī)都有一個基于flash的文件系統(tǒng)。早期的手機(jī)存儲是基于EEPROM的。
7、其它應(yīng)用:其它應(yīng)用包括Java虛擬機(jī)、WAP瀏覽器、郵件軟件等,是一些比較大,又相對獨(dú)立的應(yīng)用模塊。一個基本的安卓APP按照功能模塊來說應(yīng)該包括:網(wǎng)絡(luò)、圖片加載、數(shù)據(jù)庫、第三方類庫。
1、操作系統(tǒng):操作系統(tǒng)在手機(jī)軟件開發(fā)只占很小一部分。它的主要功能就是提供多任務(wù)調(diào)度、通信機(jī)制。有的操作系統(tǒng)會提供動態(tài)內(nèi)存分配,定時函數(shù),但這些都不是必須的。例如需要動態(tài)內(nèi)存分配的模塊,可以自己管理一個內(nèi)存池,這樣更易于隔離模塊和預(yù)測內(nèi)存需求。 大多數(shù)手機(jī)的操作系統(tǒng)都是一個很小的內(nèi)核,例如REX、HIOS等。高通REX的源代碼連C代碼加匯編也不過一千多行,編譯后不過是2、3K的代碼量。而一般手機(jī)軟件有幾百到上千個源文件、超過一百萬行的代碼。
2、用戶界面:用戶界面(UI)又稱作人機(jī)界面(MMI),它負(fù)責(zé)和用戶的交互,在必要的時候調(diào)用其它模塊的功能。除了手機(jī)的必備功能外,用戶界面也可能包含一些相對獨(dú)立的應(yīng)用程序,例如日程表、游戲等。
3、協(xié)議棧:協(xié)議棧是手機(jī)app軟件開發(fā)復(fù)雜的部分,它的復(fù)雜性在于它和基帶處理芯片的設(shè)計(jì)密切相關(guān)。只有具備芯片設(shè)計(jì)能力的企業(yè)才可能開發(fā)協(xié)議棧。協(xié)議棧會使用基帶處理芯片的所有資源。
4、驅(qū)動程序:硬件驅(qū)動一般指外設(shè)驅(qū)動,不過有的外設(shè)已經(jīng)被集成到基帶處理芯片中了。驅(qū)動程序包括鍵盤、電源管理模塊、LCD、flash、RTC、串口、USB、SIM卡或UIM卡、射頻驅(qū)動等。
5、數(shù)據(jù)業(yè)務(wù):數(shù)據(jù)業(yè)務(wù)主要有兩種:在前一種,手機(jī)相當(dāng)于一個調(diào)制解調(diào)器,PC機(jī)通過手機(jī)上網(wǎng),網(wǎng)絡(luò)協(xié)議全在PC機(jī)上,手機(jī)提供數(shù)據(jù)鏈路。另一種就是嵌入式數(shù)據(jù)業(yè)務(wù),手機(jī)內(nèi)部包含TCP/IP/PPP等協(xié)議,有時還要實(shí)現(xiàn)HTTP和嵌入式瀏覽器。
6、本地存儲:手機(jī)都有本地存儲功能,存儲電話本、短消息、用戶設(shè)定等。一般手機(jī)都有一個基于flash的文件系統(tǒng)。早期的手機(jī)存儲是基于EEPROM的。
7、其它應(yīng)用:其它應(yīng)用包括Java虛擬機(jī)、WAP瀏覽器、郵件軟件等,是一些比較大,又相對獨(dú)立的應(yīng)用模塊。一個基本的安卓APP按照功能模塊來說應(yīng)該包括:網(wǎng)絡(luò)、圖片加載、數(shù)據(jù)庫、第三方類庫。
- 上一個:手機(jī)APP有哪些優(yōu)勢?
- 下一個:手機(jī)APP分為哪幾大類?