国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MUI框架鄉(xiāng)村旅游APP的設(shè)計與實現(xiàn)

2019-11-14 08:17陳瑞志王培錦胡瑞鑫鄭浩榮林文麒劉永鵬
軟件 2019年9期
關(guān)鍵詞:旅游景點(diǎn)景點(diǎn)旅游

陳瑞志 王培錦 胡瑞鑫 鄭浩榮 林文麒 劉永鵬

摘 ?要: 針對農(nóng)村旅游市場需求,研究了基于MUI框架的農(nóng)村旅游應(yīng)用程序的設(shè)計與實現(xiàn)。重點(diǎn)介紹了基于用戶的旅游信息過濾算法,以推薦用戶感興趣的旅游信息,并通過python編程實現(xiàn)。最后,描述了軟件實現(xiàn)的全過程。

關(guān)鍵詞?MUI框架;旅游APP;推薦算法

中圖分類號: TP311.52????文獻(xiàn)標(biāo)識碼?A????DOI:10.3969/j.issn.1003-6970.2019.09.005

本文著錄格式:陳瑞志,王培錦,胡瑞鑫,等. 基于MUI框架鄉(xiāng)村旅游APP的設(shè)計與實現(xiàn)[J]. 軟件,2019,40(9):23-26

Design and Implementation of App For Rural Tourism Based on MUI Framework

CHEN Rui-zhi, WANG Pei-jin, HU Rui-xin, ZHENG Hao-rong, LIN Wen-qi, LIU Yong-peng

Cunjin college of Guangdong ocean university,?Zhanjiang Guangdong 524094)

Abstract: Aiming at the market demand of rural tourism, this paper studies the design and implementation of rural tourism App based on MUI framework. Emphasis is laid on the user-based filtering algorithm to recommend tourism information that may be of interest to users, which is implemented by Python programming. Finally, the whole process of software implementation is described.

Key words: MUI frameworv; Tourism APP; Recommendation algorithm

0??引言

“互聯(lián)網(wǎng)+”時代的到來,各種功能各異,內(nèi)容豐富的手機(jī)APP得到開發(fā)和應(yīng)用,正在滿足人們對工作、學(xué)習(xí)、生活、娛樂等各方面的需求。近年來我國推行一系列發(fā)展鄉(xiāng)村旅游的政策,積極開發(fā)農(nóng)漁林產(chǎn)業(yè)的旅游功能,把鄉(xiāng)野生態(tài)休閑、自然旅游觀光、傳統(tǒng)民俗民樂文化、民族特色、紅色革命歷史背景、鄉(xiāng)村勞作體驗等,打造形式多樣、特色鮮明的鄉(xiāng)村旅休閑項目[1]。據(jù)相關(guān)統(tǒng)計2017年中國鄉(xiāng)村旅游達(dá)25億人次,鄉(xiāng)村旅游已成為新時代鄉(xiāng)村經(jīng)濟(jì)發(fā)展新的增長點(diǎn)[2]。鄉(xiāng)村旅游高速信息化和隨時隨地獲取旅游相關(guān)資訊等,已經(jīng)成為自助游者的迫切需求,所以基于Android平臺的鄉(xiāng)村旅游APP的開發(fā)有了日益廣泛的使用環(huán)境[4],智慧旅游成為研究熱點(diǎn)[5-12]。比如文獻(xiàn)[5]從智能醫(yī)療管理方面,研究基于Android軟件設(shè)計方案;文獻(xiàn)[6]中描述了利用Android移動設(shè)備管理系統(tǒng),實現(xiàn)對相機(jī)、藍(lán)牙、WIFI、惡意應(yīng)用等可能造成敏感數(shù)據(jù)泄露的設(shè)備功能的管控;文獻(xiàn)[9]中描述了構(gòu)建基于三層架構(gòu)模式的智慧旅游系統(tǒng)設(shè)計體系;王艷軍等[12]研究面向服務(wù)架構(gòu)的智慧旅游系統(tǒng)建設(shè)方法。

