999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺的開發架構設計
----以家校通移動端為例

2016-08-07 11:54:04吳佳興周傳生
關鍵詞:模型系統設計

吳佳興, 周傳生

(沈陽師范大學 科信軟件學院, 沈陽 110034)

?

基于Android平臺的開發架構設計
----以家校通移動端為例

吳佳興, 周傳生

(沈陽師范大學 科信軟件學院, 沈陽 110034)

近年來隨著網絡通訊的快速發展及智能移動設備的普及,人們對智能手機的需求大幅度提升。伴隨著4G網絡的普及,智能手機的功能越來越強大,同時智能手機的持有者也對手機的要求越來越高,間接對移動軟件開發者所設計軟件的質量和穩定性提出了更高的要求。早期基于Android智能移動設備的移動應用,存在著許多瑕疵,如開發效率低下、適配性差、健壯性缺乏、在網絡較差的情況下,通信效率低下等弊端。針對現有問題,以基于Android移動端的“家校通”系統開發為例,闡述了基于Android平臺移動端開發框架的模塊設計,及相關設計思想,在此基礎上提出了更明確的分層設計模式,通過對開發架構更合理的設計,較好的解決了上述問題。

移動設備; Android; 家校通; 開發架構

0 引 言

隨著信息技術的高速發展和廣泛應用[1]及移動手機應用率的提升和更加智能化,移動應用市場上也相繼涌現了一大批的優秀的移動應用[2],應用種類涵蓋了我們日常生活的各個方面,移動應用帶給人們的便利毋庸置疑,且已經完成了從方便生活到引導生活的華麗轉型[3],尤其在我國學校教育信息化建設全面展開的大背景下,信息技術在校園中更是得到了普遍的應用。基于移動設備的教育信息系統也隨著智能移動設備份額的增加而逐步彰顯出它自身的重要性。在智能手機硬件設備與時俱進的同時,應用軟件開發者也在尋求更好的優質架構來提升移動應用的開發效率。針對該問題,本文提出了基于Android平臺的移動端開發架構,設計自身采用了良好的分層開發架構[4],將表現層與業務模型分離,從而使系統具有更好的靈活性和可維護性[5],同時對Android SDK提出進一步的改進。

1 家校通移動端功能需求

1.1 家校通系統功能分析

鑒于移動端對及時性有較高要求,家校通移動端引入了即時通信功能,使其可以進行教師與家長之間一對一的對話及同班同學之間的互動、群聊、隨時隨地發布廣播通知;并以課外交流為主、教學輔助為輔的準則設計了包括:聯系人管理,作業管理,班級圈分享等功能。

1.2 家校通系統模塊設計

根據系統功能分析,系統初步設計了包括移動IM、通訊錄、班級圈、作業管理、個人設置等功能,各功能又包含多個具體子功能。系統各個模塊從視圖、后臺邏輯模型等方面進行了相應的功能優化,使其在UI流暢度、屏幕適配、后臺任務調度機制、異常處理機制等相關方面較傳統系統都有更優秀的表現。

2 移動端架構的分層設計

2.1 MVC分層開發模式介紹

圖1 MVC模式Fig.1 MVC pattern

MVC模式[6]如圖1所示,將系統劃分為模型、視圖和控制器3部分。模型(Model):模型包含完成業務所需要的所有的數據、行為和業務規則;視圖(View):視圖是一個程序的可視化元素集合;控制器(Controller):分發系統的各種事件和業務請求,是視圖與模型間的紐帶。

2.2 視圖層(View)應用

視圖(View)是用戶看到并與之交互的界面,它負責將應用顯現給用戶和顯示模型的狀態。家校通系統采用分層設計原則,主要依賴Android SDK開發,前臺視圖層采用原生XML布局,本文對前臺視圖層進行了一部分兼容性優化,列表流暢度優化(包括加載時機、并發加載量、圖片回收機制等),圖片存儲優化(緩存技術)。

2.3 控制器(Controller)應用

