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