亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android的系統(tǒng)及應(yīng)用的架構(gòu)

        2019-04-28 05:58:10吳珊
        電子技術(shù)與軟件工程 2019年3期
        關(guān)鍵詞:模型系統(tǒng)

        文/吳珊

        1 Android的架構(gòu)分析

        Android的架構(gòu)主要有兩部分構(gòu)成,即系統(tǒng)架構(gòu)與應(yīng)用架構(gòu)。Android系統(tǒng)架構(gòu),是Android系統(tǒng)的底層框架,其中包含了Android系統(tǒng)的基本運(yùn)行原理,并且系統(tǒng)主要的開發(fā)工作也是在此基礎(chǔ)上完成的。Android應(yīng)用框架,一種是開發(fā)默認(rèn)支持MVC架構(gòu),另外一種是目前比較流行的MVP架構(gòu)。

        2 Android系統(tǒng)架構(gòu)

        Android系統(tǒng)架構(gòu)包括四個(gè)部分,如圖1所示,由下而上依次是:LINUX內(nèi)核層、系統(tǒng)運(yùn)行庫(kù)、應(yīng)用程序框架層、應(yīng)用程序?qū)印C總€(gè)層次之間的關(guān)系是:下層為上層提供服務(wù);上層的實(shí)現(xiàn)需要調(diào)用下層的功能。

        2.1 Linux內(nèi)核層

        該層是基礎(chǔ)層,提供技術(shù)上的支撐,主要包括系統(tǒng)常用的驅(qū)動(dòng)程序,例如顯示驅(qū)動(dòng)、音頻驅(qū)動(dòng)、電源管理等,能夠完成對(duì)基本功能的操作。該層連接硬件與軟件,可以降低軟件開發(fā)的復(fù)雜度,同時(shí)對(duì)硬件設(shè)備進(jìn)行抽象。

        2.2 系統(tǒng)運(yùn)行庫(kù)

        該層包括程序庫(kù)和Android運(yùn)行時(shí)環(huán)境,其中程序庫(kù)主要包括表面管理、多媒體框架,輕量級(jí)數(shù)據(jù)庫(kù)SQLite等,普遍使用的開發(fā)語(yǔ)言是C/C++,是應(yīng)用開發(fā)必不可少的底層程序組件;Android運(yùn)行時(shí)環(huán)境包括核心程序庫(kù)和Dalvik虛擬機(jī),它的主要功能是為Android應(yīng)用的運(yùn)行提供環(huán)境支持。

        2.3 應(yīng)用程序框架層

        該層是一個(gè)應(yīng)用程序的核心,提供一些在開發(fā)過(guò)程中經(jīng)常使用的應(yīng)用程序接口,如活動(dòng)管理(Activity Manager)、通知管理(Notification Manager)、電話管理(Telephony Manager)、資源管理(Resource Manager)以及內(nèi)容提供器(Content Providers)等,在一個(gè)具體的Android應(yīng)用中通過(guò)對(duì)這些接口的使用來(lái)豐富應(yīng)用的功能,也可以通過(guò)繼承來(lái)實(shí)現(xiàn)個(gè)性化的功能擴(kuò)展,并且優(yōu)化應(yīng)用的性能。

        2.4 應(yīng)用程序?qū)?/h3>

        該層包括眾多的核心應(yīng)用,例如聯(lián)系人應(yīng)用、電話應(yīng)用以及天氣應(yīng)用等,通常使用JAVA語(yǔ)言編寫的程序,并且開發(fā)人員可以通過(guò)應(yīng)用程序框架層的接口來(lái)開發(fā)新的應(yīng)用。

        3 Android應(yīng)用架構(gòu)

        在開發(fā)Android應(yīng)用時(shí)首先應(yīng)該設(shè)計(jì)應(yīng)用框架,它的目的是使程序保持模塊化,達(dá)到高內(nèi)聚、低耦合的,這樣有利于大型的Android應(yīng)用開發(fā),各個(gè)模塊可以進(jìn)行分工合作,提高開發(fā)效率。Android應(yīng)用通常采用MVC框架和MVP架構(gòu)進(jìn)行開發(fā),本文主要對(duì)MVP架構(gòu)進(jìn)行研究。

        在MVP架構(gòu)中,其中M:模型層(Model)主要包括本地緩存訪問(wèn)組件和網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)組件;V:視圖層(View)主要由Activity、Fragment、Adapter這三個(gè)組件構(gòu)成,主要功能是完成應(yīng)用的頁(yè)面布局的設(shè)置;P:展示器層(Presenter),該層使用定制化的Presenter展示器作為基礎(chǔ)組件。

        上述介紹的三層結(jié)構(gòu)是MVP架構(gòu)的主要組成部分,另外還包括一個(gè)契約層(Contract),契約層連接著視圖層和展示器層,它定義每個(gè)模塊中的視圖層和展示器層在使用時(shí)應(yīng)該遵守的規(guī)則,使用契約層的組件中兩個(gè)接口,分別由視圖層和展示器層進(jìn)行實(shí)現(xiàn)。

        3.1 視圖層

        在視圖層中,主要使用Fragment來(lái)完成各個(gè)模塊界面的設(shè)計(jì),同時(shí)還要遵守契約層中定義的規(guī)則,將定義的抽象方法實(shí)現(xiàn),展示器層將調(diào)用這些方法來(lái)定義視圖層的數(shù)據(jù)展示方式。

        MVP架構(gòu)與MVC架構(gòu)主要的區(qū)別在于,在MVC架構(gòu)中,Activity既負(fù)責(zé)顯示視圖,又對(duì)數(shù)據(jù)進(jìn)行處理操作,但在MVP架構(gòu)中,Activity只負(fù)責(zé)實(shí)現(xiàn)Fragment與Presenter的顯示,并且負(fù)責(zé)將模型層組件顯示到展示器層。在Activity中間的協(xié)調(diào)下,F(xiàn)ragment與Presenter組件就能夠?qū)⒁晥D顯示,并能完成視圖層和模型層的交互。

        Adapter,即適配器,主要使用在具有列表界面的模塊中,例如下列列表、列表視圖等等,F(xiàn)ragment中的方法獲取展示器層返回的列表數(shù)據(jù)以后,然后添加適配器,將這些數(shù)據(jù)添加到適配器中,由適配器控制這些數(shù)據(jù)在Fragment中列表控件中進(jìn)行顯示在視圖中,同時(shí)Adapter可以監(jiān)聽(tīng)列表組件中每一個(gè)列表項(xiàng)的事件,當(dāng)用戶點(diǎn)擊任意一個(gè)列表項(xiàng)就會(huì)觸發(fā)單擊事件,在相應(yīng)的事件處理方法中實(shí)現(xiàn)操作。

        圖1:Android系統(tǒng)架構(gòu)圖

        3.2 展示器層

        展示器層主要負(fù)責(zé)整個(gè)系統(tǒng)的業(yè)務(wù)邏輯,完成視圖層與模型層數(shù)據(jù)的交互。展示器層分擔(dān)了傳統(tǒng)MVC架構(gòu)中Activity組件作為控制器層的主要職責(zé),主要是為了防止Activity設(shè)計(jì)得過(guò)于繁瑣。通過(guò)封裝向外部提供訪問(wèn)的接口,有利于單元測(cè)試和后期的維護(hù)工作。

        3.3 模型層

        模型層根據(jù)領(lǐng)域?qū)ο蠼M織數(shù)據(jù),每一個(gè)領(lǐng)域?qū)ο蟮哪P蛯訉?duì)應(yīng)四部分,分別為:數(shù)據(jù)源規(guī)范、數(shù)據(jù)倉(cāng)庫(kù)組件、本地緩存訪問(wèn)組件、網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)組件。其中數(shù)據(jù)倉(cāng)庫(kù)組件、本地緩存訪問(wèn)組件和網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)均實(shí)現(xiàn)了數(shù)據(jù)源規(guī)范接口。

        MVP架構(gòu)可以使模型層和視圖層相對(duì)獨(dú)立,功能進(jìn)行分離,交互行為都是由展示器層來(lái)完成的,最大的優(yōu)點(diǎn)是便于單元測(cè)試,主要的功能是通過(guò)調(diào)用接口來(lái)完成的,內(nèi)部的具體實(shí)現(xiàn)細(xì)節(jié)是不透明的,這樣方便編寫測(cè)試用例,有助于提高軟件的可維護(hù)性。

        猜你喜歡
        模型系統(tǒng)
        一半模型
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        3D打印中的模型分割與打包
        国产特级毛片aaaaaa视频| 亚洲综合久久久中文字幕| 亚洲一区二区日韩精品| 亚洲av免费手机在线观看| 天天天天躁天天爱天天碰2018| 日本免费人成视频播放| 亲少妇摸少妇和少妇啪啪| 成人影院在线观看视频免费| 欧美激情一区二区三区 | 国产亚洲视频在线播放| 欧美日韩视频在线第一区| 欧美国产亚洲日韩在线二区| 久久这里只有精品黄色| 自拍偷自拍亚洲一区二区| 国产真实乱对白精彩久久老熟妇女| 亚洲欧美偷拍视频| 国产三级伦理视频在线| 亚洲一区二区三区中文字幕网| 免费无码毛片一区二区app| 91高清国产经典在线观看| 日本一区二区三区一级免费| 亚洲精品中文字幕一区二区| 久久精品国产69国产精品亚洲| 日韩欧美在线播放视频| 白白色发布视频在线播放| 亚洲另类无码专区首页| 日本乱子人伦在线视频| 久国产精品久久精品国产四虎| 亚洲婷婷久久播66性av| 人妻插b视频一区二区三区| 中国一级毛片在线观看| 日韩精品高清不卡一区二区三区| 偷拍综合在线视频二区| 中国a级毛片免费观看| 亚洲精品日本| 精品国产亚洲第一区二区三区| 亚洲人成网站色www| 亚洲中文av一区二区三区| 国产av精品一区二区三区视频| av无码电影一区二区三区| 亚洲av成人精品日韩一区|