周紹景 應杰 潘宏斌 楊正元 黃建
摘要:隨著智能終端的普及,如何高效、低成本的將基于B/S結構的PC應用轉換為Android應用成了當前最主要的問題。通過使用WebView組件轉換應用并對轉換后的應用進行測試分析,結果表明該方法能夠高效、低成本的完成應用的轉換。
關鍵詞:B/S結構;WebView組件;Android應用
中圖分類號:TP311.1 文獻標識碼:A 文章編號:1007-9416(2018)05-0053-01
隨著移動應用的發展,移動終端的擁有者不斷的增長,GSMA在《移動經濟2017》中指出,亞太地區獨立移動用戶已經增長至31億,達到全球增幅的66.6%,使得全球的消費者消費行為也發生了顯著的變化。互聯網企業為了抓住移動互聯網所帶來的契機,著手對基于B/S結構開發的PC應用(下稱PC應用)進行轉換,使企業應用能登上移動終端的舞臺繼而增加企業在市場的競爭力。尋找一個高效、低成本的轉換方法成了如今迫切需要解決的難題。本文對PC應用進行概述,然后提出轉換方法,最后對其進行分析。
1 PC應用概述
PC應用是將傳統C/S結構的業務邏輯層和視圖層進行分離所形成的。PC應用將應用程序分為表示層、應用邏輯層和數據連接層三個層次,表示層向服務器發送用戶請求以及對用戶進行視圖展示;應用邏輯層接受用戶請求并進行相關的業務邏輯處理;數據連接層與應用邏輯層進行數據交互[1]。
PC應用通過瀏覽器發起HTTP請求,服務器接收到請求后進行業務邏輯處理,當業務邏輯涉及數據交互時,應用服務器將與數據庫服務器交互, PC應用程序工作原理如圖1所示。PC應用可以進行服務器的橫向擴展減緩服務器壓力,使用瀏覽器作為通用的客戶端,在進行應用升級和維護時,只需對服務器進行相關操作實現了客戶端的零處理[2]。
2 PC應用轉換成安卓應用
2.1 PC應用轉換成安卓應用的思路
PC應用向安卓應用轉換時,只需要對視圖層進行轉換,因此可以將需要被轉換的應用作為Web應用對待。
WebView組件是安卓軟件開發工具包中的組件之一,用于瀏覽本地或遠程網頁。通過WebView組件在安卓應用中加載顯示本地網頁,從而實現對復雜網頁的封裝達成Web應用轉換到安卓應用的目的。
2.2 PC應用向安卓應用轉換的案例
本文使用IntelliJ IDEA工具將PC應用轉換成安卓應用,具體步驟如下:
(1)通過IntelliJ IDEA新建一個安卓項目,將需要轉換的Web頁面放入assets文件夾中。
(2)在activity視圖文件中插入
(3)在activity視圖相關的java類中實例化WebView組件并將其余activity視圖中的WebView標簽相關聯。
(4)調用WebView中的getSettings().setJavaScriptEnabled()方法支持JavaScript的使用。
(5)對setWebViewClient()方法進行復寫,使超鏈接只能在當前應用中打開。
(6)通過對onKeyDown()方法進行復寫,使得用戶觸摸返回系統按鍵時不再結束進程而是調用goBack()方法進行頁面回退[3]。
(7)還需要在WebView組件的loadURL()方法引入Web頁面的首頁,當安卓應用進程一經創建便顯示Web頁面的首界面。
(8)最后避免出現一打開安卓應用便出現Web page not available的錯誤,還需要在AndroidManifest.xml文件中的manifest標簽下進行網絡權限的配置。通過添加
3 轉換分析
3.1 轉換測試
對各類Web頁面進行多次轉換實驗,該方法都能有效地使封裝后形成安卓應用正常運行,因此轉換完成后的安卓應用能夠投入實際使用。
通過對現有安卓應用進行APK安裝包導出,讓用戶能夠下載使用應用。具體方法如下:
通過點擊IntelliJ IDEA菜單中的Build->Generate Signed APK在彈出的窗口中對安卓應用的密匙庫地址、密碼、有效時間等進行設置。選中創建的密匙并鍵入其密碼即可完成安卓應用的APK安裝包的導出。
3.2 轉換分析
該方法轉換形成的安卓應用能夠很好的融入布局;在轉換時還可以進行二次開發,通過JavaScript、CSS等HTML語言對安卓應用界面進行修飾美化,還能使用JAVA語言對安卓應用的功能進行增強;開發人員只需耗費極少的時間和精力即可完成應用程序的轉換,同時應用的升級與維護極其方便;PC應用和安卓應用可以共用同一段源代碼,在提升代碼復用性的同時降低了維護的成本。
4 結語
闡述了PC應用向安卓應用轉換的方法,該方法當對PC應用轉換時,無需再次開發或修改源代碼達到了減免開發成本和時間的目的。開發者還可以在轉換的過程中通過WebView組件對轉換后形成的安卓應用視圖進行美化,提升用戶的體驗度。PC應用和轉換后形成的安卓應用性能相差無幾,但由于WebView組件支持JavaScript的使用,允許應用中的JavaScript代碼調用后端代碼,給應用程序的安全帶來威脅[4]。轉換完成后需要對安卓應用進行安全系數提升,完善該缺陷。
參考文獻
[1]馬馳.基于BS結構的數字媒體資源管理系統的設計與實現[D].遼寧:大連海事大學,2016.
[2]朱坤帥.基于BS架構的業務化空間環境模式集成平臺[D].北京:中國科學院國家空間科學中心,2017.
[3]王運生,聶芬.基于WebView組件的Android平臺網頁封裝程序設計[J].智能計算機與應用,2013,3(6):104-106.
[4]趙光澤,李暉,孟楊. Android平臺WebView組件安全及應用加固研究[J].信息網絡安全,2015,(10):64-65.