楊嘉興 張雙媛 李潔
摘要
針對當(dāng)前中學(xué)畢業(yè)生填報志愿時對高校環(huán)境不了解的問題,本文采用Android Studio作為開發(fā)平臺,Bmob后端云和720云作為后臺服務(wù)器,開發(fā)了一款基于Android系統(tǒng)的全景校園APP應(yīng)用。本系統(tǒng)是一款基于移動端的創(chuàng)新型應(yīng)用產(chǎn)品,系統(tǒng)采用模塊化設(shè)計方法,主要包括注冊登錄模塊,全景漫游模塊和定位導(dǎo)航等模塊,旨在幫助用戶了解高校環(huán)境,通過校園全景漫游技術(shù)讓用戶可以足不出戶而身臨其境地暢游校園。
【關(guān)鍵詞】全景校園 APP 全景漫游 Android720云臺
1 引言
隨著互聯(lián)網(wǎng)技術(shù)的進(jìn)步,三維全景技術(shù)、虛擬現(xiàn)實技術(shù)登上時代舞臺并獲得了人們的青睞,現(xiàn)己廣泛應(yīng)用于廣告宣傳、建筑設(shè)計、房屋銷售等領(lǐng)域。全景校園集虛擬現(xiàn)實技術(shù)、地理信息技術(shù)、和計算機網(wǎng)絡(luò)技術(shù)等高新技術(shù)于一體,是最新的三維全景技術(shù)在高校中的一種應(yīng)用。相比二維圖像,全景校園具有全方位、實場景、三維立體效果的優(yōu)勢,全景圖能捕捉到更多的圖像信息,能自由觀看任意角度,交互性強,更具真實感和沉浸感。與視頻相比,全景圖文件更小,更方便于網(wǎng)絡(luò)應(yīng)用,更易生成,制作成本更低。
本文以湖南第一師范學(xué)院作為實例,介紹了Android平臺、720云技術(shù)、定位導(dǎo)航模塊的引入、以及全景漫游的實現(xiàn)等技術(shù)。
2 關(guān)鍵技術(shù)介紹
2.1 Android
Android系統(tǒng)是由Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)的基于Linux內(nèi)核的操作系統(tǒng),主要應(yīng)用于移動設(shè)備,如智能手機和平板電腦。Android的系統(tǒng)架構(gòu)包括Linux內(nèi)核層、系統(tǒng)運行庫層、應(yīng)用框架層和應(yīng)用層。相比于ios等系統(tǒng),Android平臺以開放性為優(yōu)勢,Android允許任何移動終端廠商加入到Android聯(lián)盟,這給第三方開發(fā)商提供了非常自由的開發(fā)環(huán)境,2012年,Android系統(tǒng)已有10萬開發(fā)者推出超過40萬的免費應(yīng)用,2013年底,Android平臺手機己占全球市場份額的百分之七十八,超過十億臺移動設(shè)備采用Android系統(tǒng)。
2.2 720云技術(shù)
720云是一款制作與分享全景圖的綜合性服務(wù)軟件。其制圖步驟簡單,易于操作,用戶不需要任何編程語言也能輕松駕馭。720云采用HTML技術(shù)生成全景漫游文件,不需要任何瀏覽器插件,簡單快捷,能夠跨平臺發(fā)布,實現(xiàn)的全景漫游畫面比在其他平臺上實現(xiàn)的畫面更加高清、流暢。它能通過添加熱點,實現(xiàn)多個場景的切換瀏覽,用戶可以任意選擇并進(jìn)行場景切換,或進(jìn)或退,仿佛置身于真實場景之中。720云生成的全景圖作品既可以通過其云服務(wù)上傳到云端供他人欣賞,也可將全景圖作品導(dǎo)出到用戶自己的硬盤中對作品的使用范圍進(jìn)行擴展。
2.3 Bmob后端云
與傳統(tǒng)物理服務(wù)器相比,云計算服務(wù)器具有可擴展性高、密度高及虛擬化能力強等顯著特點。Bmob后端云服務(wù)器具有實時數(shù)據(jù)與文件存儲功能,可作為連通應(yīng)用“云與端”數(shù)據(jù)的橋梁。Bmob后端云除能存儲一般應(yīng)用文本信息外,還可以存儲圖片、視頻、音頻、地理位置等信息。
3 全景校園圖的制作以及漫游實現(xiàn)
本文以湖南第一師范學(xué)院作為拍攝樣例。首先選取拍攝地點,對每個地點用相機采集六張照片,使用PTGui軟件進(jìn)行拼接成全景圖,結(jié)合Photoshop進(jìn)行細(xì)節(jié)方面的修繕。最后將全景圖以1:1或者2:1的比例上傳至720云,對其進(jìn)行瀏覽、制作特效、添加熱點、嵌入音樂等優(yōu)化處理。如圖1所示。
4 系統(tǒng)功能結(jié)構(gòu)設(shè)計
本系統(tǒng)采用Client/Serve結(jié)構(gòu),如圖2所示。系統(tǒng)采用第三方服務(wù)平臺Bmob云存儲用戶信息,720云服務(wù)器存儲高校全景漫游相關(guān)文件,服務(wù)器端與客戶端通過移動數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行通信,實現(xiàn)“云與端”之間數(shù)據(jù)的上傳與下載。
4.1 注冊登錄模塊
注冊需要用戶填寫賬號密碼等個人信息,點擊注冊按鈕后,Android移動端連接Bmob云服務(wù)器,將用戶信息存儲到Bmob云服務(wù)器端數(shù)據(jù)庫。在注冊過程當(dāng)中,服務(wù)器會對注冊用戶信息進(jìn)行檢查,以避免相同用戶名被注冊。具體實現(xiàn)流程如圖3所示。
登錄需要用戶輸入賬號與密碼,點擊登錄按鈕后,Android移動端連接Bmob云服務(wù)器,服務(wù)器對登錄信息進(jìn)行驗證檢查,驗證用戶信息正確后服務(wù)器向移動端返回登錄信息,用戶即可登錄到主界面。具體實現(xiàn)流程如圖4所示。
4.2 學(xué)校檢索模塊
學(xué)校搜索選擇功能采用Android自定義支持快速搜索篩選的選擇控件實現(xiàn)。該控件由Dialog、SearchView、ListView、Button組成,Dialog用來承載選擇控件,SearchView實現(xiàn)輸入,ListView展示結(jié)果,Button跳轉(zhuǎn)界面。用戶可通過搜索功能快速找到目標(biāo)院校,選定后通過確認(rèn)按鈕跳轉(zhuǎn)到對應(yīng)的學(xué)校功能選擇頁面。
4.3 校園全景漫游模塊
校園全景漫游通過瀏覽器加載的的形式實現(xiàn),開發(fā)者后臺上傳全景漫游文件至720云服務(wù)器,移動用戶端通過數(shù)據(jù)網(wǎng)絡(luò)訪問720云服務(wù)器,下載云服務(wù)器中的全景漫游文件,以瀏覽器為載體展現(xiàn)校園全景漫游,核心功能代碼如下:
Intent it-new Intent();//創(chuàng)建Intent對象
it.setAction(Intent.ACTION-VIEW);//設(shè)置動作:顯示
Uriuri=Uri.parse("http://720yun.com/t/96028jzkxng?pano_id=235536\n");//將網(wǎng)址字符串轉(zhuǎn)換為Uri對象
it.setData(uri);//設(shè)置數(shù)據(jù)
startActivity(it);//啟動適合Intent的Activity
4.4 學(xué)校定位導(dǎo)航模塊
定位導(dǎo)航功能采用getPackageManager獲取Android設(shè)備已安裝程序的包信息,通過比較已安裝程序的包名調(diào)用手機導(dǎo)航軟件,自動設(shè)定學(xué)校為目的地,顯示導(dǎo)航信息。本系統(tǒng)為方便用戶使用,自設(shè)定以打開百度地圖、高德地圖、網(wǎng)頁地圖的優(yōu)先級程序啟動順序。獲取設(shè)備已安裝程序包信息的核心代碼如下:
final PackageManagerpackageManager=context.getPackageManager();//獲取packagemanager
ListpackageInfos=packageManager.getInstalledPackages(0);//獲取所有已安裝程序的包信息
ListpackageNames=newArrayList();//用于存儲所有已安裝程序的包名
return packageNames.contains(packageName);//判斷packageNames中是否有目標(biāo)程序的包名,有TRUE,沒有FALSE
5 小結(jié)
本文采用全景漫游技術(shù)和Android studio平臺,實現(xiàn)了以湖南第一師范學(xué)院東方紅校區(qū)為例的全景校園APP的開發(fā)。用戶在填報志愿時,通過該APP可以快速檢索到學(xué)校信息,漫游校園,深入了解校園的自然、人文、周邊環(huán)境及建筑風(fēng)格,更有利于在填報大學(xué)志愿時做出正確的選擇。由于時間以及費用因素,短時間內(nèi)APP功能還未能完善,全景圖的拍攝只選取了校門口和圖書館兩個場景,在后續(xù)研發(fā)中,將繼續(xù)完善APP功能,拍攝出更多的學(xué)校場景以及擴散到更多的大學(xué),并嘗試脫離720云平臺用APP自身實現(xiàn)漫游功能。
參考文獻(xiàn)
[1]韓建林.基于Android的移動學(xué)習(xí)平臺的研究與設(shè)計[J].電子技術(shù)與軟件工程,2018(04):47-48.
[2]董春俠,司占軍.全景圖技術(shù)在全景漫游中的應(yīng)用[J].電腦知識與技術(shù),2017(02):210-211.
[3](美)Adam Gerber,(美)Clifton Craig著;靳曉輝,張文書譯.Android Studio實戰(zhàn)快速、高效地建立Android應(yīng)用[M].北京:清華大學(xué)出版社,2016.
[4]歐陽燊.Android Studio開發(fā)實戰(zhàn)從零基礎(chǔ)到App上線[M].北京:清華大學(xué)出版社,2017.
[5]汪靜,許欣,王新年.基于Bmob云平臺的消息推送系統(tǒng)設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2016(12):84-86.