国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android平臺的社團服務應用研究與實現(xiàn)

2017-08-07 09:24:33劉會會
周口師范學院學報 2017年2期
關鍵詞:社團組件邏輯

王 寧,高 光,劉會會

(1.周口師范學院計算機科學與技術學院,河南周口466001;2.周口師范學院網(wǎng)絡工程學院,河南周口466001)

基于Android平臺的社團服務應用研究與實現(xiàn)

王 寧1,高 光2,劉會會1

(1.周口師范學院計算機科學與技術學院,河南周口466001;2.周口師范學院網(wǎng)絡工程學院,河南周口466001)

在移動互聯(lián)網(wǎng)浪潮下,Android智能手機已經(jīng)成為高校師生的日常通訊工具.基于Android平臺的高校社團服務應用不但可增強學生的參與度與互動性,提高社團管理的效率,而且可為管理層的決策提供數(shù)據(jù)支持.為此,提出了一種通用原生Android應用開發(fā)框架模型,并在此基礎上完成了高校社團服務應用主要功能模塊的設計與實現(xiàn).測試結果表明,該應用運行效果良好,整體上具有較好的性能和內(nèi)存優(yōu)化功能.

Android;移動互聯(lián)網(wǎng);社團服務;應用開發(fā)

隨著基于Android平臺的智能移動設備的普及,人們的日常生活正在發(fā)生全方位的變化.特別由于其強大的網(wǎng)絡通信與接入功能、靈活的可升級能力以及便捷的可操作性,相應的應用領域也越來越寬廣,尤其在高校中,使用比例日益增高.社團是高校校園文化的重要載體,是高校第二課堂的重要組成部分,師生的參與度非常高.研究并實現(xiàn)基于Android平臺的社團應用,有助于學生了解社團文化、參加社團活動、管理社團信息,也便于管理員進行社團活動的統(tǒng)一管理,提高社團辦事效率.此外,其所具備的數(shù)據(jù)統(tǒng)計、數(shù)據(jù)挖掘、數(shù)據(jù)分析等功能也對管理層的決策分析有一定的輔助作用.

1 Android應用基礎解析

1.1 Android系統(tǒng)架構

筆者闡述的應用開發(fā)建立在Android系統(tǒng)平臺之上,Android系統(tǒng)包括了Linux內(nèi)核層、系統(tǒng)運行庫層、應用程序框架層和應用程序?qū)?,其中Linux內(nèi)核層是硬件與軟件之間的抽象層,主要用于驅(qū)動管理、內(nèi)存管理、進程管理、網(wǎng)絡管理等;系統(tǒng)運行庫層包括類庫和Android運行時組件兩個部分;應用程序框架層專門為應用程序開發(fā)而設計,允許開發(fā)人員訪問核心應用程序所使用的API框架;應用程序?qū)邮茿ndroid系統(tǒng)自帶的一系列使用Java語言編寫的核心應用程序[1].Android系統(tǒng)架構如圖1所示.

圖1 Android系統(tǒng)架構圖

1.2 相關工作

由上述分析得出Android應用開發(fā)是建立在應用程序框架層的基礎之上,開發(fā)者通過應用開發(fā)框架提供的組件進行上層應用開發(fā)并與底層進行功能交互.以下介紹在此框架上設計實現(xiàn)的幾個重要基礎類.

1.2.1 BaseActivity

BaseActivity類是對基礎組件Activity類的封裝,它本質(zhì)上繼承自Activity類,具備基本的監(jiān)聽并處理用戶交互事件、對UI界面的管理等功能,進一步擴展了Activity類的功能,加入了事件總線、偵聽觸發(fā)等機制,通過派生個性化的BaseActivity子類可以實現(xiàn)不同功能需求,多個BaseActivity子類之間通過堆棧結構進行管理,充分體現(xiàn)了面向?qū)ο蟮脑O計原則[2].

1.2.2 MyApplication

