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

        ?

        基于MVC模式的安卓系統(tǒng)工程結(jié)構(gòu)設(shè)計(jì)

        2016-10-25 08:15:15陳偉
        中國(guó)科技信息 2016年19期
        關(guān)鍵詞:安卓調(diào)用通訊

        基于MVC模式的安卓系統(tǒng)工程結(jié)構(gòu)設(shè)計(jì)

        隨著安卓系統(tǒng)的快速發(fā)展,基于安卓系統(tǒng)的軟件開發(fā)越來越流行。根據(jù)Kantar WorldPennel發(fā)布的最新數(shù)據(jù),IOS系統(tǒng)在中國(guó)市場(chǎng)的份額為27.1%,而Android系統(tǒng)的市場(chǎng)份額則高達(dá)71.4%。Android系統(tǒng)及應(yīng)用主要是用在目前智能終端設(shè)備上,例如:手機(jī)、PAD等,不僅可以實(shí)現(xiàn)語音視頻的基礎(chǔ)通信需求,而且還可以滿足現(xiàn)場(chǎng)工業(yè)控制的功能要求。本文主要是基于MVC模式來設(shè)計(jì)安卓系統(tǒng)工程結(jié)構(gòu)。從而降低安卓系統(tǒng)開發(fā)人員的開發(fā)難度,提高開發(fā)效率。

        MVC是三個(gè)單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Controller)。MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。采用MVC模式設(shè)計(jì)的架構(gòu)具有低耦合性、代碼重用性等特點(diǎn),能有效地降低軟件的開發(fā)成本,有利于提高軟件的可維護(hù)性和工程化管理。MVC模式有諸多優(yōu)勢(shì),將MVC模式應(yīng)用到安卓系統(tǒng)項(xiàng)目的開發(fā)中,必然可以提高安卓項(xiàng)目的開發(fā)質(zhì)量,降低維護(hù)難度。

        系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

        在安卓系統(tǒng)項(xiàng)目的開發(fā)過程中,沒有一個(gè)明確的代碼開發(fā)規(guī)范和結(jié)構(gòu),會(huì)導(dǎo)致開發(fā)的系統(tǒng)模塊難以維護(hù),各個(gè)模塊之間處于高耦合度狀態(tài)。會(huì)給后期的維護(hù)和升級(jí)帶來很大的困難。

        在安卓項(xiàng)目的開發(fā)中使用MVC思想來設(shè)計(jì)項(xiàng)目的結(jié)構(gòu),能使得模塊的分工明確,代碼可復(fù)用性高,模塊之間的耦合度降低,有利于代碼的修改和移植,整個(gè)系統(tǒng)的結(jié)構(gòu)清晰。安卓系統(tǒng)的MVC實(shí)現(xiàn)思路如圖1所示。

        圖1 Android工程結(jié)構(gòu)

        在上圖中將工程結(jié)構(gòu)分為交互層、控制器層、業(yè)務(wù)層、中間數(shù)據(jù)池、工具類、文件系統(tǒng)、數(shù)據(jù)庫(kù)、通訊模塊、服務(wù)器端9部分。

        交互層:負(fù)責(zé)客戶端的頁(yè)面展示和人機(jī)交互。

        控制器層:負(fù)責(zé)調(diào)用業(yè)務(wù)層方法和將業(yè)務(wù)層處理結(jié)果返回給交互層,是交互層和業(yè)務(wù)層的橋梁。

        業(yè)務(wù)層:負(fù)責(zé)處理系統(tǒng)的主要業(yè)務(wù)邏輯。

        工具類:負(fù)責(zé)向業(yè)務(wù)層提供支持,包括對(duì)客戶端數(shù)據(jù)庫(kù)的訪問以及系統(tǒng)的文件的操作。

        中間數(shù)據(jù)池:用于緩存系統(tǒng)中的臨時(shí)數(shù)據(jù),提供給業(yè)務(wù)層做臨時(shí)數(shù)據(jù)支持。

        通訊模塊:Android系統(tǒng)的通訊主要分為兩種類型,一種是自定義通訊協(xié)議,通過Socket模式來達(dá)到與服務(wù)器交互。另一種是調(diào)用WebService接口來與服務(wù)器交互。通訊模塊負(fù)責(zé)系統(tǒng)的數(shù)據(jù)傳輸與通訊,對(duì)整個(gè)android應(yīng)用提供支持。

        服務(wù)器端:為Android客戶端提供業(yè)務(wù)支持,是整個(gè)系統(tǒng)的核心部分。

        整體安卓系統(tǒng)設(shè)計(jì)結(jié)構(gòu)的實(shí)現(xiàn)思路為:用戶通過Activtiy所展示的頁(yè)面與系統(tǒng)做交互,Activity根據(jù)用戶所選擇的操作去告訴控制器調(diào)用業(yè)務(wù)層的哪個(gè)方法,根據(jù)控制器調(diào)用業(yè)務(wù)層返回的結(jié)果刷新Activity??刂破髟谡麄€(gè)程序中負(fù)責(zé)響應(yīng)Activity的事件請(qǐng)求并調(diào)用業(yè)務(wù)層的方法,在業(yè)務(wù)層調(diào)用結(jié)束后通知Activity刷新或是跳轉(zhuǎn)。如果調(diào)用業(yè)務(wù)層有異常情況,控制器負(fù)責(zé)將錯(cuò)誤信息返回給Activity通知用戶。業(yè)務(wù)層負(fù)責(zé)處理整個(gè)客戶端的業(yè)務(wù)邏輯處理。業(yè)務(wù)層的主要工作還是將客戶端從服務(wù)器獲取的數(shù)據(jù)進(jìn)行轉(zhuǎn)換或處理。工具類負(fù)責(zé)對(duì)業(yè)務(wù)層的工具支持。比如說文件的訪問、復(fù)制、修改、客戶端數(shù)據(jù)庫(kù)的連接、增刪改查、客戶端數(shù)據(jù)加密等。中間數(shù)據(jù)池存儲(chǔ)一些在軟件運(yùn)行過程中的臨時(shí)數(shù)據(jù)或是業(yè)務(wù)層在處理業(yè)務(wù)時(shí)常需要的數(shù)據(jù)。中間數(shù)據(jù)池是以Java中Map的對(duì)象存儲(chǔ)數(shù)據(jù),即鍵值對(duì)。中間數(shù)據(jù)池的好處是其中的數(shù)據(jù)隨時(shí)都可以被訪問,沒有訪問范圍,可以避免不同Activity之間跳轉(zhuǎn)攜帶數(shù)據(jù)的繁瑣操作。缺點(diǎn)是數(shù)據(jù)的Key使用需要有規(guī)范的寫法,否則有可能導(dǎo)致數(shù)據(jù)池內(nèi)數(shù)據(jù)混亂,造成程序的業(yè)務(wù)處理錯(cuò)誤。還有就是當(dāng)客戶端程序出現(xiàn)無法恢復(fù)的錯(cuò)誤時(shí),數(shù)據(jù)池會(huì)隨之銷毀,用戶需要重新打開程序。通訊模塊是客戶端與服務(wù)器溝通的橋梁,通訊模塊負(fù)責(zé)將客戶端的數(shù)據(jù)傳輸?shù)椒?wù)器和接收服務(wù)器的響應(yīng)和數(shù)據(jù)。是客戶端與服務(wù)器的溝通橋梁。

        在Android開發(fā)過程中,采用這種系統(tǒng)結(jié)構(gòu)符合MVC的設(shè)計(jì)思想,整個(gè)系統(tǒng)不混亂臃腫,各個(gè)模塊都有其單獨(dú)的功能。工程維護(hù)、調(diào)試和擴(kuò)展起來也比較容易。其中工具類、數(shù)據(jù)池在其他工程中也可以進(jìn)行重用。

        圖2 Android工程結(jié)構(gòu)圖

        圖3 登錄序列圖

        實(shí)例解析

        下面以模擬系統(tǒng)登錄業(yè)務(wù)為例,結(jié)合上述Android工程的MVC設(shè)計(jì)思想進(jìn)行實(shí)例解析。工程結(jié)構(gòu)如圖2所示。

        在項(xiàng)目結(jié)構(gòu)中,communication包為通訊模塊,根據(jù)系統(tǒng)的服務(wù)器支持不同,可以選擇Socket通訊模式或WebService調(diào)用。Service包為系統(tǒng)的業(yè)務(wù)實(shí)現(xiàn)類。Support包下包括中間數(shù)據(jù)池和控制器。Utils包為工具類。View包下放所有頁(yè)面的類。

        根據(jù)登錄的業(yè)務(wù)需求結(jié)合項(xiàng)目的結(jié)構(gòu)?設(shè)計(jì)登錄的序列圖如圖3所示。

        當(dāng)用戶在登錄Activity輸入登錄信息點(diǎn)擊確定后,LoginActivity先將登錄信息放入數(shù)據(jù)池,然后通知控制器調(diào)用業(yè)務(wù)層的登錄方法。業(yè)務(wù)層在接收到控制器的調(diào)用后從數(shù)據(jù)池中取出登錄信息并做處理,然后通知通訊模塊去調(diào)用服務(wù)器的登錄方法。通訊模塊負(fù)責(zé)調(diào)用服務(wù)器的登錄方法并將服務(wù)器返回的數(shù)據(jù)傳回給業(yè)務(wù)層,業(yè)務(wù)層再將數(shù)據(jù)放回到中間數(shù)據(jù)池。這時(shí)控制器從返回的數(shù)據(jù)判斷登錄方法執(zhí)行的狀態(tài)是成功還是出現(xiàn)異常。如果出現(xiàn)異常則給用戶進(jìn)行提示,如果正常跳轉(zhuǎn)到應(yīng)用首頁(yè),完成整個(gè)登錄操作。

        結(jié)語

        在本文中敘述了安卓項(xiàng)目的MVC設(shè)計(jì)思想,以登錄為實(shí)例分析了如何將MVC設(shè)計(jì)思想應(yīng)用到實(shí)際的開發(fā)過程中。在安卓系統(tǒng)的開發(fā)結(jié)構(gòu)中應(yīng)用這種MVC設(shè)計(jì)模式,可以使開發(fā)人員的開發(fā)思路清晰,也使得系統(tǒng)各個(gè)模塊之間分工明確。應(yīng)用基于MVC開發(fā)模式的系統(tǒng)結(jié)構(gòu)可以極大地降低安卓應(yīng)用軟件后期維護(hù)難度,具有高可擴(kuò)展性。從而延長(zhǎng)了軟件的生命周期。

        10.3969/j.issn.1001- 8972.2016.19.019

        猜你喜歡
        安卓調(diào)用通訊
        《茶葉通訊》簡(jiǎn)介
        茶葉通訊(2022年2期)2022-11-15 08:53:56
        《茶葉通訊》簡(jiǎn)介
        茶葉通訊(2022年3期)2022-11-11 08:43:50
        通訊報(bào)道
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        文物表情包
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        一種基于安卓系統(tǒng)的手機(jī)側(cè)抓包分析方法
        通訊簡(jiǎn)史
        安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
        亚洲欧美v国产蜜芽tv| 最爽无遮挡行房视频| 亚洲视频一区| 国产一区二区三区精品久久呦| 日韩熟女精品一区二区三区视频| 亚洲熟妇自偷自拍另类| 国产乱国产乱老熟300部视频| 五月天综合在线| 亚洲av综合色区久久精品天堂| 中文字字幕在线中文乱码解| 国产女主播白浆在线观看| 性夜夜春夜夜爽aa片a| 日本肥老熟妇在线观看| 不卡一本av天堂专区| 人与禽性视频77777| 国产精品一区二区在线观看99| 亚洲妇女av一区二区| 日本人妖熟女另类二区| 日夜啪啪一区二区三区| 亚洲熟女网站| 日本在线一区二区在线| 国产女人18毛片水真多18精品| 中国老妇女毛茸茸bbwbabes| 国产91一区二这在线播放| 亚洲永久免费中文字幕| 欧美最猛黑人xxxx黑人猛交| 天美麻花果冻视频大全英文版| 偷拍自拍一区二区三区| 国产一区二区三区不卡在线观看 | 女人高潮被爽到呻吟在线观看| 亚洲 国产 哟| 日韩一区二区三区人妻中文字幕| 日本顶级metart裸体全部| 免费a级毛片无码a| 中文字幕麻豆一区二区| 免费的小黄片在线观看视频| 蜜桃视频无码区在线观看| 亚洲人成人一区二区三区| 国产精品毛片一区二区三区| 99国语激情对白在线观看| 日韩精品无码熟人妻视频|