在Activity中采用Intent Filter作為視圖分離器,將所有頁面跳轉信息以XML的配置形式體現在androidManifest.xml配置文件中,這種獨立配置的跳轉行為將將視圖和跳轉請求進行了分離。減小了視圖跳轉時產生的代碼耦合。本設計將采用模塊化設計,力爭實現一個邏輯層次清晰,職責明確的可配置設計框架。

2.4 多線程模型(Model)設計

圖2 業務邏輯層Fig.2 Business logic layer

業務層是與問題相關數據的邏輯抽象,代表對象的內在屬性,是整個模型的核心,業務代碼是真正完成任務的代碼,接受視圖請求的數據,并返回最終的處理結果。android平臺的框架設計中,不同于普通Web應用的是,在android應用中,UI線程(主線程)超過5秒沒響應的話就會拋出無響應異常(ANR)[7]。Android對諸如此類問題,提出了多線程設計模型[8],引入了AsyncTask、Handler等多線程任務類[9]和多線程消息模型,本文所提出的開發框架將對這2種Android原生模型[10]進行相應改造和優化,使其更符合項目需求及用戶操作習慣。

業務層的設計主要由3個模塊組成,如圖2所示。模塊設計依照開閉原則,模塊與模塊之間具有良好的獨立性,可以根據開發需求替換相應模塊[11]。模塊分別為Dispatcher消息分發模塊、Service業務處理模塊以及Parser數據解析模塊,通過UI傳來的請求首先會被消息分發模塊接收并進行任務緩存,根據不同請求分類調用相應業務方法,業務方法的執行是有序且異步的,獲取請求結果后,將需要處理的結果交給請求解析線程,使用數據解析模塊的好處在于提升應用流暢性,并屏蔽相關異常。

3 家校通構架的設計實現

此章節將用一次典型的客戶請求作為主線介紹基于Android移動端的處理請求的各個環節[12]如何運作,圖3表明了請求流向及各個組件[13]間的處理順序。

圖3 請求流向Fig.3 Request dispatch

一次請求過程多數是由用戶發起,通常是觸發頁面上的相關控件[14],請求通過Controller交由分發線程,分發線程通過內置的Handler(內置隊列)對象確定任務的先后提交順序,并將請求分發給相應的Service業務方法響應請求(網絡請求,本地數據查詢等)。這樣一次完整的請求就在多個獨立模塊的配合下完成了。具體細節將在下幾小節將以獲取好友列表為例給與介紹。

3.1 使用意圖過濾器(Intent Filter)解耦獲取好友頁面請求

獲取好友請求是由用戶通過切換好友選項卡發起的,在經過后臺Service獲取到相應數據后將獲取的結果返回至相應界面,用于響應用戶請求[15]。本系統采用Intent Filter隱式跳轉,達到視圖跳轉請求之間的解耦的目的,一個獲取好友展示頁面的跳轉行為具體以URI形式指定跳轉地址,通過指定URI的scheme、host、pathPrefix等屬性動態配置跳轉目的地址。以此達到視圖代碼解耦的目的。

3.2 使用任務分發線程(Dispatcher Thread)分發獲取好友請求

Dispatcher內存在一個異步的Handler,所有的請求都會通過這個Handler轉發,因為轉發請求是通過子線程的方式進行的,所以轉發操作不會影響到UI線程的流暢性,于此同時Handler內置的消息隊列保持了請求消息的順序,這對某些需求執行順序的請求至關重要,在Dispatcher類外部調用的是dispatch方法,然后通過handler將請求轉換到對應的perform方法。完成請求的轉換。

3.3 Json解析線程 (JsonParser Thread)解析好友數據

JsonParser將開啟新的線程來進行AsyncTask返回的結果解析,由于家校通采用JSON格式通訊,所以系統提供內置的JsonParser用以解析JSON格式,JSON解析采用jackson開源框架,將所接收到的JSON信息轉換為EntityBean以方便上層解析。

3.4 對于Android SDK其它優化