MyApplication類是對基礎組件Application類的封裝,MyApplication類采用單例模式提供了一個全局唯一的應用類實例,開發(fā)者可以在其中重載多個重要的系統(tǒng)函數(shù)(如OnCreate(),onTerminate()等)來實現(xiàn)自身程序的特殊需求,并且可以將全局變量定義在該類內(nèi)部以便在應用程序中調(diào)用.

1.2.3 NetManager

NetManager類是自定義的網(wǎng)絡管理類,通過該類可對基礎組件NetHandler進行統(tǒng)一管理,網(wǎng)絡消息是以獨立線程的方式進行處理,根據(jù)與服務器端協(xié)商定義的網(wǎng)絡協(xié)議派生出不同的NetH-andler子類,在NetManager類中對這些子類進行同一管理并完成與主線程之間的異步通信,簡化了原始組件中數(shù)據(jù)處理的復雜性,降低了系統(tǒng)耦合度.

1.2.4 EventManager

EventManager類是自定義的事件管理類,在應用程序開發(fā)框架中各個模塊之間的通信是高頻事件,Android系統(tǒng)原始的通信機制較為復雜且耦合度較高,用戶自定義數(shù)據(jù)更不易處理.通過EventManager類提供的事件傳遞接口,開發(fā)者可自定義任意數(shù)據(jù)類型的事件用以不同應用模塊之間的通信,也適用于多線程間的數(shù)據(jù)通信.

1.2.5 DataManager

DataManager類是自定義的數(shù)據(jù)管理類,負責對抽象的數(shù)據(jù)實體類進行統(tǒng)一的管理和緩存操作,將對外接口封裝為統(tǒng)一函數(shù)方便調(diào)用,提高了數(shù)據(jù)存取速度和管理效率.

1.2.6 Utils

Utils類是自定義的工具類,采用單例模式實現(xiàn),將系統(tǒng)中的常用功能(如字符串解析、時間日期轉(zhuǎn)換、正則匹配等)封裝為全局的靜態(tài)函數(shù)以便在應用模塊中調(diào)用完成輔助功能[3].

2 通用Android應用開發(fā)框架

2.1 開發(fā)環(huán)境

相對于傳統(tǒng)的Eclipse開發(fā)環(huán)境,Android-Studio開發(fā)環(huán)境具有以下優(yōu)點:

1.AndroidStudio屬于Google為Android量身定做的IDE,未來還將不斷優(yōu)化完善.

2.最新版本的AndroidStudio響應速度更快,運行更為穩(wěn)定.

3.強大的UI編輯器,擺脫了在Eclipse環(huán)境下進行UI編輯的局限性,具有所見即所得的功能.

4.智能提示和補全等功能可極大地提高開發(fā)效率.

5.整合了Gradle構建工具,可更有效地對程序進行配置、編譯與打包.

6.更完善的插件系統(tǒng)和版本控制系統(tǒng).

2.2 基礎模塊封裝

對于上層應用開發(fā)者來說,雖然Android系統(tǒng)的應用程序框架層提供了多種開發(fā)組件,但是如果要快速開發(fā)一個具有良好擴展性與可維護性的應用項目,仍然需要對許多復雜的功能進行二次封裝,否則將不能專注于應用框架設計的本身[4].

在筆者闡述的通用開發(fā)框架中,基礎模塊與關鍵功能性模塊被封裝為類庫,對外統(tǒng)一提供開放性接口,進而可方便開發(fā)者在此基礎上做二次應用開發(fā).這些模塊主要包括以下幾類:

1.注解模塊:提供了UI組件與Activity之間的交互通道(包括UI組件注冊和UI事件響應等).

2.網(wǎng)絡模塊:提供精簡而統(tǒng)一的網(wǎng)絡通信接口(包括回調(diào)處理方式)以減少網(wǎng)絡通信開發(fā)的工作量.

3.圖片加載模塊:提供統(tǒng)一的圖片緩存及加載接口,以方便本地與遠程圖片的加載管理.

4.數(shù)據(jù)庫模塊:提供對本地數(shù)據(jù)庫的統(tǒng)一處理接口以減少繁瑣的原始操作編程.

2.3 MVC框架