當(dāng)前的出行旅游APP的服務(wù)范圍都是局限于出名的景點(diǎn),對于一些不太出名,但是景色秀麗、空氣清新、人流量少的鄉(xiāng)村卻是鮮無人知。本文主要針對鄉(xiāng)村旅游景點(diǎn),開發(fā)一款鄉(xiāng)村旅游APP,讓驢友們能夠通過該平臺,得到更及時的鄉(xiāng)村旅游資訊,感受當(dāng)?shù)氐娘L(fēng)土人情;也讓更多的鄉(xiāng)村景點(diǎn)呈現(xiàn)在大家的視野;幫助當(dāng)?shù)厝罕姼玫乩米陨淼乩韮?yōu)勢脫貧,該APP地圖將景點(diǎn)和周邊的資源進(jìn)行關(guān)聯(lián),方便游客全身心的體驗度假的樂趣;還能夠?qū)包c(diǎn)旅游人數(shù)進(jìn)行統(tǒng)計分析,對旅游人數(shù)過多的景點(diǎn)預(yù)警提醒,保護(hù)旅游體驗和生態(tài)環(huán)境,做到循環(huán)生態(tài)旅游。

1 ?需求分析

通過調(diào)研分析發(fā)現(xiàn)人們旅游費(fèi)用成本,時間精力消耗,景點(diǎn)環(huán)境、舒適性、便利性等,是旅行者重要考慮的影響因素。通過城市周邊的鄉(xiāng)村旅游為用戶提供價廉、優(yōu)質(zhì)的郊區(qū)農(nóng)村旅游項目,讓旅游者悠閑享受優(yōu)美的田園風(fēng)光的同時,可以參加采摘園、爬山、釣魚、民宿、農(nóng)家樂、年例等鄉(xiāng)村生活體驗。

另外,鄉(xiāng)村旅游應(yīng)注重保護(hù)、傳承和弘揚(yáng)鄉(xiāng)村文化、民俗、非物質(zhì)文化遺產(chǎn)、特色美食等,以更加豐富的鄉(xiāng)村旅游產(chǎn)品和更加優(yōu)美的旅游環(huán)境,讓旅游者體驗鄉(xiāng)村文化,瀏覽山川等自然美景,體驗鄉(xiāng)村生活。

因此,設(shè)計實現(xiàn)一款城市周邊旅游觀光,體驗農(nóng)漁林自然風(fēng)光、減少城市生活壓力的返樸歸真的鄉(xiāng)野生活的APP,既能導(dǎo)航、預(yù)定住宿、飲食、景點(diǎn)推薦等,又能預(yù)定當(dāng)?shù)鼐G色有機(jī)農(nóng)產(chǎn)品,享受綠色健康、價格低廉的當(dāng)?shù)爻浴⒆?、行、玩、樂等集于一體的良好服務(wù)。

2 ?軟件系統(tǒng)設(shè)計

根據(jù)前面需求分析,設(shè)計了一款相應(yīng)的應(yīng)用軟件,下面主要從功能設(shè)計、UI設(shè)計、數(shù)據(jù)庫設(shè)計等方面來描述其設(shè)計的過程。

2.1主要功能設(shè)計

用戶提供購買特產(chǎn),查看旅游攻略,瀏覽商品,民宿預(yù)定,購物車和在線訂票等功能。用戶操作功能包括以下內(nèi)容:修改自身信息、查看訂單、購買、訂單管理、留言反饋等功能。具體功能如下:

個人中心:包括用戶注冊、登錄、查看訂單、個人信息維護(hù)、聯(lián)系客服等功能。

特色購物:當(dāng)?shù)靥禺a(chǎn)信息瀏覽、查詢、購買等,包括特色農(nóng)產(chǎn)品采購、新鮮蔬果采摘等信息的推薦及提交訂單等。

當(dāng)?shù)孛朗常好朗惩扑]、名店推薦、美食攻略、美食點(diǎn)評等相關(guān)功能。

景點(diǎn)游玩:景點(diǎn)查詢及推薦、門票信息查詢及購買、旅行攻略信息分享等功能。