Android原生SDK對應用的支持并不是十分完美,在列表更新、緩存同步鎖、線程池等地方都存在著許多瑕疵,例如Android ListView Adapter的notifyDataSetChanged()方法,在大數據量刷新數據時通常會刷新所有列表,本設計亦給予優化,對列表的刷新使用局部刷新方法,減少了列表刷新的范圍,增強了UI的流暢性。

緩存結構使用lrucache結構,本設計對其進行了讀寫鎖優化,摒棄原始synchronized對象鎖,采用粒度更小的讀寫鎖。使得緩存在讀取速度方面較原來的對象鎖機制有了進一步的提升。

4 結 語

本文以“家校通”移動端為例提出并設計了一種基于Android平臺的便捷開發架構,視圖層采用Android原生XML進行布局,使用Android SDK 內置的Intent Filter機制作為視圖分離器,業務邏輯層采用多線程模型,模塊彼此獨立,各司其職,請求分發模塊負責請求的調度、Service業務模塊則處理相應的邏輯請求、最后由數據解析模塊負責返回數據的解析。本文所設計的華創家校通移動端(已在各大應用市場上線),就是在此架構下進行了核心功能設計。

使用此架構會對應用開發提供了許多便利,提升了應用的健壯性,具體如下:1)分發線程的內置隊列機制,保證了請求的順序,這對依賴請求順序的相關功能帶來了方便;2)開發架構優化了一部分原生Android SDK的類代碼,涉及到網絡、任務隊列、線程池、讀寫鎖、異常處理等方面;3)數據解析線程屏蔽了一些常規異常;4)業務層采用多線程模型大大減少了UI線程的壓力,增加了其流暢性。

[ 1 ]范潔. 基于Android的移動“家校通”系統設計與實現[J]. 中國信息技術教育, 2014(19):124-126.

[ 2 ]吳旭. 基于移動通信平臺的家校通系統研究與實現[D]. 武漢:華中科技大學, 2007.

[ 3 ]張志勛. 移動終端支持下的家校合作平臺的設計與實現[D]. 上海:華東師范大學, 2015.

[ 4 ]劉亮,霍劍青,郭玉剛,等. 基于MVC的通用型模式的設計與實現[J]. 中國科學技術大學學報, 2010,40(6):635-639.

[ 5 ]田娟,徐釗. 基于J2EE的MVC設計模式的分析與思考[J]. 計算機與現代化, 2010(10):54-58.

[ 6 ]薛峰,梁鋒,徐書勛,等. 基于Spring MVC框架的Web研究與應用[J]. 合肥工業大學學報(自然科學版), 2012,35(3):337-340.

[ 7 ]楊杰. 基于Android的多線程處理技術[J]. 電腦知識與技術, 2013,18(9):4251-4254.

[ 8 ]傅偉. 基于Android的校園通系統設計[J]. 廊坊師范學院學報(自然科學版), 2015,15(6):24-29.

[ 9 ]陳星,楊春花. Android異步技術的對比實驗及應用[J]. 計算機應用與軟件, 2016(2):188-191.

[10]章蓬陽,邵帥. Android異步框架的研究與設計[J]. 軟件, 2016(2):150-154.

[11]張俊暉. Android即時通信系統的設計與實現[J]. 自動化與儀器儀表, 2016,37(2):64-66.

[12]公磊,周聰. 基于Android的移動終端應用程序開發與研究[J]. 計算機與現代化, 2008(8):85-89.

[13]姚昱旻,劉衛國. Android的架構與應用開發研究[J]. 計算機系統應用, 2008(11):110-112.

[14]趙亮,張維. 基于Android技術的界面設計與研究[J]. 電腦知識與技術, 2009,5(29):8183-8185.

[15]曾健平,邵艷潔. Android系統架構及應用程序開發研究[J]. 微計算機信息, 2011(9):1-3.

Architecture design base on Android platform Taking family-school communication for example

WU Jiaxing, ZHOU Chuansheng

(Software College, Shenyang Normal University, Shenyang 110034, China)