對于應用開發(fā)框架而言,良好的可擴展性和低耦合度是開發(fā)高質(zhì)量應用的根基.在筆者闡述的應用開發(fā)架構中,MVC是業(yè)務邏輯、數(shù)據(jù)緩存以及視圖界面之間交互的橋梁,其結構如圖2所示.

圖2 通用框架MVC結構圖

下面著重介紹其中三個模型的作用與設計原理.

1.Controller控制器:在數(shù)據(jù)層與視圖層之間通過事件通知機制進行交互,具有橋梁作用.其本身建立在Android基礎組件Activity之上,主要處理關鍵的業(yè)務邏輯和交互功能.

2.Model數(shù)據(jù)模型:主要通過Entity類做數(shù)據(jù)模型抽象,Dal作為數(shù)據(jù)接口層的作用是進行數(shù)據(jù)緩存以及對外提供統(tǒng)一的數(shù)據(jù)訪問接口.

3.View視圖層:在基礎模塊封裝中通過注解方式與Activity組件進行交互,包括視圖元素訪問和視圖交互事件響應.

此外,為了提高框架的整體功能與可擴展性,在上述三大模塊基礎上設計以下輔助模塊:Net-Manager(網(wǎng)絡管理器,用于統(tǒng)一管理網(wǎng)絡通信協(xié)議類庫);Utils(工具類庫,用于實現(xiàn)字符串匹配解析、文件處理、字體管理等功能);Controls(控件類庫,用于通用可移植View控件管理);EventManager(事件管理器,用于事件驅(qū)動交互管理).

整體上,通用Android應用開發(fā)框架具有系統(tǒng)耦合度較低、系統(tǒng)擴展性較好、可移植性強且易于維護的優(yōu)點,特別適于具有一定規(guī)模的多人協(xié)作項目的開發(fā)[5].

3 社團應用設計與實現(xiàn)

3.1 數(shù)據(jù)流抽象

對數(shù)據(jù)流的統(tǒng)一抽象能保證前后端開發(fā)的一致性,而提高開發(fā)效率,則應做到數(shù)據(jù)庫、服務器數(shù)據(jù)模型、通信協(xié)議數(shù)據(jù)模型以及客戶端數(shù)據(jù)模型統(tǒng)一化,以便于進行網(wǎng)絡數(shù)據(jù)轉(zhuǎn)換和對象關系映射[6].根據(jù)對社團活動的需求分析與數(shù)據(jù)抽象化處理的面向?qū)ο笤O計思想,其抽象數(shù)據(jù)類如圖3所示.

3.2 通信協(xié)議

根據(jù)需求分析,社團移動應用中不存在實時性極高的通信需求,因而宜選擇基于http協(xié)議的短鏈接通信方式[7].在處理通信協(xié)議的編程方式中,則應采用面向?qū)ο笏枷耄瑢⒚總€獨立的通信協(xié)議處理器抽象為NetHandler子類對象,由網(wǎng)絡管理器NetManager統(tǒng)一管理,并與業(yè)務邏輯主線程之間通過事件消息機制進行數(shù)據(jù)交互.相應的網(wǎng)絡通信協(xié)議類如圖4所示.

3.3 業(yè)務邏輯

業(yè)務邏輯模塊是社團應用的功能主體部分,主要包括首頁、社團主體、活動主體、公告、個人和管理員等模塊,其中每個模塊又包括若干子模塊,具體列舉分析如下.

1.首頁模塊主要負責用戶的初始引導功能,包括以下幾個子模塊:

(1)滾動歡迎視圖邏輯:用戶首次打開應用時在客戶端調(diào)用優(yōu)化用戶體驗.

(2)用戶注冊邏輯:用戶首次使用應用時需注冊個人信息到服務器端.

(3)用戶登錄邏輯:用戶進入應用時需提交個人信息到服務器端驗證身份登錄.

圖3 抽象數(shù)據(jù)類圖

圖4 網(wǎng)絡通信協(xié)議類圖

2.社團主體模塊用于實現(xiàn)社團各項主要功能,包括以下幾個子模塊:

(1)社團主頁邏輯:所有創(chuàng)建成功的社團信息以列表形式顯示,并以置頂方式顯示推廣中的熱門社團,界面如圖5所示.