民宿客棧:民宿信息瀏覽、查詢、旅游信息推薦、點(diǎn)評等功能。

主題游:旅游線路規(guī)劃、制定、推薦以及百度地圖關(guān)聯(lián)等功能。推薦旅游景點(diǎn)信息使用景點(diǎn)推薦算法實現(xiàn)。

2.2基于用戶的協(xié)同旅游信息過濾算法

數(shù)據(jù)源來自Scrapy框架爬蟲,從網(wǎng)絡(luò)上爬取鄉(xiāng)村旅游信息保存到MySql數(shù)據(jù)庫中,以Django搭建的網(wǎng)站作為載體,利用REST fromwork開發(fā)API接口,通過ORM映射獲取數(shù)據(jù)庫數(shù)據(jù)對象,應(yīng)用基于用戶的協(xié)同過濾算法,分析推薦用戶與其他用戶的興趣愛好,過濾不相關(guān)的用戶,篩選出與推薦用戶相似度較高的用戶集合,分別計算集合中推薦用戶沒旅游過的景點(diǎn)的期望評分,最后通過對評分排序進(jìn)行個性化推薦。

共同興趣愛好的旅游者,可以理解為用戶之間喜好的相似度,事實上在用戶基數(shù)比較大的情況下,要給某個用戶推薦[5],可以先用余弦相似度、歐氏距離或皮爾遜相關(guān)系數(shù)去量化該相似度,然后篩選出相似度大于闕值的集合,對集合的每個相似度與評分等參數(shù)做期望計算,取平均期望最高的前n個物品推薦給該用戶,如計算公式(1)所示。

皮爾遜相關(guān)系數(shù)公式:

皮爾遜系數(shù)主要用于度量兩個變量之間的相關(guān)(線性),根據(jù)統(tǒng)計學(xué)的定義,皮爾遜相關(guān)系數(shù)等于協(xié)方差和標(biāo)準(zhǔn)差的商,取值在[-1,1]之間,等于零表示不相關(guān),一般認(rèn)為大于0.1具有線性相關(guān)性,采用皮爾遜相關(guān)系數(shù)來衡量用戶的相似度。算法流程如圖1所示。

2.2.1??推薦模塊設(shè)計

功能描述:推薦模塊主要由排行榜和推薦功能兩個部分組成,排行榜解決推薦系統(tǒng)啟動之初的冷啟動問題,為推薦功能做鋪墊,推薦則是最終達(dá)到的目標(biāo),向用戶提供個性化推薦。

運(yùn)行流程:在排行榜頁面或首頁顯示評分靠前的旅游景點(diǎn),引導(dǎo)用戶進(jìn)入詳細(xì)頁面進(jìn)行收藏和評分。通過分析與被推薦用戶有關(guān)聯(lián)的用戶收藏和評分?jǐn)?shù)據(jù),向用戶進(jìn)行個性化推薦,流程如圖2所示。

2.2.2??推薦模塊實現(xiàn)

推薦功能算法依賴收藏、景點(diǎn)的位置、特色、美食、交通等以及評分、排行榜等因素[9],排行榜是通過從旅游評價信息中評分最高的前n個旅游景點(diǎn),進(jìn)行倒序排序。推薦部分使用基于用戶的協(xié)同過濾算法,篩選出評分大于某個分?jǐn)?shù),并且收藏過的旅游信息記錄,生成透視表,再用皮爾遜相關(guān)系數(shù)公式去計算其相似度,把相似度高的用戶數(shù)據(jù)進(jìn)行旅游景點(diǎn)評分的期望計算,最后按降序推薦給用戶。

算法實現(xiàn)過程和關(guān)鍵代碼:

第一步,獲取用戶評分?jǐn)?shù)據(jù),轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。

data = Score.objects.values('s_uid','s_bid','score')?#獲取數(shù)據(jù)

list = []

#篩選出評分>6.0并收藏的記錄

for obj in data:

length=len(Bmark.objects.filter(m_uid=obj.get?('s_uid'), ??m_bid=obj.get('s_bid')))

if length > 0 and obj.get('score') > 6.0:

list.append(obj)

