- 相關推薦
移動互聯(lián)網(wǎng)運用框架功能要點及設計思路論文
移動互聯(lián)網(wǎng)的快速發(fā)展是當今科技領域不可忽視的潮流,移動互聯(lián)網(wǎng)是移動和互聯(lián)網(wǎng)融合的產(chǎn)物,繼承了移動隨時、隨地、隨身和互聯(lián)網(wǎng)分享、開放、互動的優(yōu)勢,是整合二者優(yōu)勢的“升級版本”[1]。從個人的通信行為規(guī)律來講,移動通信和固定通信類似[2]。移動互聯(lián)網(wǎng)給用戶帶來的全新的體驗,代表了移動增值業(yè)務未來的發(fā)展方向[3]。智能終端應用作為廣大用戶使用移動互聯(lián)網(wǎng)的重要途徑,無論在推動移動互聯(lián)網(wǎng)技術創(chuàng)新上,還是在滿足廣大用戶的需求上,都扮演著越來越重要的角色。Android是當前使用范圍最廣的智能終端平臺。由于Android平臺在智能終端平臺市場份額上的領先地位,基于Android的移動互聯(lián)網(wǎng)應用具有大量的需求。在Android平臺上更加高效率地開發(fā)應用,并且保證良好的軟件結構,是所有Android研發(fā)企業(yè)和個人面臨的挑戰(zhàn)。如果能很好地解決這一問題,將能夠幫助個人開發(fā)者和企業(yè)更好地適應移動互聯(lián)網(wǎng)快速發(fā)展的節(jié)奏,創(chuàng)造更大的價值。
1Android應用開發(fā)現(xiàn)狀和應用框架需求分析
1.1發(fā)展現(xiàn)狀
當前的應用開發(fā)現(xiàn)狀:通常要從零開始,逐一開發(fā)應用所涉及的各項功能,當需要使用平臺基礎能力時,例如網(wǎng)絡、存儲等基礎能力時,必須針對功能的特性,定義并實現(xiàn)相應的基礎能力,再進一步完成功能的開發(fā)。這種開發(fā)模式存在的問題是開發(fā)時間成本高,軟件之間的代碼復用度低,軟件結構不合理。應用開發(fā)的基礎支持方面,個人或企業(yè)開發(fā)者隨著項目開發(fā)的積累,能夠提煉出可復用的功能模塊。然而作為應用開發(fā)過程中的支撐,這些模塊通用性較差,完整性不足,不能夠從本質上提高代碼的復用度,對于開發(fā)效率的提升也不夠明顯。
1.2需求分析
為了解決當前應用開發(fā)方式存在的問題,本文提出基于Android的移動互聯(lián)網(wǎng)應用框架方案。該框架的目標是滿足移動互聯(lián)網(wǎng)領域的快速發(fā)展的背景之下,個人和企業(yè)開發(fā)者高效率開發(fā)并保證項目質量的期望。應用框架的核心需求是對于網(wǎng)絡、存儲等基礎組件的定義與實現(xiàn)。在此基礎上,通過對于已實現(xiàn)基礎組件的組合,提供實用的服務,并對應用開發(fā)提供友好的調(diào)用接口。應用框架的作用是減少應用開發(fā)周期,節(jié)約人力、時間成本。開發(fā)團隊在應用框架的幫助下,可以從平臺數(shù)據(jù)存儲、網(wǎng)絡訪問和結果解析等基礎能力的實現(xiàn)細節(jié)中解放出來,專注于應用功能的設計與實現(xiàn)。
2框架設計
2.1框架結構圖
框架結構如圖1所示。應用框架位于安卓4層結構中的應用層與應用框架層之間。分為基礎能力框架與UI框架兩個部分。
2.1.1基礎能力框架
基礎能力框架的作用是提供移動互聯(lián)網(wǎng)應用需要的基礎能力和服務,包含底層的能力組件和上層的服務兩個部分。能力組件包含“數(shù)據(jù)存儲”、“網(wǎng)絡訪問與結果解析”、“日志”三大組件。“數(shù)據(jù)存儲”組件提供數(shù)據(jù)存儲方面的支持;“網(wǎng)絡訪問與結果解析”提供訪問互聯(lián)網(wǎng)并且解析響應數(shù)據(jù)的能力;“日志”組件優(yōu)化調(diào)試過程的信息輸出與對運行時的信息進行記錄。通過對3項能力的整合,支持上層的服務。例如云端一鍵備份與數(shù)據(jù)還原服務、LBS服務等。
2.1.2UI框架
UI框架的作用是提升用戶交互編程的效率。包括基于Tab的UI模板和UI控件庫兩個部分;赥ab的UI模板面向包含多個并列子功能的應用;UI控件庫封裝和優(yōu)化了與用戶交互相關控件,使得這些控件更易于使用。
2.2框架各模塊功能具體分析
2.2.1數(shù)據(jù)存儲組件
Android手機應用中數(shù)據(jù)存儲的3種主要方式是SQLite數(shù)據(jù)庫、Preference存儲、文件存儲。應用框架通過對這3種方式的支持與優(yōu)化提高開發(fā)數(shù)據(jù)存儲相關功能時的效率和質量。
2.2.1.1SQLite數(shù)據(jù)庫
Android中通過SQLite數(shù)據(jù)庫引擎來實現(xiàn)結構化數(shù)據(jù)存儲[4]。Android在運行時集成了SQLite,所以每個Android應用程序都可以使用SQLite數(shù)據(jù)庫[5]。應用框架通過以下方式提高SQLite數(shù)據(jù)庫相關開發(fā)的效率和質量:對底層數(shù)據(jù)庫操作API進行封裝,保證調(diào)用方法的統(tǒng)一性和通用性,又對數(shù)據(jù)庫操作的靈活性不造成太大的影響;通過SQL語句的優(yōu)化,實現(xiàn)高效率的數(shù)據(jù)庫操作;幫助了解數(shù)據(jù)庫基本原理的應用開發(fā)者,不用過分關注數(shù)據(jù)操作的細節(jié),更好地通過SQLite實現(xiàn)結構化數(shù)據(jù)存儲。
2.2.1.2Preference存儲
Preference提供了一種輕量級的數(shù)據(jù)存儲方法,應用場合主要是數(shù)據(jù)比較少的配置信息。它以“鍵-值”對的方式將數(shù)據(jù)保存在一個XML配置文件中[4]。相對于數(shù)據(jù)庫存儲而言,Preference存儲在操作上更加簡潔,適用于小數(shù)據(jù)量、零散的、非結構化的數(shù)據(jù)存儲。應用框架通過對于這種存儲方式的封裝,做到統(tǒng)一管理、簡化開發(fā)過程中對于Preference存儲的使用。應用框架簡化基于“鍵-值”對的數(shù)據(jù)存儲過程,并且提供便捷的同時存儲多組“鍵-值”對數(shù)據(jù)的方法。
2.2.1.3文件存儲
除了SQLite數(shù)據(jù)庫和Preference存儲這兩種方式存儲之外,文件存儲也是Android平臺重要的存儲方式。文件存儲方式適用于文本文件、PDF文件、音視頻文件和圖片等。Android提供了文件讀寫的方法。應用框架對基于流的文件讀寫進行封裝,對上層提供簡潔、具有通用性的文件讀寫接口。
2.2.2網(wǎng)絡訪問與結果解析組件
HTTP是應用層協(xié)議,用于分布式協(xié)作超媒體信息系統(tǒng),是一個客戶端和服務器端請求和應答的標準。超文本傳輸協(xié)議是互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議。所有的WWW文件都必須遵守這個標準[7]。HTTP被廣泛地運用于移動終端與服務器端的交互,它是一個基于“請求-響應”模式的協(xié)議,一個客戶機與服務器建立連接后,發(fā)送一個請求給服務器。服務器接到請求后,給予相應的響應信息[8]?蚣艿摹熬W(wǎng)絡訪問與結果解析”組件分為兩個部分:HTTP請求發(fā)起模塊,幫助開發(fā)者更加便捷地向服務器端發(fā)起請求,請求的方式包括GET和POST兩種模式。HTTP結果解析模塊,當前最為流行的網(wǎng)絡數(shù)據(jù)傳輸格式是XML,而JSON格式是一種輕量級的數(shù)據(jù)交換格式[9],載荷高、易于通過編碼進行解析的特點使其非常適合移動互聯(lián)網(wǎng)領域的數(shù)據(jù)傳輸。應用框架支持XML、JSON兩種數(shù)據(jù)格式的解析,并通過良好的設計做到解析方法的通用性。
2.2.3日志組件
在程序開發(fā)過程中,日志(Log)是廣泛使用的用來記錄程序執(zhí)行過程的機制,它既可以用于程序調(diào)試,也可以用于產(chǎn)品運營中的事件記錄。在Android系統(tǒng)中,通過工具類android.util.Log提供了日志機制。應用框架的日志組件主要涉及兩方面內(nèi)容:調(diào)試輔助以及運行事件記錄。日志組件對工具類的API進行封裝,統(tǒng)一管理應用的調(diào)試信息輸出,使得開發(fā)者在應用開發(fā)的調(diào)試過程中更簡單、便捷地使用日志。另一方面,日志組件需要結合文件或數(shù)據(jù)庫存儲組件,實現(xiàn)關鍵日志的存儲,完成重要運行事件的記錄,以備分析。
2.2.4云端一鍵備份與還原服務
移動互聯(lián)網(wǎng)應用中,用戶在使用應用的過程中會生成個人數(shù)據(jù)。為了使用戶能夠更好地享受應用服務,在應用個人數(shù)據(jù)存儲上,需要解決以下問題:個人用戶多終端數(shù)據(jù)同步,即當用戶更換手機或同時使用多臺智能終端時,終端之間的數(shù)據(jù)遷移應當是簡單易行的。當用戶手機丟失或因為應用重置,丟失本地數(shù)據(jù)存儲時,能夠恢復最新版本的數(shù)據(jù)。云端一鍵備份與還原服務是解決上述問題的有效途徑。該服務通過整合“數(shù)據(jù)存儲”、“網(wǎng)絡交互”、“日志”三大組件能力,提供了用戶數(shù)據(jù)的備份和還原能力。實現(xiàn)該服務的思路是采用配置的方式對需要備份數(shù)據(jù)進行聲明,根據(jù)配置生成網(wǎng)絡中傳輸?shù)臄?shù)據(jù),接收到數(shù)據(jù)后,經(jīng)過解析,提取數(shù)據(jù),存入數(shù)據(jù)庫。備份與還原在流程和原理上是一致的,流程圖如圖2所示。在使用該流程進行數(shù)據(jù)維護時,備份與還原的區(qū)別在于,備份時數(shù)據(jù)源是客戶端,還原時數(shù)據(jù)源是服務器端。
2.2.5UI框架
2.2.5.1基于Tab的UI模板
通過對當前熱門應用客戶端的觀察和分析,發(fā)現(xiàn)基于Tab的UI結構是一種常見的UI結構。當應用內(nèi)包含多個并列的子功能時,基于Tab的UI結構能夠很好解決手機終端有限屏幕上排列多項子功能的需求,并能夠快速地進行切換。UI框架包含一個易用的、可擴展的基于Tab的UI模板,對包含并列的子功能的應用提供支持。
2.2.5.2UI控件庫
移動互聯(lián)網(wǎng)應用在完成與用戶的交互過程中,需要使用眾多能夠實時顯示信息、允許用戶操控的UI控件。系統(tǒng)自帶控件在使用過程中,易用性不同,某些控件的調(diào)用方法較為繁瑣。UI控件庫的設計與實現(xiàn)目標是讓用戶交互相關控件更易于使用,提高用戶交互方面的開發(fā)效率。
3結束語
基于Android的移動互聯(lián)網(wǎng)應用框架順應了蓬勃發(fā)展的移動互聯(lián)網(wǎng)需要高效開發(fā)應用的趨勢,幫助企業(yè)和個人開發(fā)者減輕工作量,高效率地開發(fā)應用,保證良好的軟件結構,并且提高了代碼的復用率。該應用框架的設計與實現(xiàn)在移動互聯(lián)網(wǎng)應用開發(fā)方法的創(chuàng)新上具有重要的科研價值,在實際的產(chǎn)業(yè)開發(fā)過程中,具有廣闊的應用前景。