(2)社團詳情邏輯:點擊指定的社團信息可進入社團詳情(包括社團Logo、社團標簽、社團成員信息、社團相冊、社團簡介和社團公告等).

(3)社團管理邏輯:社長可以進行社團基本信息的修改、圖片的上傳或刪除、社團成員信息的查看、加入或退出社團請求的審批、社團公告的發(fā)布等操作.

(4)社團應用邏輯:社員可以查看社團基本信息與社團成員信息,并發(fā)送退出社團請求;普通用戶僅具有查看社團基本信息與發(fā)送加入社團請求的權限.

3.活動主體模塊用于實現(xiàn)活動各項主要功能,包括以下幾個子模塊:

(1)活動主頁邏輯:所有社團相關的活動信息以列表形式顯示,并以置頂方式顯示推廣中的熱門活動.

(2)活動詳情邏輯:點擊指定的活動信息可進入活動詳情(包括活動Logo、活動標簽、活動成員信息、活動相冊、活動宣傳公告等).

(3)活動管理邏輯:活動所屬社團的管理員可以進行活動信息的發(fā)布、活動基本信息的修改、活動圖片的發(fā)布、活動成員信息的查看、加入或退出活動請求的審批、社團公告的發(fā)布等操作.

(4)活動應用邏輯:用戶可以查看活動基本信息與成員信息,并可發(fā)送加入或退出活動請求.

(5)公告模塊:實現(xiàn)服務器公告功能,由社聯(lián)管理員統(tǒng)一編輯發(fā)布,將重要信息通知到所有用戶.

(6)個人信息模塊:實現(xiàn)用戶個人資料管理功能,用戶可編輯個人信息并保存到服務器端,界面如圖6所示.

(7)管理員模塊:提供給社團聯(lián)合會的后臺管理員使用的功能.在該模塊中管理員可以審批所有的創(chuàng)建社團申請,開展社團活動申請,審核成員信息,維護社團數(shù)據(jù).

圖5 社團主界面圖

圖6 用戶信息界面圖

3.4 數(shù)據(jù)統(tǒng)計與分析

社團成員包括絕大部分高校師生,服務器端數(shù)據(jù)存儲量較大,在處理數(shù)據(jù)的過程中應采用多節(jié)點數(shù)據(jù)存儲方式將不同類型數(shù)據(jù)分類存儲[8];此外,在中間層應通過ORM模型與Cache層作為橋接模塊,同時采用分布式服務器方式將邏輯服務器與數(shù)據(jù)分析服務器分離[9].數(shù)據(jù)統(tǒng)計及分析模塊有以下功能.

1.數(shù)據(jù)統(tǒng)計:統(tǒng)計當前所有用戶、社團、活動的基本數(shù)據(jù)信息;統(tǒng)計每一個社團的訪問率與社團服務的利用率;統(tǒng)計社團活動舉辦頻率與社團活動參與度;統(tǒng)計用戶加入或退出社團活動的信息等.

2.數(shù)據(jù)分析:根據(jù)數(shù)據(jù)統(tǒng)計結果,通過管理層數(shù)據(jù)分析需求模型,實時分析社團熱度、活動效果、用戶活躍度、用戶喜好、營銷推廣效果等項,并通過量化做出衡量指標.

3.數(shù)據(jù)決策:根據(jù)數(shù)據(jù)分析結果,為管理層決策做輔助智能支撐,決策人員可以在此基礎上進行二次分析以做出最優(yōu)決策.

4 測試及結論

根據(jù)軟件工程測試流程對開發(fā)完成的應用系統(tǒng)進行測試,具體測試流程如下.

1.功能模塊測試:根據(jù)邏輯劃分編寫測試用例,按照用戶使用流程著重針對網(wǎng)絡數(shù)據(jù)傳輸速度、資源文件異步加載、UI組件刷新過程、功能邏輯正確性、并發(fā)壓力等部分進行黑盒和白盒測試[].

2.Android性能測試:使用第三方Android測試工具對社團應用進行性能測試,內(nèi)存測試和CPU測試結果如圖7和圖8所示.

