![畢業(yè)論文-基于LBS的iOS客戶端應(yīng)用之生活助手的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)](http://file4.renrendoc.com/view/d0d954ca762b9a7ec9e5341d22c4754b/d0d954ca762b9a7ec9e5341d22c4754b1.gif)
![畢業(yè)論文-基于LBS的iOS客戶端應(yīng)用之生活助手的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)](http://file4.renrendoc.com/view/d0d954ca762b9a7ec9e5341d22c4754b/d0d954ca762b9a7ec9e5341d22c4754b2.gif)
![畢業(yè)論文-基于LBS的iOS客戶端應(yīng)用之生活助手的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)](http://file4.renrendoc.com/view/d0d954ca762b9a7ec9e5341d22c4754b/d0d954ca762b9a7ec9e5341d22c4754b3.gif)
![畢業(yè)論文-基于LBS的iOS客戶端應(yīng)用之生活助手的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)](http://file4.renrendoc.com/view/d0d954ca762b9a7ec9e5341d22c4754b/d0d954ca762b9a7ec9e5341d22c4754b4.gif)
![畢業(yè)論文-基于LBS的iOS客戶端應(yīng)用之生活助手的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)](http://file4.renrendoc.com/view/d0d954ca762b9a7ec9e5341d22c4754b/d0d954ca762b9a7ec9e5341d22c4754b5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE2 SHANDONGUNIVERSITYOFTECHNOLOGY畢業(yè)設(shè)計(jì)說(shuō)明書題目:基于LBS的iOS客戶端應(yīng)用之生活助手的設(shè)計(jì)與實(shí)現(xiàn)學(xué)院:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名:秦利超指導(dǎo)教師:王云摘要PAGEI摘要隨著近年來(lái)智能的爆炸性增長(zhǎng),LBS已經(jīng)開(kāi)始廣泛被使用并在改變我們的生活:下班后的朋友聚會(huì),可以用大眾點(diǎn)評(píng)網(wǎng)搜索附近500米內(nèi)最好吃的餐館;用Google地圖尋找最快捷的路線和抵達(dá)方式;發(fā)一條新微博,順手添上自己所在的位置;高德導(dǎo)航可以輕松取代車載GPS,指引下一個(gè)聚會(huì)地。本論文主要圍繞實(shí)現(xiàn)iOS設(shè)備的LBS進(jìn)行相關(guān)詳細(xì)的分析介紹。最終實(shí)現(xiàn)附近、搜索、簽到、優(yōu)惠券、今日?qǐng)F(tuán)購(gòu)、排行榜、記錄、城市信息、更多九大功能模塊。關(guān)鍵詞:智能、LBS、簽到、分享。ABSTRACTPAGEIIABSTRACTInrecentyears,withtherapidgrowthofsmartphones,theLBShasbeenwidelyusedandischangingourlives:thegatheringoffriendsafterwork,youcanusethebestfoodrestaurantwithin500metersnearthepubliccommentnetworksearch;useGoogleMapstofindthemostefficientrouteandarrival;Postanewmicrobloggingandaddtheirlocationinit;highDenavigationcaneasilyreplacethecarGPS,undertheguidanceofaparty.ThisthesisismainlyaroundtheLBSiOSdevicestocarryoutadetailedanalysisofintroduction.Andultimatelytoachievenear,search,sign,coupons,buy,list,record,urban,moretheseninefunctionalmodules.Keywords:Smartphone、LBS、signin、share.目錄PAGEIV目錄摘要 IABSTRACT II目錄 III第一章 引言 11.1課題的目的和意義 1移動(dòng)互聯(lián)網(wǎng)時(shí)代的新寵:LBS應(yīng)用 1主要設(shè)計(jì)內(nèi)容 2第二章 iOS、語(yǔ)言、環(huán)境以及所用技術(shù)介紹 32.1iOS簡(jiǎn)介 32.2Objective-C語(yǔ)言 42.3Xcode開(kāi)發(fā)環(huán)境 42.4SQLite數(shù)據(jù)庫(kù) 52.5JSON解析 5第三章 需求分析 73.1設(shè)計(jì)背景 7總體設(shè)計(jì) 7第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 9首頁(yè)展示設(shè)計(jì) 9附近模塊設(shè)計(jì) 10搜索模塊設(shè)計(jì) 13簽到模塊設(shè)計(jì) 14優(yōu)惠券模塊設(shè)計(jì) 16今日?qǐng)F(tuán)購(gòu)模塊設(shè)計(jì) 18排行榜模塊設(shè)計(jì) 19記錄模塊設(shè)計(jì) 26城市信息模塊設(shè)計(jì) 28更多模塊設(shè)計(jì) 29第五章測(cè)試 30測(cè)試項(xiàng)目 30附近模塊測(cè)試 30附近模塊測(cè)試 30簽到模塊測(cè)試 30優(yōu)惠券模塊測(cè)試 30今日?qǐng)F(tuán)購(gòu)模塊測(cè)試 30排行榜模塊測(cè)試 30記錄模塊測(cè)試 30城市信息模塊測(cè)試 31更多模塊測(cè)試 31第六章參考文獻(xiàn) 32第七章致謝 33第一章引言PAGE33引言近幾年,人們用移動(dòng)設(shè)備接入互聯(lián)網(wǎng)的時(shí)間顯著上升,與此相伴,“LBS”(LocationBasedService),即基于用戶當(dāng)時(shí)位置的服務(wù)將會(huì)呈蒸蒸日上之勢(shì)。1.1課題的目的和意義在維基百科上,對(duì)LBS的簡(jiǎn)短定義是“通過(guò)移動(dòng)設(shè)備在移動(dòng)網(wǎng)絡(luò)中對(duì)于地理位置信息的定位所提供的一種信息與娛樂(lè)服務(wù)”。一個(gè)關(guān)于LBS應(yīng)用的著名段子是,老婆要求老公買下iPhone4后,每?jī)尚r(shí)都得通過(guò)簽到網(wǎng)站簽到一次這樣一來(lái),她就能知道他的全部行蹤,可以預(yù)防出軌。隨著近年來(lái)智能的爆炸性增長(zhǎng),LBS已經(jīng)開(kāi)始廣泛被使用并在改變我們的生活:下班后的朋友聚會(huì),可以用大眾點(diǎn)評(píng)網(wǎng)搜索附近500米內(nèi)最好吃的餐館;用Google地圖尋找最快捷的路線和抵達(dá)方式;在街旁網(wǎng)上簽到分享自己和朋友大快朵頤的照片;發(fā)一條新微博,順手添上自己所在的位置;高德導(dǎo)航可以輕松取代車載GPS,指引下一個(gè)聚會(huì)地。在這個(gè)背景下,基于LBS的服務(wù)類應(yīng)用如雨后春筍般得以大量涌現(xiàn)。移動(dòng)互聯(lián)網(wǎng)時(shí)代的新寵:LBS應(yīng)用據(jù)中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)最新的統(tǒng)計(jì)報(bào)告(2011年7月),截至2011年6月底,中國(guó)網(wǎng)民規(guī)模為3.18億。網(wǎng)民在總體網(wǎng)民中的比例為65.5%,移動(dòng)互聯(lián)網(wǎng)時(shí)代已經(jīng)全面到來(lái)。那移動(dòng)互聯(lián)網(wǎng)究竟給我們帶來(lái)了什么?環(huán)顧一下四周,我們會(huì)不難發(fā)現(xiàn),無(wú)論是在公交車還是在地鐵,總有不少人低著頭沉默不語(yǔ),他們緊盯著自己手中的或平板,手中也沒(méi)閑著,在不停的比劃,湊近一看,他們要么在玩游戲,要么在上qq,要么在微博,要么在一些社交網(wǎng)站。我們會(huì)發(fā)現(xiàn),一旦有一點(diǎn)空閑的時(shí)間,我們就會(huì)拿出我們的來(lái)玩。蹲廁所時(shí),隔壁會(huì)傳來(lái)小鳥撞擊石頭而發(fā)出的叫聲;在電梯中,總會(huì)有朋友拿出或ipad登陸自己的某個(gè)客戶端。當(dāng)我們通過(guò)登錄自己的LBS客戶端,在某些地方進(jìn)行簽到的時(shí)候,你會(huì)拿到你想要的徽章,通過(guò)這個(gè)徽章你會(huì)享受打折優(yōu)惠;你也會(huì)看到有些瘋狂的朋友為了一個(gè)徽章不擇手段的采用虛假簽到;這都是現(xiàn)實(shí)的生活,這就是移動(dòng)互聯(lián)網(wǎng)給人們生活帶來(lái)的變革,通過(guò)智能終端上網(wǎng),你不在被拘束在電腦前,只要身邊有網(wǎng)絡(luò)信號(hào)即可。不過(guò)這其中似乎減少了人與人之間的交流,更多的是增加了人機(jī)之間的交互,把一些的交流也帶入了虛擬的空間中。如今的簽到已經(jīng)成為了現(xiàn)在移動(dòng)互聯(lián)網(wǎng)玩家的一個(gè)嗜好,通過(guò)簽到你可以分享自己當(dāng)前的狀態(tài),同時(shí)還能獲得朋友當(dāng)前的情況,在個(gè)人分享的時(shí)代中,簽到成為了一個(gè)助推劑,讓大家盡情的享受在彼此熟知的虛擬環(huán)境中。(1)附近模塊:將附近的簽約商戶分門別類(如美食、酒店等)的進(jìn)行展示。(2)搜索模塊:該模塊主要實(shí)現(xiàn)的功能是可以通過(guò)輸入商戶名、地址搜索特定商戶和熱門商區(qū)的展示。(3)簽到模塊:該模塊主要實(shí)現(xiàn)的功能是簽到商戶、對(duì)商戶進(jìn)行評(píng)價(jià)、上傳照片、關(guān)注。(4)優(yōu)惠券模塊:該模塊的主要功能是顯示正在進(jìn)行的優(yōu)惠商戶信息。(5)今日?qǐng)F(tuán)購(gòu)模塊:該模塊主要實(shí)現(xiàn)的功能是展示團(tuán)購(gòu)信息、購(gòu)買。(6)排行榜模塊:該模塊主要實(shí)現(xiàn)的功能是根據(jù)人氣、評(píng)分等展示熱門商戶和最佳商戶的排行。(7)記錄模塊:該模塊收集展示收藏商戶和瀏覽記錄。(8)城市信息模塊:該模塊主要實(shí)現(xiàn)的功能是展示所選城市的生活信息如:醫(yī)院、銀行、公安機(jī)關(guān)等等。(9)更多模塊:該模塊主要實(shí)現(xiàn)的功能是顯示自己的賬戶信息。第二章iOS、語(yǔ)言、環(huán)境以及所用技術(shù)介紹iOS、語(yǔ)言、環(huán)境以及所用技術(shù)介紹iOS平臺(tái)使用了構(gòu)建MacOSX時(shí)積累的知識(shí),iOS平臺(tái)的許多工具和技術(shù)也源自MacOSX平臺(tái)。盡管它和MacOSX很類似,但是沒(méi)有MacOSX開(kāi)發(fā)經(jīng)驗(yàn)也可以開(kāi)發(fā)iOS程序。iOSSDK提供了創(chuàng)建iOS應(yīng)用程序所需要的環(huán)境和工具。利用iOSSDK開(kāi)發(fā)應(yīng)用時(shí)所用的編程語(yǔ)言是Objective-C。下面具體介紹一下iOS、語(yǔ)言、環(huán)境以及其他所用技術(shù)。2.1iOS簡(jiǎn)介iOS最初是設(shè)計(jì)在iPhone上的操作系統(tǒng),蘋果公司于2007年1月9日的Macworld大會(huì)上公布了這個(gè)系統(tǒng),并命名為iPhoneOS,但隨著此系統(tǒng)在iPodtouch、iPad以及AppleTV等蘋果產(chǎn)品上的廣泛應(yīng)用,蘋果公司于2010年6月7日WWDC大會(huì)上將其改名為IOS。據(jù)Canalys的數(shù)據(jù)顯示,截止到2011年11月,iOS占據(jù)了全球智能系統(tǒng)市場(chǎng)份額的30%,在美國(guó)的市場(chǎng)占有率更是達(dá)到了43%。隨著Andriod開(kāi)源操作系統(tǒng)的異軍突起以及WindowsPhone的發(fā)力,iOS市場(chǎng)份額正被一點(diǎn)點(diǎn)的蠶食,但是iOS設(shè)備的利潤(rùn)率高的驚人,以智能為例,iphone的利潤(rùn)額占到整個(gè)智能利潤(rùn)額的80%,受益于此,蘋果的市值也達(dá)到了5000億美元。操作界面iOS操作采用的是多點(diǎn)觸控直接操作,控制方法包括滑動(dòng)、輕觸屏幕和圖標(biāo)及按鍵。操作有:滑動(dòng)、輕按、縮小及放大。此外,iOS移動(dòng)設(shè)備中還內(nèi)置了加速器,使得旋轉(zhuǎn)iOS設(shè)備時(shí),界面也可以得到旋轉(zhuǎn),這也使得iPhone等便攜設(shè)備更便于使用。自3GS開(kāi)始,iphone裝備有陀螺儀,這使得iphone有了重力感應(yīng),游戲效果更加的突出。屏幕的下方是home鍵,點(diǎn)按回到主界面。底部是dock,可安放四個(gè)使用者最經(jīng)常使用的程序的圖標(biāo)。屏幕最上方是狀態(tài)欄,顯示一些有關(guān)資訊:如時(shí)間、電池電量和訊號(hào)強(qiáng)度等。其余的屏幕用于顯示當(dāng)前的應(yīng)用程序。啟動(dòng)程序,只需點(diǎn)按該程序的圖標(biāo),點(diǎn)按屏幕下方的home鍵即退出應(yīng)用程序。在iPhone3.0及后續(xù)版本中,及時(shí)應(yīng)用程序退出,當(dāng)?shù)谌杰浖盏搅诵碌挠嵪r(shí),蘋果公司的服務(wù)器將把這些通知推送至iPhone或iPodTouch上(不管它是否正在運(yùn)行中)。2.2Objective-C語(yǔ)言O(shè)bjective-C,也通常被寫作ObjC,是一種擴(kuò)充C的面向?qū)ο缶幊陶Z(yǔ)言,主要用于MacOSX和GNUstep這兩個(gè)使用OpenStep標(biāo)準(zhǔn)的系統(tǒng)。Objective-C最開(kāi)始并不支持垃圾回收,因?yàn)槔厥沼新L(zhǎng)的“死亡時(shí)間”,會(huì)導(dǎo)致整個(gè)系統(tǒng)失去功用。但自Xcode4.0開(kāi)始,支持自動(dòng)釋放,也就是ARC(AutomaticReferenceCounting)機(jī)制,不需要用戶手動(dòng)去Release每一個(gè)對(duì)象,編譯器會(huì)在編譯期間自動(dòng)幫你添加那些以前你經(jīng)常寫的[NSObjectrelease]。Objective-C和C++有很多不同之處,Objective-C不支持運(yùn)算符重載,也只允許對(duì)象單繼承,但其引入的Categories和protocols可以提供很多多重繼承的好處。很多常見(jiàn)的編譯時(shí)的性能優(yōu)化方法都不能應(yīng)用于Obj-C,比如內(nèi)聯(lián)函數(shù)。2.3Xcode開(kāi)發(fā)環(huán)境Xcode是開(kāi)發(fā)蘋果應(yīng)用程序的必備開(kāi)發(fā)環(huán)境,自4.0開(kāi)始,開(kāi)發(fā)人員就可以利用Xcode開(kāi)發(fā)基于iOS的iPad、iPhone、iPodTouch設(shè)備應(yīng)用程序,只要你有MacOSXSnowLeopard10.6.2以上版本MacOS操作系統(tǒng),便可安裝iossdk,如果你有iOS設(shè)備,便可讓Xcode把應(yīng)用程序部署到你的iOS設(shè)備上。另外,你還可以使用iPhone仿真器進(jìn)行調(diào)試。Xcode提供了友好而方便的應(yīng)用程序開(kāi)發(fā)環(huán)境,這樣你就可以開(kāi)發(fā)出好的iOS應(yīng)用程序了。Xcode支持多種語(yǔ)言,如:C、C++、Objective-C、Java。另外,Xcode的編譯速度也極快。Xcode還具有自由撤消的強(qiáng)大功能:Xcode4具有虛擬模型和設(shè)計(jì)功能,這可以讓你更輕松的開(kāi)發(fā)和維護(hù)應(yīng)用程序。2.4SQLite數(shù)據(jù)庫(kù)iOS包含了SQLite數(shù)據(jù)庫(kù),它是一個(gè)簡(jiǎn)單的、輕量級(jí)的數(shù)據(jù)庫(kù),并宣布是“世界上部署的最廣泛的數(shù)據(jù)庫(kù)引擎”。目前很多嵌入式產(chǎn)品都使用SQLite,SQLite占用資源非常的低,在嵌入式設(shè)備中,只需要幾百K的內(nèi)存就夠了。它支持Windows/Linux/Unix等主流的操作系統(tǒng),比起Mysql、PostgreSQL這兩款世界著名的開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng),它的處理速度都比他們快。下面以具體實(shí)例的形式講述創(chuàng)建SQLite的方法:1.創(chuàng)建數(shù)據(jù)庫(kù)命令:若shopping.db文件已存在,則打開(kāi)數(shù)據(jù)庫(kù),若不存在,則創(chuàng)建它。2.創(chuàng)建表格:createtableshopping(keyintegerprimarykey,itemtext,pricedouble,groupidinteger,dateaddeddate);3.插入數(shù)據(jù):insertinto“shppinglist”(item,price,groupid,dateadded)values(“iPhone3G”,“199”,1,DATETIME(‘NOW’))4.查詢:select*fromshoppinglist2.5JSON解析JSON(JavascriptObjectNotation)是一種輕量級(jí)的,以文字為基礎(chǔ),且易于讓人閱讀。盡管JSON是在Javascript的一個(gè)子集,但JSON是獨(dú)立于語(yǔ)言的文本格式,并且采用了類似于C語(yǔ)言家族的一些習(xí)慣。 JSON格式是1999年《JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition》的子集合,所以可以在JavaScript以eval()函式(javascript通過(guò)eval()調(diào)用解釋器)讀入。不過(guò)這并不代表JSON無(wú)法使用于其他語(yǔ)言,事實(shí)上幾乎所有與網(wǎng)頁(yè)開(kāi)發(fā)相關(guān)的語(yǔ)言都有JSON函式庫(kù)。JSON用于描述數(shù)據(jù)結(jié)構(gòu),有以下形式存在:1.對(duì)象(object):一個(gè)對(duì)象以“{”開(kāi)始,并以“}”結(jié)束。一個(gè)對(duì)象包含一系列非排序的名稱/值對(duì),每個(gè)名稱/值對(duì)之間使用“,”分割。2.名稱/值對(duì)(collection):名稱和值之間使用“:”隔開(kāi),一般的形式是:{name:value}一個(gè)名稱是一個(gè)字符串;一個(gè)值可以是一個(gè)字符串,一個(gè)數(shù)值一個(gè)對(duì)象,一個(gè)布爾值,一個(gè)有序列表,或者一個(gè)null值。3.值的有序列表(Array):一個(gè)或者多個(gè)值用“,”分割后,使用“[”,“]”括起來(lái)就形成了這樣的列表,形如:[collection,collection]4.字符串:以""括起來(lái)的一串字符。5.數(shù)值:一系列0-9的數(shù)字組合,可以為負(fù)數(shù)或者小數(shù)。還可以用“e”或者“E”表示為指數(shù)形式。6.布爾值:表示為true或者false。第三章需求分析需求分析LBS是由移動(dòng)通信網(wǎng)絡(luò)和衛(wèi)星定位系統(tǒng)結(jié)合的一種增值業(yè)務(wù),通過(guò)一組定位技術(shù)獲得移動(dòng)終端的位置信息,并提供給移動(dòng)用戶本人、他人及通信系統(tǒng),實(shí)現(xiàn)相關(guān)信息服務(wù)的業(yè)務(wù)。值得注意的是,單獨(dú)的位置信息不再是最終的服務(wù),它需要結(jié)合有效內(nèi)容的服務(wù)才能稱得上是完整的LBS。因?yàn)閭鹘y(tǒng)意義上的導(dǎo)航服務(wù)作用是有限的,以導(dǎo)航為最終目的的服務(wù)往往只在用戶處于相對(duì)陌生的環(huán)境時(shí),才能滿足用戶需求。3.1設(shè)計(jì)背景隨著近年來(lái)智能的爆炸性增長(zhǎng),LBS已經(jīng)開(kāi)始廣泛被使用并在改變我們的生活:下班后的朋友聚會(huì),可以用大眾點(diǎn)評(píng)網(wǎng)搜索附近500米內(nèi)最好吃的餐館;用Google地圖尋找最快捷的路線和抵達(dá)方式;在街旁網(wǎng)上簽到分享自己和朋友大快朵頤的照片;發(fā)一條新微博,順手添上自己所在的位置;高德導(dǎo)航可以輕松取代車載GPS,指引下一個(gè)聚會(huì)地。在這個(gè)背景下,基于LBS的服務(wù)類應(yīng)用如雨后春筍般得以大量涌現(xiàn)。LBS基本模式:用戶將信息上傳到平臺(tái),進(jìn)行信息管理與發(fā)布,根據(jù)需要決定開(kāi)放的程度和內(nèi)容,當(dāng)用戶需要開(kāi)始基于位置的互動(dòng)時(shí),首先向平臺(tái)開(kāi)放定位搜索功能,并允許別人對(duì)自己進(jìn)行定位。最后,平臺(tái)利用其定位功能對(duì)用戶進(jìn)行定位,并對(duì)用戶指定區(qū)域進(jìn)行定位搜索,同時(shí)向用戶提供所在地區(qū)的相關(guān)服務(wù)信息。用戶根據(jù)反饋結(jié)果決定是否建立聯(lián)系。3.2總體設(shè)計(jì)按照功能分成九大功能模塊,如下表:表3-5程序功能表模塊簡(jiǎn)述功能描述附近根據(jù)用戶的位置,將用戶所在位置的附近的簽約商戶的信息,顯示在上,用戶可以根據(jù)自己的需求選擇所需要的服務(wù),分門別類(如美食、酒店等)的進(jìn)行展示搜索可以根據(jù)用戶需求搜索關(guān)鍵字,通過(guò)輸入商戶名、地址等信息搜索特定商戶和熱門商區(qū)的商戶信息。簽到用戶享受到商家的服務(wù)后,可以在該頁(yè)面對(duì)商戶的服務(wù)或商品進(jìn)行評(píng)價(jià),評(píng)分,改評(píng)價(jià)可以為以后的用戶提供參考、對(duì)商戶進(jìn)行評(píng)價(jià)、上傳照片、關(guān)注,商家可以憑借用戶的好評(píng)。來(lái)提高自己的名聲,吸引更多的消費(fèi)者。優(yōu)惠券顯示正在進(jìn)行的優(yōu)惠商戶信息,商家開(kāi)始通過(guò)報(bào)紙雜志等傳統(tǒng)平面媒體發(fā)布優(yōu)惠券,并借此擴(kuò)大自身品牌關(guān)注和知名度,就好比將派發(fā)的人擴(kuò)大到了報(bào)紙所覆蓋的區(qū)域,自然事半功倍。排行榜根據(jù)人氣、評(píng)分等展示熱門商戶和最佳商戶的排行記錄收集展示收藏商戶和瀏覽記錄城市信息展示所選城市的生活信息如:醫(yī)院、銀行、公安機(jī)關(guān)等等更多顯示自己的賬戶信息第四章詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)根據(jù)需求分析,劃分了九大功能模塊,其中Neaby,ListInOrder,Coupons是本軟件的特色及關(guān)鍵部分,具體功能如下所示:下圖4-1為首頁(yè)界面,最上方用一個(gè)UIButton顯示城市信息,程序運(yùn)行時(shí)判斷當(dāng)前有無(wú)已選城市,第一次運(yùn)行時(shí)判斷無(wú)已選城市,會(huì)跳到城市選擇界面(圖4-2)。向下緊接著是一個(gè)UISearchBar,觸碰此searchBar會(huì)進(jìn)入搜索界面。下方顯示紅色圖片的是UIScrollView,其上是九個(gè)UIButton,設(shè)置各button的背景圖片即為所展現(xiàn)之場(chǎng)景,點(diǎn)擊各個(gè)button會(huì)進(jìn)入個(gè)相應(yīng)界面。圖4-1首頁(yè)視圖以下代碼為通過(guò)數(shù)據(jù)庫(kù)判斷是否已選擇城市:-(void)viewDidAppear:(BOOL)animated{MySqlite*mysql=[[MySqlitealloc]init];if(flag>0){flag--;}if([mysqlgetCity]==nil){ChangeCity*city=[[ChangeCityalloc]init];[self.navigationControllerpushViewController:cityanimated:YES];[cityrelease];}else{NSString*cityString=[NSStringstringWithFormat:@"SPTKDir.%@",[mysqlgetCity]];UIButton*b=[UIButtonbuttonWithType:UIButtonTypeCustom];b.tag=13;b.frame=CGRectMake(29,6,262,33);[bsetTitle:cityStringforState:UIControlStateNormal];[bsetImage:[UIImageimageNamed:@"head1"]forState:UIControlStateNormal];[bsetImageEdgeInsets:UIEdgeInsetsMake(0,205,0,0)];[bsetTitleEdgeInsets:UIEdgeInsetsMake(0,-50,0,0)];[baddTarget:selfaction:@selector(qwer:)forControlEvents:UIControlEventTouchUpInside];b.titleLabel.font=[UIFontfontWithName:@"Helvetica-Bold"size:18];self.navigationItem.titleView=b;}[mysqlrelease];}如下圖4-2為附近界面,用一個(gè)UITableView列表顯示信息。 在viewController中設(shè)置此tableView的delegate和dataSource為self。在viewController聲明文件中遵循UITableViewDelegate和UITableViewDataSource協(xié)議,在實(shí)現(xiàn)文件中實(shí)現(xiàn)UITableViewDelegate和UITableViewDataSource的相應(yīng)方法:主-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section,-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath。圖4-2附近界面 代碼如下:-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section{return[[ListDataobjectAtIndex:0]count];} 上面的方法中return的數(shù)據(jù)為一個(gè)section的行數(shù)。-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*CellIdentifier=@"Cell";UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:CellIdentifier];if(cell==nil){cell=[[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifier]autorelease];}cell.textLabel.text=[[ListDataobjectAtIndex:0]objectAtIndex:indexPath.row];cell.textLabel.font=[UIFontboldSystemFontOfSize:14];cell.imageView.image=[UIImageimageNamed:[[ListDataobjectAtIndex:1]objectAtIndex:indexPath.row]];cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;returncell;} 上面的方法中是實(shí)現(xiàn)cell的具體代碼。 點(diǎn)擊各cell時(shí),調(diào)用-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath;方法,進(jìn)入相應(yīng)界面代碼如下:-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath{if(indexPath.row==0){SearchCoupon*tabView=[[SearchCouponalloc]init];TKSPAppDelegate*appDelegate=[[UIApplicationsharedApplication]delegate];[appDelegate.navigationControllerpushViewController:tabViewanimated:YES];[tabViewrelease];}elseif([[[ListDataobjectAtIndex:0]objectAtIndex:indexPath.row]isEqualToString:@"Moreclassification"]){MoreCategoriesTable*nextView=[[MoreCategoriesTablealloc]init];nextView.title=@"Moreclassification";[self.navigationControllerpushViewController:nextViewanimated:YES];[nextViewrelease];}else{NearbyOther*nextView=[[NearbyOtheralloc]init];nextView.flag=0;nextView.lat=lats;nextView.lon=lons;nextView.string=[[ListDataobjectAtIndex:0]objectAtIndex:indexPath.row];nextView.title=[[ListDataobjectAtIndex:0]objectAtIndex:indexPath.row];[self.navigationControllerpushViewController:nextViewanimated:YES];[nextViewrelease];}}如圖4-3為搜索界面:圖4-3搜索界面在表格的上方是一個(gè)searchBar,設(shè)置此表格的headerView為此searchBar,可以實(shí)現(xiàn)此searchBar隨著table上下拖動(dòng)。觸碰上方的searchBar后觸發(fā)-(void)searchBar:(UISearchBar*)searchBartextDidChange:(NSString*)searchText;方法,代碼如下:-(void)searchBar:(UISearchBar*)searchBartextDidChange:(NSString*)searchText{if([NearbyLogicControlconnectedToNetwork]){NearbyLogicControl*logic=[[NearbyLogicControlalloc]init];searchData.listData=[logicgetSearchDetail:searchText];[logicrelease];self.searchDisplayController.searchResultsDataSource=searchData;self.searchDisplayController.searchResultsDelegate=searchData;}} 上述代碼中:首先判斷是否連接網(wǎng)絡(luò):[NearbyLogicControlconnectedToNetwork],若值為yes,則根據(jù)輸入的字符串進(jìn)行搜索并顯示。顯示時(shí),要設(shè)置searchDisplayController的searchResultsDataSource和searchResultsDelegate的值為searchData。 搜索結(jié)果如圖4-4顯示:圖4-4搜索結(jié)果界面如圖4-5為簽到界面:由于頁(yè)面較多采用UITabBarController,將各個(gè)viewController添加到一個(gè)數(shù)組,再設(shè)置UITabBarController的viewControllers為此數(shù)組即可。當(dāng)需要組織或組合多個(gè)不同領(lǐng)域的功能時(shí),就可以使用UITabBarController。每個(gè)功能領(lǐng)域有自己的圖標(biāo)按鈕,并且只有用戶單擊它時(shí)才激活。通過(guò)setTitle設(shè)置每個(gè)功能圖標(biāo)的名稱,setImage設(shè)置圖片。圖4-5簽到界面 實(shí)現(xiàn)代碼如下:-(id)init{self=[superinitWithNibName:nilbundle:nil];if(self){self.title=@"Check-in";Activity*SecondTabView=[[Activityalloc]init];[SecondTabView.tabBarItemsetTitle:@"Activities"];[SecondTabView.tabBarItemsetImage:[UIImageimageNamed:@"a2"]];UIViewController*ThirdTabView;MySqlite*mysql=[[MySqlitealloc]init];if([mysqlgetUser]){ThirdTabView=[[MySettingsalloc]init];}else{ThirdTabView=[[WhatCheckInalloc]init];}[ThirdTabView.tabBarItemsetTitle:@"Me"];[ThirdTabView.tabBarItemsetImage:[UIImageimageNamed:@"d2"]];[mysqlrelease];SignToMe*FourthTabView=[[SignToMealloc]init];[FourthTabView.tabBarItemsetTitle:@"Iwanttocheck-in"];[FourthTabView.tabBarItemsetImage:[UIImageimageNamed:@"簽.png"]];SignNear*FirstTabView=[[SignNearalloc]init];[FirstTabView.tabBarItemsetTitle:@"CloseCheck-in"];[FirstTabView.tabBarItemsetImage:[UIImageimageNamed:@"c2"]];self.viewControllers=[NSArrayarrayWithObjects:FirstTabView,SecondTabView,ThirdTabView,FourthTabView,nil];[FirstTabViewrelease];[SecondTabViewrelease];[ThirdTabViewrelease];[FourthTabViewrelease];}returnself;}在此模塊顯示正在進(jìn)行的優(yōu)惠商戶信息,由于頁(yè)面較多仍然使用UITabBarController以展示更多信息,每個(gè)頁(yè)面都有一個(gè)UITabelView,其上放置一個(gè)searchBar,以實(shí)現(xiàn)搜索功能。界面如圖4-6所示:圖4-6優(yōu)惠券界面 初始化UITabBarController代碼如下:-(id)init{self=[superinitWithNibName:nilbundle:nil];if(self){self.title=@"Coupons";NearbyDetail*FirstTabView=[[NearbyDetailalloc]init];[FirstTabView.tabBarItemsetTitle:@"Lastcoupons"];[FirstTabView.tabBarItemsetImage:[UIImageimageNamed:@"c2"]];NearbyHot*ThirdTabView=[[NearbyHotalloc]init];[ThirdTabView.tabBarItemsetTitle:@"NewCoupons"];[ThirdTabView.tabBarItemsetImage:[UIImageimageNamed:@"f2"]];NearbyHot*FourthTabView=[[NearbyHotalloc]init];[FourthTabView.tabBarItemsetTitle:@"HotCoupons"];[FourthTabView.tabBarItemsetImage:[UIImageimageNamed:@"e2"]];NearbySearch*SecondTabView=[[NearbySearchalloc]init];[SecondTabView.tabBarItemsetTitle:@"SearchCoupons"];[SecondTabView.tabBarItemsetImage:[UIImageimageNamed:@"h2"]];self.viewControllers=[NSArrayarrayWithObjects:FirstTabView,SecondTabView,ThirdTabView,FourthTabView,nil];[FirstTabViewrelease];[SecondTabViewrelease];[ThirdTabViewrelease];[FourthTabViewrelease];//NSLog(@"%d",[FirstTabViewretainCount]);}returnself;}如圖4-7為今日?qǐng)F(tuán)購(gòu)界面:圖4-7今日?qǐng)F(tuán)購(gòu)界面其中中間展示信息的部分用的是UIWebView,正如它的名字,它是用于展示網(wǎng)站的,在此展示網(wǎng)站的團(tuán)購(gòu)優(yōu)惠信息。首先,利用網(wǎng)址字符串構(gòu)造一個(gè)NSURL對(duì)象,再由此NSURL對(duì)象構(gòu)造一個(gè)NSURLRequest對(duì)象,最后通過(guò)UIWebView的loadRequest方法就得以展示網(wǎng)站信息了,具體實(shí)現(xiàn)代碼如下:-(void)viewDidLoad{[superviewDidLoad];self.title=@"Snapupshopping";NSString*string=@"://thukhashwepyi/tuan/wap/index.php";//NSString*string=@"";NSURL*url=[NSURLURLWithString:string];NSURLRequest*request=[NSURLRequestrequestWithURL:url];[webGouploadRequest:request];[stringrelease];//[requestrelease];}此模塊是根據(jù)人氣、評(píng)分等展示熱門商戶和最佳商戶的排行的,效果如圖4-8:圖4-8排行榜界面觸碰cell后觸發(fā)-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath;函數(shù),代碼如下:-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath{ListDetail*listView=[[ListDetailalloc]init];[listViewinitWithTitleLable:[[listDataobjectAtIndex:0]objectAtIndex:indexPath.row]];[self.navigationControllerpushViewController:listViewanimated:YES];[listViewrelease];}進(jìn)入各分類排行,以MostpopularFood為例,如圖4-9MostpopularFood界面:圖4-9MostpopularFood界面進(jìn)入界面后,從網(wǎng)絡(luò)加載數(shù)據(jù),下載圖片,下載圖片時(shí),用UIActivityIndicatorView展示旋轉(zhuǎn)等待狀態(tài),利用NSData的dataWithContentsOfURL方法實(shí)現(xiàn)下載,下載完成后,等待狀態(tài)要消除,利用UIActivityIndicatorView的stopAnimating方法實(shí)現(xiàn)。代碼如下:-(void)downPicture:(UIImageView*)iv{NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];UIImage*image=[[UIImagealloc]initWithData:[NSDatadataWithContentsOfURL:[NSURLURLWithString:[[ListDataobjectAtIndex:iv.tag]photo]]]];iv.image=image;[((UIActivityIndicatorView*)[ivviewWithTag:21])stopAnimating];[pooldrain];}-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section{return[ListDatacount];}不難發(fā)現(xiàn),此tableView的高度明顯要高,自定義高度只需在(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath;方法中return你需要的高度,不實(shí)現(xiàn)此函數(shù),則表示高度為默認(rèn)值44,代碼如下:-(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath{return90;}觸碰各cell后,觸發(fā)-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath;函數(shù),在此函數(shù)中要先實(shí)例化下一界面,然后進(jìn)入這一界面,代碼如下:-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath{BusinessDetail*businessView=[[BusinessDetailalloc]initWithSid:[[ListDataobjectAtIndex:indexPath.row]busniessID]];TKSPAppDelegate*appDelegate=[[UIApplicationsharedApplication]delegate];[appDelegate.navigationControllerpushViewController:businessViewanimated:YES];[businessViewrelease];}簽到界面如圖4-10:圖4-10簽到界面觸碰check-innow按鈕后,先判斷用戶是否登錄,若登錄則進(jìn)入checkView界面,若用戶沒(méi)有登錄則利用UIAlertView提示用戶登錄,代碼如下:-(IBAction)CheckIn:(id)sender{MySqlite*mysql=[[MySqlitealloc]init];if([mysqlgetUser]){CheckInPage*checkView=[[CheckInPagealloc]init];checkView.myId=[mysqlgetUser];checkView.businessId=sid;[selfpresentModalViewController:checkViewanimated:YES];[checkViewrelease];}else{flag=1;UIAlertView*alert=[[UIAlertViewalloc]initWithTitle:@"Prompted"message:@"Pleaseloginfirst"delegate:selfcancelButtonTitle:@"Cancel"otherButtonTitles:@"Login",nil];[alertshow];[alertrelease];}[mysqlrelease];}若用戶已登錄則直接進(jìn)入checkView界面,如下圖4-11所示:圖4-11簽到評(píng)論界面在此頁(yè)面用戶可以在textView中輸入評(píng)論信息,觸碰Addphoto按鈕時(shí)彈出一actionSheet,提示用戶是通過(guò)照相還是從照片庫(kù)中選取圖片來(lái)實(shí)現(xiàn)插入圖片或取消插入功能,另外,需要說(shuō)明的是選取無(wú)論是選取圖片還是照相都是通過(guò)照片選取器UIImagePickerController來(lái)實(shí)現(xiàn)的,具體代碼如下:-(void)actionSheet:(UIActionSheet*)actionSheetclickedButtonAtIndex:(NSInteger)buttonIndex{NSLog(@"%d",buttonIndex);if(buttonIndex==0){UIImagePickerController*imageView=[[UIImagePickerControlleralloc]init];imageView.sourceType=UIImagePickerControllerCameraDeviceFront;imageView.delegate=self;[selfpresentModalViewController:imageViewanimated:YES];[imageViewrelease];}elseif(buttonIndex==1){UIImagePickerController*imageView=[[UIImagePickerControlleralloc]init];imageView.delegate=self;[selfpresentModalViewController:imageViewanimated:YES];[imageViewrelease];}}-(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingImage:(UIImage*)imageeditingInfo:(NSDictionary*)editingInfo{[pickerdismissModalViewControllerAnimated:YES];[imageButtonsetImage:imageforState:UIControlStateNormal];}評(píng)論完,觸碰submit按鈕完成提交簽到,首先檢查網(wǎng)絡(luò)是否聯(lián)通,聯(lián)通情況下完成提交,若提交成功,通過(guò)UIAlertView提示提交成功,具體代碼如下:-(IBAction)submitCheckInfo:(id)sender{//提交簽到信息接口if([NearbyLogicControlconnectedToNetwork]){NearbyLogicControl*logic=[[NearbyLogicControlalloc]init];CGSizeitemSize=CGSizeMake(80,100);UIGraphicsBeginImageContext(itemSize);CGRectimageRect=CGRectMake(0,0,80,100);[imageButton.imageView.imagedrawInRect:imageRect];imageButton.imageView.image=UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();NSData*imageData=UIImagePNGRepresentation(imageButton.imageView.image);//NSString*string=[[NSStringalloc]initWithData:imageDataencoding:NSASCIIStringEncoding];if([logicsubmitCheck:businessIdChecks:textView.textPicture:nilMyId:myIdPdata:imageData]){UIAlertView*alertv=[[UIAlertViewalloc]initWithTitle:@"Prompted"message:@"Congratulations!,Credit+4"delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil,nil];[alertvshow];[alertvrelease];}else{UIAlertView*alertv=[[UIAlertViewalloc]initWithTitle:@"Prompted"message:@"Check-infailed,Max.fourtimesallowedforthisbusiness"delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil,nil];[alertvshow];[alertvrelease];}[logicrelease];}else{UIAlertView*alertv=[[UIAlertViewalloc]initWithTitle:@"Prompted"message:@"Connectfaild"delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil,nil];[alertvshow];[alertvrelease];}}在此模塊,用戶瀏覽的商戶信息瀏覽記錄在此展示,用戶在進(jìn)入商戶瀏覽商戶信息前,先將商戶信息存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),再通過(guò)讀取數(shù)據(jù)庫(kù)信息,查看瀏覽記錄,界面效果如圖4-12:圖4-12瀏覽記錄界面界面實(shí)現(xiàn)代碼如下:-(void)viewDidLoad{[superviewDidLoad];self.title=@"RecentlyViewed";tableList.delegate=self;tableList.dataSource=self;MySqlite*sqlite=[[MySqlitealloc]init];ListData=[sqlitegetBusiness];[sqliterelease];UIBarButtonItem*item=[[UIBarButtonItemalloc]initWithTitle:@"Clear"style:UIBarButtonItemStyleBorderedtarget:selfaction:@selector(Clear:)];self.navigationItem.rightBarButtonItem=item;}將商戶信息存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),代碼如下:-(BOOL)SaveBusinessInfo:(BusinessInfo*)shop{ NSString*sql=[NSStringstringWithFormat:@"INSERTINTOBusinessList(sid,sn,score,cost,address,purl,subname,tag)VALUES('%@','%@','%@','%@','%@','%@','%@','%@');",shop.busniessID,shop.businessName,shop.score,shop.cost,shop.Address,shop.photo,shop.businessTitle2,shop.Tag]; //NSLog(@"SQL==%@",sql); intstatus=sqlite3_exec(database,[sqlUTF8String],0,0,NULL);// NSLog(@"SQL==%d",status);returnstatus;}觸碰Clear實(shí)現(xiàn)清空記錄,通過(guò)刪除數(shù)據(jù)庫(kù)數(shù)據(jù)實(shí)現(xiàn),代碼如下:-(void)Clear:(id)sender{MySqlite*sqlite=[[MySqlitealloc]init];[sqliteopendatabase];[sqlitedeleteTempBusiness];ListData=[sqlitegetBusiness];[tableListreloadData];[sqliteclose];[sqliterelease];}在此模塊,展示該城市的公共服務(wù)信息,如醫(yī)院,警察局等,還是通過(guò)UITableView顯示,界面如圖4-13:圖4-13城市信息界面實(shí)現(xiàn)代碼如下:-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section{return13;} 上面返回的是cell的個(gè)數(shù)。 再調(diào)用-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath實(shí)現(xiàn)各個(gè)cell。此模塊主要實(shí)現(xiàn)用戶登陸,城市選擇,建議反饋,幫助,關(guān)于功能,在此主要介紹一下用戶登陸,因?yàn)槠渌δ茉谇懊嫠鲋芯焉婕埃蛔鲞^(guò)多贅述。界面效果如圖4-14:圖4-14更多界面判斷是否已登錄的代碼如下:cell.textLabel.text=@"Accountsettings";MySqlite*mysql=[[MySqlitealloc]init];if([mysqlgetUser]!=nil){cell.detailTextLabel.text=[mysqlgetUser];}else{
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年深冷技術(shù)設(shè)備合作協(xié)議書
- 環(huán)境工程投資咨詢合同(2篇)
- 三年級(jí)下學(xué)期工作總結(jié)
- 湘教版地理八年級(jí)下冊(cè):7.2 《澳門特別行政區(qū)的旅游文化特色》 聽(tīng)課評(píng)課記錄2
- 魯教版數(shù)學(xué)六年級(jí)下冊(cè)9.3《用圖象表示變量之間的關(guān)系》聽(tīng)評(píng)課記錄1
- 醫(yī)養(yǎng)結(jié)合養(yǎng)老合作合同范本
- 華師大版數(shù)學(xué)八年級(jí)下冊(cè)18.2《平行四邊形的判定》(第1課時(shí))聽(tīng)評(píng)課記錄
- 【部編版】七年級(jí)歷史上冊(cè) 《三國(guó)鼎立》 公開(kāi)課聽(tīng)課評(píng)課記錄
- 個(gè)人出資入股股權(quán)代持協(xié)議書范本
- 二零二五年度商務(wù)英語(yǔ)合同翻譯與全球貿(mào)易摩擦應(yīng)對(duì)策略合作協(xié)議
- 保潔班長(zhǎng)演講稿
- 課題研究實(shí)施方案 范例及課題研究方法及技術(shù)路線圖模板
- 牙髓炎中牙髓干細(xì)胞與神經(jīng)支配的相互作用
- 勞務(wù)雇傭協(xié)議書范本
- 【2022屆高考英語(yǔ)讀后續(xù)寫】主題升華積累講義及高級(jí)句型積累
- JGJ52-2006 普通混凝土用砂、石質(zhì)量及檢驗(yàn)方法標(biāo)準(zhǔn)
- 環(huán)境監(jiān)測(cè)的基本知識(shí)
- 電動(dòng)車棚施工方案
- 《中國(guó)十大書法家》課件
- 超實(shí)用可編輯版中國(guó)地圖全圖及分省地圖
- 西方法律思想史ppt
評(píng)論
0/150
提交評(píng)論