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