圖7 內(nèi)存測試結果圖

圖8 CPU測試結果圖

測試結果表明,該應用運行穩(wěn)定,通信響應及時,并能正確完成邏輯功能,具有較好的性能和內(nèi)存優(yōu)化效果,達到上線發(fā)布標準.

5 結束語

筆者提出了一種基于Android平臺的通用應用開發(fā)框架,闡述了相關應用開發(fā)的基本設計思想和技術手段;并在此基礎上設計并實現(xiàn)了具有功能完善、性能優(yōu)良的校園社團管理應用.整體上,該框架具有較好的應用性、穩(wěn)定性和擴展性,適合基于Android平臺的中小型項目研發(fā),具有較好的應用前景.

[1]彭鳳凌,王洪輝.Android手機與內(nèi)網(wǎng)PC通信系統(tǒng)的設計與現(xiàn)實[J].計算機工程與設計,2013,34(7):2333-2337.

[2]楊炳保.基于Android的移動云計算技術的研究[J].計算機技術與發(fā)展,2013,23(8):52-54.

[3]張長青,晏西國,卜慶凱.基于移動互聯(lián)網(wǎng)的APP與服務器之間的通信設計[J].青島大學學報,2015,30(2):5.

[4]蔡菁.基于Android平臺的數(shù)據(jù)同步技術的研究與實現(xiàn)[D].重慶:重慶郵電大學,2011.

[5]王哲敏.移動互聯(lián)網(wǎng)背景手機服務型APP產(chǎn)品設計分析[J].工業(yè)設計,2015(08):65.

[6]李琛.移動互聯(lián)網(wǎng)時代購物APP交互界面設計研究[D].開封:河南大學,2014.

[7]杜吉志,徐明昆.Android系統(tǒng)內(nèi)存管理研究及優(yōu)化[J].軟件,2012,24(5):69-80.

[8]馬越.Android的架構與應用[D].北京:中國地質(zhì)大學,2008:330-357.

[9]姚昱旻,劉衛(wèi)國.Android的架構與應用開發(fā)研究[J].計算機系統(tǒng)應用,2008,77(11):99-111.

[10]高巍.Android操作系統(tǒng)軟件自動化測試方案的設計與實施[D].北京:北京郵電大學,2012:440-479.

TP311.1

A

1671-9476(2017)02-0127-04

10.13450/j.cnkij.zknu.2017.02.032

2016-11-01;

2016-12-12

周口師范學院青年基金重點項目(No.zknuB3201601);周口師范學院青年基金重點項目(No.zknuB315204)

王寧(1982-),男,河南周口人,助教,碩士,研究方向為移動計算、圖形學與可視化計算.

猜你喜歡
社團組件邏輯
刑事印證證明準確達成的邏輯反思
法律方法(2022年2期)2022-10-20 06:44:24
繽紛社團
無人機智能巡檢在光伏電站組件診斷中的應用
能源工程(2022年2期)2022-05-23 13:51:50
邏輯
創(chuàng)新的邏輯
新型碎邊剪刀盤組件
重型機械(2020年2期)2020-07-24 08:16:16
U盾外殼組件注塑模具設計
最棒的健美操社團
軍事文摘(2017年16期)2018-01-19 05:10:15
女人買買買的神邏輯
37°女人(2017年11期)2017-11-14 20:27:40
K-BOT拼插社團
中學生(2016年13期)2016-12-01 07:03:51
尼玛县| 衢州市| 湖口县| 洪湖市| 西青区| 布拖县| 松原市| 梅州市| 满洲里市| 潮安县| 乃东县| 多伦县| 绥棱县| 赣榆县| 郎溪县| 陆丰市| 安顺市| 荃湾区| 定州市| 页游| 玉树县| 荥经县| 霞浦县| 福鼎市| 双城市| 玛纳斯县| 葵青区| 邹城市| 蛟河市| 凤山县| 化隆| 新郑市| 尉犁县| 万盛区| 米泉市| 通化县| 诏安县| 东安县| 都昌县| 博爱县| 屏南县|