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