freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于ios的景點(diǎn)手機(jī)導(dǎo)游客戶端畢業(yè)論文(編輯修改稿)

2025-07-24 17:44 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 上傳你的位置信息。同時(shí)后臺(tái)有個(gè)字體加載程序,連網(wǎng)加載字體。再次點(diǎn)擊歡迎界面就會(huì)來到主菜單,主菜單上有三個(gè)按鈕菜單,分別是:天氣情況,景區(qū)介紹,和地圖導(dǎo)航。點(diǎn)擊天氣情況會(huì)就自動(dòng)連接網(wǎng)絡(luò),獲取2345天氣王的web接口信息,并顯示,網(wǎng)絡(luò)連接失敗,則不顯示天氣信息。點(diǎn)擊景區(qū)介紹,會(huì)出現(xiàn)一個(gè)下拉菜單,點(diǎn)擊菜單選項(xiàng)就可以進(jìn)入相應(yīng)的小模塊。點(diǎn)擊地圖導(dǎo)航也會(huì)出現(xiàn)一個(gè)下拉菜單,點(diǎn)擊吃、住、購(gòu)、拍,第 16 頁(yè) 共 44 頁(yè)會(huì)連接地API請(qǐng)求信息,比如吃,進(jìn)入這個(gè)選項(xiàng)后,會(huì)進(jìn)入個(gè)類似標(biāo)簽云的選擇界面,點(diǎn)擊標(biāo)簽會(huì)進(jìn)入地圖,地圖上會(huì)畫出用戶當(dāng)前位置到達(dá)目標(biāo)地點(diǎn)的路線。如果網(wǎng)絡(luò)連接失敗,則跳出提示,并不顯示地圖。圖34軟件系統(tǒng)活動(dòng)圖第 17 頁(yè) 共 44 頁(yè)第4章系統(tǒng)概要設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)是指手機(jī)軟件在邏輯上實(shí)現(xiàn)的功能,用戶可以通過iPhone手機(jī)隨時(shí)隨地的查看風(fēng)景區(qū)的相關(guān)介紹,天氣情況,以及景區(qū)的設(shè)施地圖等等。為了實(shí)現(xiàn)這些功能,手機(jī)必須開啟定位功能,并保證網(wǎng)絡(luò)的連接,以便隨時(shí)請(qǐng)求天氣數(shù)據(jù),地圖數(shù)據(jù)與你的當(dāng)前位置。通過參考景區(qū)的官方網(wǎng)站,體現(xiàn)移動(dòng)互聯(lián)的特性,完成最終的設(shè)計(jì)目標(biāo)。軟件是由天氣情況、景區(qū)介紹、景區(qū)攻略也就地圖導(dǎo)航三大模塊組成。景區(qū)介紹又分成景區(qū)文化,歷史淵源,地方特產(chǎn),名人蹤跡,故事傳說,周邊景點(diǎn)。景區(qū)攻略又分成行、吃、住、娛、購(gòu)、拍。軟件系統(tǒng)總體模塊圖,如圖41。圖41軟件系統(tǒng)總體模塊圖第 18 頁(yè) 共 44 頁(yè)在軟件系統(tǒng)總體設(shè)計(jì)階段,數(shù)據(jù)的下載和使用,需要自定義數(shù)據(jù)的類別。在iOS系統(tǒng)的軟件開發(fā)過程中,或許用不到數(shù)據(jù)庫(kù),但是自定義類卻一定是必須的。因?yàn)橄到y(tǒng)提供的類往往不能滿足開發(fā)者設(shè)計(jì)需求,所以自定義類在iOS的開發(fā)中至關(guān)重要的一部分。通過需求分析定義相關(guān)類后,我根據(jù)自己所設(shè)計(jì)的每個(gè)類的成員不同,進(jìn)行相應(yīng)的概念結(jié)構(gòu)設(shè)計(jì)。概念結(jié)構(gòu)設(shè)計(jì)主要采用了ER方法。具體如下圖:圖42地方特產(chǎn)ER圖圖43周邊景點(diǎn)ER圖圖44吃/住云標(biāo)簽ER圖圖44吃(地圖導(dǎo)航以吃為樣例)ER圖根據(jù)概念結(jié)構(gòu)設(shè)計(jì)得到局部的ER圖,因?yàn)槲宜O(shè)計(jì)的軟件系統(tǒng)沒有相應(yīng)后臺(tái),所有的數(shù)據(jù)都是連接網(wǎng)絡(luò)上的API接口請(qǐng)求相關(guān)數(shù)據(jù),再進(jìn)行分析、分類,所以根據(jù)現(xiàn)有的ER模型圖進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì),向關(guān)系模型轉(zhuǎn)換,依照規(guī)則得到如下結(jié)果:地方特產(chǎn)(特產(chǎn)ID,特產(chǎn)名稱,特產(chǎn)介紹,特產(chǎn)圖片);第 19 頁(yè) 共 44 頁(yè)表41地方特產(chǎn)類表:shootClass字段名字段類型是否主鍵是否非空是否自增字段描述dataIDNSString是是否特產(chǎn)IDnameStrNSString否是否特產(chǎn)名稱dataStrNSString否是否特產(chǎn)介紹imageNumUIImage否是否特產(chǎn)圖片圖45為地方特產(chǎn)的單獨(dú)類圖,操作addDataAction()是這個(gè)類的加載操作。圖45地方特產(chǎn)類圖周邊景點(diǎn)(景點(diǎn)ID,景點(diǎn)名稱,景點(diǎn)簡(jiǎn)介,景點(diǎn)圖片數(shù)組);表42周邊景點(diǎn)類表:aroundSecClass字段名字段類型是否主鍵是否非空是否自增字段描述secIDNSString是是否景點(diǎn)IDsecNameNSString否是否景點(diǎn)名稱secDataNSString否是否景點(diǎn)簡(jiǎn)介secImageListNSMutableArray否是否景點(diǎn)圖片數(shù)組吃/住云標(biāo)簽(云標(biāo)簽ID,按鈕頂點(diǎn)坐標(biāo),按鈕左坐標(biāo),按鈕右坐標(biāo));表43吃/住云標(biāo)簽類表:CloudButton字段名字段類型是否主鍵是否非空是否自增字段描述bottomCGFloat是是否云標(biāo)簽IDtopCGFloat否是否按鈕頂點(diǎn)坐標(biāo)leftCGFloat否是否按鈕左坐標(biāo)rightCGFloat否是否按鈕右坐標(biāo)下圖是說明的故事傳說/周邊景點(diǎn)與云標(biāo)簽類之間的關(guān)系圖。CloudButton類第 20 頁(yè) 共 44 頁(yè)圖中的操作animationUpdate()代表的是動(dòng)態(tài)坐標(biāo)數(shù)據(jù)的更新操作;操作LimitSpeedbettowinMINandMAX()代表的云標(biāo)簽運(yùn)動(dòng)超出屏幕邊界進(jìn)的操作;操作touchesBegan()代表云標(biāo)簽發(fā)生移動(dòng)前進(jìn)行的操作;操作touchesMoved()代表云標(biāo)簽發(fā)生移動(dòng)進(jìn)進(jìn)行的操作;操作touchesEnded()代表云標(biāo)簽發(fā)生移動(dòng)結(jié)束后進(jìn)行的操作。圖46故事傳說/周邊景點(diǎn)與云標(biāo)簽類之間的關(guān)系圖吃(地點(diǎn)ID,用戶位置經(jīng)度,用戶位置緯度,地點(diǎn)名稱,地點(diǎn)位置經(jīng)度,地點(diǎn)位置緯度)。表43吃類表:poiClass字段名字段類型是否主鍵是否非空是否自增字段描述addressIDNSString是是否地點(diǎn)IDuserLngfloat否是否用戶經(jīng)度userLatfloat否是否用戶緯度addNameNSString否是否地點(diǎn)名稱addLngfloat否是否地點(diǎn)經(jīng)度addLatfloat否是否地點(diǎn)緯度騰訊地圖中的相關(guān)類POI數(shù)據(jù)(本次POI搜索的總結(jié)果數(shù),當(dāng)前頁(yè)的POI結(jié)果數(shù),本次POI搜索的總頁(yè)數(shù),當(dāng)前頁(yè)的索引,POI數(shù)據(jù)信息列表);表44POI數(shù)據(jù)類表:QPoiData字段名字段類型是否主鍵是否非空是否自增字段描述totalPoiNumNSInteger是是否POI總結(jié)果數(shù)curPoiNumNSInteger否是否POI當(dāng)前頁(yè)結(jié)果數(shù)第 21 頁(yè) 共 44 頁(yè)pageNumNSInteger否是否POI本次搜索總頁(yè)數(shù)pageIndexNSInteger否是否當(dāng)前頁(yè)的索引poiInfoListNSArray否是否POI列表POI數(shù)據(jù)信息(POI的類型,POI的UID,POI的名稱,POI的詳細(xì)地址,POI的電話,POI的分類,POI的詳細(xì)描述,POI的地理坐標(biāo))。表45POI數(shù)據(jù)信息類表:QPoiInfo字段名字段類型是否主鍵是否非空是否自增字段描述typeQPoiTye是是否POI的類型uidNSString否是否POI的UIDnameNSString否是否POI的名稱addressNSString否是否POI的詳細(xì)地址phoneNSString否是否POI的電話classesNSString否是否POI的分類poiInfoNSString否是否POI的詳細(xì)描述coordinateCLLocationCoordinate2D否是否POI的地理坐標(biāo)下圖是景區(qū)攻略中的子類與POI搜索數(shù)據(jù)類和POI搜索信息類的類關(guān)系圖。圖47POI數(shù)據(jù)類相關(guān)類下圖為整體的類關(guān)系圖。shootClass地方特產(chǎn)類屬于單獨(dú)的一個(gè)類,與其他類沒有關(guān)系。aroundSecClass與CloudButton是一對(duì)一的類關(guān)系,一個(gè)云標(biāo)簽對(duì)第 22 頁(yè) 共 44 頁(yè)應(yīng)一個(gè)景點(diǎn)。QPoiInfo是QPoiData類的包含類,這是騰訊API自帶的類。poiClass是我自定義的類,組成為獲取的用戶當(dāng)前經(jīng)緯坐標(biāo)和坐標(biāo)地點(diǎn)ID以前從QPoiInfo中獲取的目標(biāo)地點(diǎn)的經(jīng)緯坐標(biāo)和坐標(biāo)地點(diǎn)ID。圖48全部類關(guān)系圖第 23 頁(yè) 共 44 頁(yè)第5章系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)本軟件有三個(gè)模塊組成:天氣模塊,景區(qū)介紹模塊,景點(diǎn)攻略(地圖導(dǎo)航)模塊。由于軟件大多依賴于網(wǎng)絡(luò)公開的API接口,大多數(shù)實(shí)現(xiàn)的功能需要連接網(wǎng)絡(luò)才能獲取數(shù)據(jù)。軟件以天藍(lán)色為主背景,綴以動(dòng)態(tài)的櫻花。進(jìn)入歡迎界面后就是主菜單界面,點(diǎn)擊主菜單中的天氣選項(xiàng),就會(huì)進(jìn)入天氣界面;點(diǎn)擊景區(qū)介紹和景區(qū)攻略選項(xiàng)就有出現(xiàn)一個(gè)下拉列表,菜單選擇的處理時(shí)序圖如圖51。圖51菜單選擇的處理時(shí)序圖打開軟件,首先判斷設(shè)備屏幕的大小,:defineiPhone5([UIScreeninstancesRespondToSelector:@selector(currentMode)]?CGSizeEqualToSize(CGSizeMake(640,1136),[[UIScreenmainScreen]currentMode].size):NO),判斷設(shè)備屏尺寸時(shí),只需要在(void)viewDidLoad{}中加上判斷語句if(iPhone5){}然后設(shè)定控件在4英寸屏幕下的位置就可以。然后連接騰訊地圖API,請(qǐng)求代碼如下:第 24 頁(yè) 共 44 頁(yè)QAppKeyCheck*check=[[QAppKeyCheckalloc]init]。[checkstart:@fd623b8aa3239773b1ad27e74f758c93withDelegate:self]。=check。通過函數(shù)(void)notifyAppKeyCheckResult:(QErrorCode)errCode{},得到返回值,然后判斷是否已經(jīng)連接到地圖API。大部分用戶的蘋果手機(jī)只有系統(tǒng)字體,但是現(xiàn)在蘋果官網(wǎng)也提供了多種中文字體,我參考官方提供的數(shù)據(jù),編寫了一個(gè)動(dòng)態(tài)下載字體并使用到程序,讓其美化的界面。核心代碼如下:UIFont*aFont=[UIFontfontWithName:fontNamesize:12.]。NSMutableDictionary*attrs=[NSMutableDictionarydictionaryWithObjectsAndKeys:fontName,kCTFontNameAttribute,nil]。CTFontDescriptorRefdesc=CTFontDescriptorCreateWithAttributes((__bridgeCFDictionaryRef)attrs)。*descs=[NSMutableArrayarrayWithCapacity:0]。[descsaddObject:(__bridgeid)desc]。CFRelease(desc)。CTFontDescriptorMatchFontDescriptorsWithProgressHandler((__bridgeCFArrayRef)descs,NULL,^(CTFontDescriptorMatchingStatestate,CFDictionaryRefprogressParameter){ doubleprogressValue=[[(__bridgeNSDictionary*)progressParameterobjectForKey:(id)kCTFontDescriptorMatchingPercentage]doubleValue]。 if(state==kCTFontDescriptorMat
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1