ratings = pd.DataFrame(list) #轉(zhuǎn)成dataframe

ratings_pivot = ratings.pivot(index='s_uid',?columns='s_bid',values='score') ?#形成一個

第二步,對數(shù)據(jù)進(jìn)行求相關(guān)性系數(shù)計算,過濾行列都為空的數(shù)據(jù),即過濾不相關(guān)的數(shù)據(jù)。

corr = ratings_pivot.T.corr(min_periods=max/2)

corr_clean = corr.dropna(how='all') #過濾行,全為NaN的數(shù)據(jù)。

corr_clean = corr_clean.dropna(axis=1, how='all') #過濾列

第三步,篩選出與推薦用戶有關(guān)聯(lián)的用戶(系數(shù)大于0.1)。

gift = ratings_pivot.ix[uid]

gift = gift[gift.isnull()] ?# 現(xiàn)在?gift 是一個全空的序列

corr_uid = corr_clean[str(uid)].drop(str(uid)) ?# 推薦用戶與其他用戶的相關(guān)系數(shù)?Series,不包含自身

corr_uid = corr_uid[corr_uid > 0.1].dropna() ?# 篩選相關(guān)系數(shù)大于0.1的用戶

第四步,從這些用戶中篩選出推薦用戶沒瀏覽過旅游景點(diǎn),用它們的相關(guān)系數(shù)對每個旅游景點(diǎn)評分進(jìn)行計算,得出平均期望分?jǐn)?shù),將這些分?jǐn)?shù)按降序排列推薦給用戶。

for jd in gift.index: ?# 遍歷所有沒瀏覽過的旅游信息

pre = []

for other in corr_uid.index.astype(np.int64): # 遍歷相關(guān)系數(shù)大于?0.1 的用戶

if not np.isnan(ratings_pivot.ix[other, jd]):

pre.append((ratings_pivot.ix[other,jd], corr_clean[str(uid)][str(other)]))

if pre:

gift[jd] = sum([value * weight for value, weight in pre]) / sum([pair[1] for pair in pre])

bids =gift.dropna().sort_values(ascending=False)?[:10]#將gift 非空元素按降序排列[4]

2.3手機(jī)APPUI設(shè)計

手機(jī)APP分六大模塊:個人中心、特色購物、當(dāng)?shù)孛朗?、景點(diǎn)游玩、民宿客棧和主題游。將鄉(xiāng)村旅游景點(diǎn)及其服務(wù)資源做成一條龍的服務(wù):吃、住、行、游、購、娛等旅游行業(yè)的六個核心?;贛UI前端框架,最接近原生APP的高性能框架,界面風(fēng)格也接近安卓原生APP,人機(jī)交互強(qiáng),運(yùn)行起來比較流暢。

首頁使用幻燈片加六宮格的樣式,每一個宮格對應(yīng)一個功能,幻燈片一張圖片包含一個商品信息,如圖3所示,根據(jù)用戶權(quán)限,使用的功能會有所不同,顯示內(nèi)容也會有所不同,比如普通游客不能下訂單,旅行項目查詢和訂單頁面如圖4-5所示。每個功能以卡片的形式展現(xiàn)出來,再加入相應(yīng)的UI控件,點(diǎn)擊按鈕觸發(fā)事件,執(zhí)行事件代碼比如跳轉(zhuǎn)至對應(yīng)子頁面或修改當(dāng)前信息。使用Ajax技術(shù)讓前臺與后臺信息交互,向服務(wù)器發(fā)送請求并且響應(yīng)操

作信息,而且Ajax可以跨平臺使用,方便開發(fā)者開發(fā),減少開發(fā)消耗的時間,降低代碼模塊間的耦合度,提高代碼的復(fù)用性。

2.4數(shù)據(jù)庫設(shè)計

使用MySql數(shù)據(jù)庫,結(jié)合jsp和servlet開發(fā)后臺系統(tǒng),后臺同時處理多個用戶請求,數(shù)據(jù)量較大,查詢內(nèi)容多,對數(shù)據(jù)庫壓力較大,通過使用地址池緩沖,限制線程數(shù)量,有效控制數(shù)據(jù)庫過載壓力,性能可以得到保證,可以及時響應(yīng)信息。