In recent years, with the rapid development of internetwork communications and smart mobile devices, the demand for smartphones improved significantly, according to incomplete statistics, only in 2015, the domestic smartphone sales had exceeded 400 million, with the popularity of 4G networks, smartphones become more powerful, and person who using smartphone also increasingly high needs for mobile phones, which also indirectly for mobile software developers to design quality and stability of the software made more high request; early Android applications, there are many defects, such as the development of low efficiency, poor adaptation, lack of robustness in a poor network environment, inefficient communication, and so on. Based on these existing problems, this paper based on the Android mobile taking “family-school” system for example to explain the Android platform for mobile and module design based development framework, and related design ideas, on this basis, we propose a clearer division layer design mode, by appropriately adjusting the rational design and development of related infrastructure, a better solution to the above problem.

mobile device; Android; family-school communication; architecture

2016-04-12。

遼寧省教育廳普通高等學校本科教學改革研究項目(遼教發[2016]23號)。

吳佳興(1990-),男,遼寧鐵嶺人,沈陽師范大學碩士研究生; 通信作者: 周傳生(1966-),男,安徽霍邱人,沈陽師范大學教授,碩士。

1673-5862(2016)03-0359-04

TP311.5

A

10.3969/ j.issn.1673-5862.2016.03.021

猜你喜歡
模型系統設計
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 一区二区三区毛片无码| 91久久大香线蕉| 午夜欧美在线| 久久精品人妻中文视频| 91年精品国产福利线观看久久| 国产精品大白天新婚身材| 久久免费精品琪琪| 丁香五月激情图片| 国内精品自在欧美一区| 国产精品999在线| 久久性妇女精品免费| 特级做a爰片毛片免费69| 成人噜噜噜视频在线观看| 国产v精品成人免费视频71pao| 国产99欧美精品久久精品久久| 亚洲a级毛片| 性视频一区| 日本免费福利视频| 国产一区二区三区在线观看免费| 国产精品蜜臀| 国产91视频观看| 激情网址在线观看| 成人福利在线观看| 亚洲 日韩 激情 无码 中出| 国产精品女熟高潮视频| 国产精品人人做人人爽人人添| 精品视频第一页| 欧美性色综合网| 国产导航在线| 丰满的熟女一区二区三区l| 欧美成人二区| 国产精品欧美激情| 国产精品久久久久久久久| 国产区91| 久久国产亚洲偷自| 亚洲成人免费在线| 国产网站黄| 真实国产乱子伦高清| 国产Av无码精品色午夜| 欧美综合区自拍亚洲综合绿色 | 蜜臀av性久久久久蜜臀aⅴ麻豆| 欧美激情伊人| 国产杨幂丝袜av在线播放| 久久国产乱子| 国产欧美中文字幕| 九九这里只有精品视频| 亚洲天堂视频在线免费观看| 日本不卡在线播放| 久久精品无码一区二区日韩免费| 欧美日本视频在线观看| 亚洲成年人网| 91小视频版在线观看www| 伊伊人成亚洲综合人网7777| 最新日本中文字幕| 国产aaaaa一级毛片| 日韩欧美高清视频| 亚洲人成人伊人成综合网无码| 国产丝袜丝视频在线观看| 六月婷婷激情综合| 欧美色视频网站| 在线中文字幕网| 欧美性爱精品一区二区三区| 国产精鲁鲁网在线视频| 亚洲中文制服丝袜欧美精品| 日本国产精品一区久久久| 欧洲极品无码一区二区三区| a亚洲天堂| 亚洲欧美另类专区| 亚洲人成电影在线播放| 伊人久久精品亚洲午夜| 久久毛片基地| 国产va在线| 亚洲午夜福利精品无码不卡| 97国产成人无码精品久久久| 亚洲系列无码专区偷窥无码| 亚洲欧州色色免费AV| 国产成人福利在线视老湿机| 在线色国产| 日本三级欧美三级| 亚洲精品在线观看91| 97在线碰| 国产AV毛片|