3 ?結(jié)束語

本文設(shè)計的鄉(xiāng)村旅游app,基于MUI前端框架的旅游app的設(shè)計與實現(xiàn)過程,讓用戶在使用軟件時可以體驗到原生APP的感覺,而且開發(fā)員也可以一套源碼在多個終端運(yùn)行,開發(fā)成本低,APP開發(fā)周期時間短,更新便捷,跨平臺,兼容性強(qiáng)等優(yōu)勢可以讓本APP在各平臺廣泛的應(yīng)用。

參考文獻(xiàn)

  • 中共中央?國務(wù)院關(guān)于加大改革創(chuàng)新力度加快農(nóng)業(yè)現(xiàn)代化建設(shè)的若干意見[J]. 廣東合作經(jīng)濟(jì). 2015-02-28
  • 彭先群. 央視《美麗中國鄉(xiāng)村行》節(jié)目問題與對策研究[D]. 長沙: 湖南大學(xué), 2017-10-10
  • 邵猛. 基于Android的自助游移動平臺應(yīng)用設(shè)計與開發(fā)[D]. 南京: 南京郵電大學(xué), 2016-11-18
  • 彭晉. 基于模范用戶的協(xié)同過濾算法研究[D]. 重慶大學(xué). 2010-04-01
  • 閆學(xué)順, 王景暉, 張俊杰. 基于Android的智能醫(yī)療管理軟件設(shè)計方案研究[J]. 軟件, 2018, 39(7): 33-36
  • 王亞東, 雷靈光, 周健等. Android 移動設(shè)備管理系統(tǒng)的設(shè)計與實現(xiàn)[J]. 軟件, 2016, 37(02): 11-16
  • 葛曉濱, 章義剛. 智慧旅游系統(tǒng)的技術(shù)框架及其主要應(yīng)用技術(shù)分析[J]. 皖西學(xué)院學(xué)報, 2014, 30(2): 32-35.
  • 徐翔, 王煦法. 協(xié)同過濾算法中的相似度優(yōu)化方法[J]. 計算機(jī)工程, 2010, 36(6): 52-54.
  • 石紅姣. 基于三層架構(gòu)的智慧旅游系統(tǒng)設(shè)計與實現(xiàn)[J]. 商洛學(xué)院學(xué)報, 2018, 32(4): 14-18
  • 宋璐璐. 基于互聯(lián)網(wǎng)的智慧旅游發(fā)展戰(zhàn)略研究[J]. 自動化與儀器儀表, 2018(1): 37-39.
  • 張凌云. 智慧旅游: 個性化定制和智能化公共服務(wù)時代的來臨[J]. 旅游學(xué)刊, 2012, 27(2): 3-5.
  • 王艷軍, 路立娟, 李朝奎. 面向服務(wù)架構(gòu)的智慧旅游信息系統(tǒng)的設(shè)計與實現(xiàn)[J]. 測繪通報, 2014(9): 108-111.

猜你喜歡
旅游景點(diǎn)景點(diǎn)旅游
打卡名校景點(diǎn)——那些必去朝圣的大學(xué)景點(diǎn)
英格蘭十大怪異景點(diǎn)
沒有景點(diǎn) 只是生活
旅游景點(diǎn)介紹的文體分析
出國旅游的42個表達(dá)
戶外旅游十件貼身帶
维西| 广宁县| 威信县| 淮阳县| 锡林郭勒盟| 灯塔市| 江北区| 包头市| 兴宁市| 深州市| 余姚市| 通城县| 犍为县| 安龙县| 罗甸县| 灌阳县| 清远市| 玉山县| 宜黄县| 包头市| 江城| 濮阳县| 张家川| 红原县| 常州市| 石渠县| 绥芬河市| 沿河| 南丰县| 阿克| 辉南县| 渝中区| 任丘市| 甘南县| 邵武市| 利津县| 北海市| 南阳市| 密山市| 务川| 彝良县|