




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于IOS的《糗事百科》App的設計與實現(xiàn)摘要:《糗事百科》App主要目的在于為廣大的IOS手機用戶提供一款實用的,沒有廣告的娛樂休閑應用,在工作之余為自己減壓。本文首先對《糗事百科》App進行應用需求分析,其次,針對應用需求進行了應用架構設計,以提高本應用的可復用性和可擴展性。采用基于同一工程的分層架構設計模式。然后對應用進行詳細設計與實現(xiàn),運用OC與C語言和IOS開發(fā)技術結合及X-Code的SQLite數據庫,設計并實現(xiàn)《糗事百科》App,最后對本應用進行了功能測試?!遏苁掳倏啤稟pp實現(xiàn)了用戶在線瀏覽各種糗事,查看圖片等操作,同時實現(xiàn)了隨便逛逛,精華,有圖有真相,穿越,我收藏的,我參與的,熱門冏圖,內涵圖片等功能模塊。應用界面簡單,用戶體驗較好。該應用為廣大糗友以及喜愛糗事百科的網友們提供了一個沒有廣告的輕松的糗百世界。關鍵詞:App;IOS;OC與C語言DesignandImplementationof《EmbarrassmentsEncyclopedia》AppBasedonIOSAbstract:The\"EmbarrassmentsEncyclopedia\"toanAppmainpurposeisforthemajorityofIOSmobilephoneuserstoprovideapractical,noadvertisingentertainmentapplications,anddecompressionforyourselfafterwork.Firstly,onthe\"EmbarrassmentsEncyclopedia\"Apptoanalyzetheapplication'srequirements,andsecondly,fortheapplicationoftheapplicationarchitectureneedstodeliverthisapplicationreusabilityandscalability.Basedonalayeredarchitecturedesignpatternsinthesameproject.Thenapplythedetaileddesignandimplementation,theuseofdevelopmenttechnologyforIOScombinedwithOCandCProgramminglanguageandX-Codebuilt-inSQLitedatabasetodesignandimplementation\"EmbarrassmentsEncyclopedia\"App,Finally,thefunctionaltestingoftheapplication.The\"EmbarrassmentsEncyclopedia\"Appimplementsvariousembarrassmentsusersonlinebrowsing,viewingpicturesandotheroperations,Simultaneouslyachievingthecasualstroll,essence,therearepicturesandthetruth,through,myfavorite,myparticipation,popularembarrassingfigure,contentandpicturesfunctionmoduleandsoon.Theinterfaceofapplicationissimpleandisbetterforuserexperience.TheapplicationforthemajorityofembarrassingfriendsandlovedEmbarrassmentsEncyclopedianetizensdidprovidearelaxedworldofEmbarrassmentsEncyclopediawithoutadvertisting.Keywords:App;IOS;OCandCProgrammingLanguages引言進入二十一世紀以來,互聯(lián)網的飛快發(fā)展推動著各行業(yè)的進步和發(fā)展。人類進入了互聯(lián)網信息時代,人們對互聯(lián)網數據和信息的處理和應用已經進入自動化、網絡化和社會化的階段。在互聯(lián)網信息時代的今天,越來越多的互聯(lián)網用戶利用于機等移動端進行相關的網上交流和娛樂活動。移動端的發(fā)展成為互聯(lián)網的一個重要的方向與趨勢,它是互聯(lián)網絡和移動手持設備結合的產物。而移動端應用作為移動端的重要組成部分,也在最近幾年得到了飛速發(fā)展。首先本次畢業(yè)設計分析糗事百科的相關功能,結合本次畢業(yè)設計給出的相關要求寫出需求分析;其次,綜合運用所學的相關知識(包括網絡、數據庫、網頁制作,iOS等),采用OC+IOS進行本系統(tǒng)的開發(fā),使用X-Code編輯相關頁面;在應用設計中以需求分析為基礎,寫出應用開發(fā)計劃、實現(xiàn)流程以及相關問題的實現(xiàn)方法。本應用旨在為網友們提供一款輕松,愉快的娛樂應用,利用網絡的即時性、開放性,將移動端交流及時以及查看方便的優(yōu)點融合在一起,吸收傳統(tǒng)PC端的優(yōu)點,并克服其時間限制,攜帶不便等弱點,發(fā)揮移動端應用的優(yōu)點,構建一種全新的娛樂交流模式。通過這個應用,廣大“糗友”可以隨時隨地在iOS手機端查看各種糗事,欣賞各種冏圖。以及對他人的糗事進行評論。另外在“糗友”自己發(fā)布了新的糗事之后,可以查看他人對自己的評價,也可以進行及時回復?!棒苡选笨吹较矚g的糗事可以進行點贊,看到喜歡的美圖也可以保存到自己的手機上。與官方的糗事百科客戶端相比沒有了廣告的煩惱,可以讓喜愛糗百的網友們輕松,暢快的瀏覽糗事,暢所欲言。第1章概述本章主要介紹了該課題的相關背景,研究的主要內容,應用開發(fā)的目的及意義,同時簡單介紹了完成該課題所用到的相關技術及需求軟件。1.1系統(tǒng)開發(fā)背景隨著互聯(lián)網應用的不斷發(fā)展,移動應用得到了大幅度的發(fā)展和各網絡公司的高度重視,從而使移動應用蓬勃發(fā)展,但是同西方等發(fā)達國家相比,我國移動互聯(lián)應用行業(yè)的發(fā)展程度還相對較低,只有在發(fā)展較早、移動用戶規(guī)模較大的大城市得到了一些普及,而一些新興的、規(guī)模較小的二三線城市還沒有足夠的互聯(lián)網公司,還缺乏移動應用發(fā)展的土壤。所以我國移動應用的發(fā)展還有極大的潛力需要開發(fā)。而隨著最近幾年蘋果手機在我國的大熱,相應的iOS系統(tǒng)也是得到了更多人的重視,而開發(fā)一款適合iOS系統(tǒng)的移動應用也是很有必要的。據最近相關調查數據顯示:在蘋果應用商店APPStore上面,在排名前50名的應用每天每個應用下載量達到約950次,那么50個應用的下載量就是50*950=4750萬次。而免費應用的下載量通常需要達到2.3萬次才能進入免費應用排行榜前50名,如果想要進入前十名,則要達到每天7萬次的下載量。這樣大概算起來前50個免費應用下載量就是大約250萬次。因此從下載量來看,蘋果用戶是一個十分龐大的群體。現(xiàn)在蘋果大熱,iOS發(fā)展勢頭更是不可阻擋,開發(fā)受歡迎的iOS移動應用成為各公司重要關注的事情。1.2研究的主要內容根據iOS的開發(fā)設計特點,研究其手機端應用開發(fā)的意義以及應達到的目標和要求;運用iOS技術及X-Code開發(fā)工具與Sqlite數據庫存儲操作進行開發(fā)基于iOS的糗事百科App的設計與實現(xiàn),完成在線瀏覽糗事、熱門糗事、最新、真相等模塊設計。1.3系統(tǒng)開發(fā)目的意義糗事百科是以網友真實發(fā)表的糗事為主題的笑話網站,話題輕松休閑。在糗事百科中隨時可以查看他人發(fā)布的糗事并與網友分享自己親身經歷或聽說到的油菜、杯具、草蛋、有意思的、不順心的等各類情形的生活糗事,并且可以左右排名。進行糗事百科客戶端的設計不僅可以檢驗自己的iOS學習水平,也可以在學習中休閑片刻。隨著互聯(lián)網的快速發(fā)展,移動互聯(lián)網逐漸擴大了影響力,移動互聯(lián)網是移動端和互聯(lián)網結合的產物。隨著移動互聯(lián)網的發(fā)展,移動App應用也得到了迅速的發(fā)展。移動上網用戶數增長迅速增加。艾瑞咨詢(iResearch)2012年底進行的有關移動互聯(lián)網用戶行為大調研數據顯示,有57.8%的用戶選擇登錄手機瀏覽器,42.2%的用戶會選擇登錄客戶端應用,二者的占比幾乎接近1:1,首先選擇登錄客戶端應用的用戶比例大幅度增長。這無疑是2012年移動App應用良好快速發(fā)展的一個證明,并且,移動App應用也已經改變了或者正在改變用戶的手機的某些使用習慣。而移動APP應用也必將在將來得到更好,更快的發(fā)展。其中社交,娛樂應用的發(fā)展也是令人矚目,很多優(yōu)秀的App得到了廣大的推廣和應用。而糗事百科作為其中的一個,也是得到了廣大網民用戶的認可和喜愛,尤其是在學生,白領人群中。在最近幾年,移動化、社交化、多媒體化、云化已經成為大眾認可的新媒體發(fā)展趨勢,各類個性化和本土化的App應用應運而生。設計個性化的應用滿足社交娛樂的需要勢在必行,所以進行糗事百科的設計是十分有必要的。通過這個App你可以選擇把生活中不順心,尷尬的,糗事,倒霉事在這里盡情傾訴,和眾人分享,苦中作樂,同時你也可以看看他人的各種糗事,為自己減壓。1.4開發(fā)環(huán)境及相關技術介紹開發(fā)環(huán)境是應用開發(fā)的基本要求,是指很方便地把一種編譯語言代碼化并編譯執(zhí)行的工具,而相關技術是開發(fā)應用必備。本應用使用X-Code作為主要的開發(fā)工具,使用OC編程語言作為主要的開發(fā)語言,并運用iOS開發(fā)與html開發(fā)技術技術。采用內置的SQLite數據庫作為數據存儲。Xcode介紹Xcode是蘋果公司開發(fā)的專業(yè)編程軟件,是開發(fā)人員建立OSX和iOS應用程序的最方便的方式。Xcode具有統(tǒng)一簡潔的用戶界面設計,編碼、測試、調試都在一個簡單的窗口內完成。它的前身是繼承自NeXT的ProjectBuilder。從Xcode3.1開始,Xcode也可被用為iPhoneOS的開發(fā)環(huán)境。目前Xcode主要版本是Xcode5,支持iOS7,Xcode現(xiàn)在可以在MacAppStore免費下載,亦可在iOS開發(fā)者計劃網站進行下載。它的最新版本是Xcode6,整合了蘋果在WWDC大會上發(fā)布的新語言Swift。Xcode是蘋果官方向蘋果開發(fā)人員提供的集成開發(fā)編程環(huán)境(非開源),用于開發(fā)MacOSX,iOS的應用程序。其運行于蘋果公司開發(fā)的Mac操作系統(tǒng)下。不管你用C、C++、Objective-C或Java編寫程序,在AppleScript里編寫腳本,還是嘗試從另一個美好的工具中轉移編碼,你會發(fā)現(xiàn)Xcode編譯速度是極快的。每次操作都很快速和輕松,幾乎沒有卡死的現(xiàn)象。Xcode允許你開發(fā)基于iOS的iPad、iPhone、iPodTouch設備的應用程序,只要你有MacOSXSnowLeopard10.6.2以上版本MacOS操作系統(tǒng),便可成功安裝iossdk,另外如果你有iOS設備,就可讓Xcode把應用程序部署安裝到你的iOS設備上,除此之外,你還可以使用Xcode自帶的iPhone模擬器進行調試。Xcode提供了非常友好而方便的應用程序開發(fā)環(huán)境,這樣你就可以開發(fā)出好的iOS應用程序了。OC介紹Objective-C,通常寫作OC和較少用的ObjectiveC或Obj-C,是擴展C的面向對象編程語言。它主要使用于MacOSX和GNUstep這兩個使用OpenStep標準的系統(tǒng),而在NeXTSTEP和OpenStep中它更是基本語言。Objective-C可以在GCC以及Clang運作的系統(tǒng)上編寫和編譯,因為GCC與Clang都是包含Objective-C的編譯器的。1980年代初布萊德?確斯(BradCox)在其公司Stepstone發(fā)明了Objective-C。他對軟件設計和編程里的真實可用度問題相當關心。Objective-C最主要的描述是他1986年出版的ObjectOrientedProgramming:AnEvolutionaryApproach.AddisonWesley.ISBN0-201-54834-8.Objective-C是用于編寫iOS操作系統(tǒng)(如:iPhone、iPodtouch、iPad等蘋果移動終端設備)應用程序和MacOSX操作系統(tǒng)應用程序的專業(yè)利器。Objective-C的流行無疑要歸功于iPhone的成功,因為Objective-C主要被用于編寫iPhone應用程序。Objective-C是非常實際的語言。它是一個用C寫成、很小的運行庫,只會令應用程序的尺寸增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時間會取代了整個系統(tǒng)的運作相反。Objective-C寫成的程序通常很小。而其函式庫(通常沒附在軟件發(fā)行本)亦和Smalltalk系統(tǒng)要使用極大的內存來開啟一個窗口的情況相反。因此,Objective-C它完全兼容標準C語言,而在此基礎上增加了面向對象編程語言的特性以及Smalltalk消息機制。IOS介紹iOS是iPad、iPhone、iPodtouch和AppleTV的操作系統(tǒng)。是由蘋果公司開發(fā)的移動操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會上公布這個了iOS系統(tǒng),最初是設計給iPhone使用的,后來陸續(xù)套用到iPodtouch、iPad以及AppleTV等產品上。iOS與蘋果的MacOSX操作系統(tǒng)一樣,它也是以Darwin為基礎的,因此同樣屬于類Unix的商業(yè)操作系統(tǒng)。原本這個系統(tǒng)名為iPhoneOS,因為iPad,iPhone,iPodtouch都使用iPhoneOS,所以2010WWDC大會上宣布改名為iOS。iOS擁有簡單易用的界面、令人驚奇的功能,以及強大的穩(wěn)定性,已經成為iPhone、iPad和iPodtouch的穩(wěn)定基礎。盡管其他競爭對于一直努力地追趕,iOS內置的眾多技術和功能讓Apple設備始終保持著遙遙領先的地位。SQLite介紹SQLite,是一款輕型的數據庫,它是遵守ACID的關系型數據庫管理系統(tǒng),包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。其設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,SQLite占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就足夠運行了。它可以輕松支持Windows/Linux/Unix等主流的操作系統(tǒng),同時能夠跟很多程序語言相結合,比如Tcl、C#、PHP、Java、Objective-C等,還有ODBC接口,另外比起Mysql、PostgreSQL這兩款開源的世界著名數據庫管理系統(tǒng)來講,它的處理速度是無法比擬的。SQLite第一個Alpha版本于2000年5月誕生。至2015年已經有15年了,目前SQLite的新版本SQLite3已經發(fā)布。運用SQLite能夠方便快捷的進行數據的存儲與操作,方便進行程序的開發(fā)。1.5小結本章對《糗事百科》App做了總體的概述,介紹了應用的開發(fā)背景,開發(fā)目的;以及應用需要的開發(fā)環(huán)境及相關技術的介紹,為后期的開發(fā)工作做準備。第2章應用需求分析應用需求分析主要是對該應用進行詳細的分析,確定應用的功能,需求分析不僅能為后期的應用軟件開發(fā)指明方向,也是項目管理和計劃的前期必要的準備。2.1可行性分析2.1.1經濟可行性目前,蘋果計算機以及移動設備在中國正在迅速擴大市場,很多網民在使用蘋果設備進行各種網絡社交活動,瀏覽網絡信息。而本應用的設計與實現(xiàn),為廣大蘋果用戶的工作和娛樂帶來了一個更加美好的體驗,為此主要體現(xiàn)為以下幾個方面:第一,此應用的運行可以代替網頁端進行各種操作;第二,此應用的運行可以減少用戶操作,方便用戶瀏覽,查看信息;第三,此應用的運行可以大大提高用戶對信息的回復效率;第四,此應用的運行可以很好的改善pc端不能隨時查看信息,進行娛樂的缺點等;所以,此應用在經濟上是可行的。2.1.2開發(fā)可行性本應用是一個手機客戶端應用。用戶在使用本應用時,只需要打開應用程序就可以運行應用全部的模塊,進行所有的操作。應用采用iOS中的MVC模式進行程序的開發(fā),目前,iOS開發(fā)技術已經相當成熟。并且還在不斷發(fā)展和改進。可以快速開發(fā)出實用性,可擴展性的多功能應用。因此,本應用具有開發(fā)的可行性,并且可在一定時間內保持應用的實時更新和可持續(xù)擴展。2.2需求分析設計基于IOS《糗事百科》App旨在給廣大糗百愛好者之間提供一個高效快速溝通,娛樂的平臺,通過及時回復信息的互動形式,給網友提供一個較為方便的,輕松的娛樂社交應用。通過該應用,網友能夠了解糗事百科的的基本概念、理解糗事百科的的發(fā)展及存在意義等;也可以在本應用進行瀏覽各種糗事信息,享受糗事的快樂。另外還可以對自己喜歡的糗事進行點贊,評論等,也可以對自己喜歡的糗事投反對票。通過該應用,更方便快捷的隨時查看信息及時回復?;谶@個需求,該應用應具備用戶前臺操作模塊和用戶設置模塊。應用總體用例圖如圖2-1所示。圖2-1應用總體用例圖2.2.1用戶前臺操作模塊需求用戶前臺操作模塊設計即前臺模塊設計,該模塊主要包含:(1) 隨便逛逛,包括干貨和嫩草分頁面??梢赃M行相關糗事的瀏覽,查看,點贊,評論。(2) 精華,包括日,周,月分頁面。同樣也可以進行相關糗事的瀏覽,查看,點贊,評論等。(3) 有圖有真相,包括時令和硬菜分頁面。(4) 穿越,除了前面的糗事基本操作,還需要點擊穿越隨機到一個時間的糗事。(5) 我收藏的和我參與的,需要登錄后查看自己的收藏和評論信息。(6) 熱門冏圖,內涵圖片,視頻集錦,包括對其中圖片或視頻的查看和保存。(7) 加入糗百,進行用戶的注冊和登錄2.2.2用戶設置模塊需求用戶設置模塊主要用于查看設置相關的信息,包括夜間模式,清除緩存,我的資料,意見反饋,打分支持,關于糗百,精彩推薦,應用推薦,檢查更新等設置。2.3小結4.3側邊欄模塊實現(xiàn)側邊欄模塊的主要功能是在主頁面和分頁面之間進行切換,側邊欄展示的分頁面模塊包括隨便逛逛、精華、有圖有真相、穿越、我收藏的、我參與的、熱門冏圖、內涵圖片、加入糗百,設置10個子模塊組成。。側邊欄模塊設計界面如圖4-3所示。圖4-3側邊欄設計界面隨便逛逛隨便逛逛由十貨和嫩草兩個子頁面組成,干貨分頁面用于展示十貨類別的糗事信息,嫩草分頁面用于展示嫩草類別的糗事信息。隨便逛逛設計界面如圖4-4所示。圖4-4隨便逛逛-十貨設計界面隨便逛逛界面的設計主要是Switch控件及Tableview控件的應用,設置Switch控件及Tableview控件的相關屬性。通過切換Switch按鈕來進行十貨和嫩草分頁面的切換,其核心代碼如下:_sliderSwitch=[[XWSliderSwitchalloc]initWithFrame:CGRectMake(0,0,118,29)];_sliderSwitch.labelCount=2;_sliderSwitch.delegate=self;[_sliderSwitchinitSliderSwitch];[_sliderSwitchsetSliderSwitchBackground:[UIImageimageNamed:@\"top_tab_background2.png\"]];[_sliderSwitchsetLabelOneText:@\"十貨\"];[_sliderSwitchsetLabelTwoText:@\"嫩草、"];點擊按鈕控件時,通過改變獲取數據的url來改變分頁面的內容,從而達到隨著按鈕切換內容也隨著改變的效果,其核心代碼如下:NSURL*url=nil;if(type==QiuShiTypeSuggest)(url=[NSURLURLWithString:api_stroll_suggest(30,page)];}else(url=[NSURLURLWithString:api_stroll_latest(30,page)];}self.strollRequest=[ASIHTTPRequestrequestWithURL:url];self.strollRequest.delegate=self;[self.strollRequeststartAsynchronous];精華精華模塊主要用于展示精華模塊的糗事信息,其中包括日,周,月的分頁面。分頁面根據近一日,一周,一月的糗事信息進行分類。其精華模塊界面設計如圖4-5所示。圖4-5精華設計頁面穿越該模塊主要用于顯示穿越模塊的相關信息,通過點擊穿越按鈕可以穿越到隨機的一個時間查看當天糗事信息。穿越模塊界面設計如圖4-6所示。圖4-6穿越界面首先需要創(chuàng)建穿越頁面,其核心代碼如下所示:[self.viewsetBackgroundColor:[UIColorcolorWithPatternImage:[UIImageimageNamed:@\"main_background.png\"]]];//設置背景圖片self.navigationltem.leftBarButtonltem=[[[UIBarButtonltemalloc]initWithCustomView:_sideButton]autorelease];self.navigationItem.rightBarButtonItem=[[[UIBarButtonItemalloc]initWithCustomView:_timeAgainButton]autorelease];self.traversingTableView.scrollsToTop=YES;在穿越頁面,點擊穿越按鈕,獲取一個隨機的穿越時間,之后獲取該時間的糗事進行刷新顯示,點擊按鈕后的穿越效果如下圖4-7所示:圖4-7穿越-設計界面實現(xiàn)穿越隨機穿越的核心代碼如下所示:〃隨機按鈕,獲取隨機日期,重新請求self.title=@\"穿越中...\";self.dateString=[ToolkitdateStringAfterRandomDay];_currentTraversingPage=1;[_traversingTableViewsetContentOffset:CGPointZeroanimated:YES];[selfinitTraversingRequestWithType:_qiushiTypeandPage:_currentTraversingPage];請求數據的關鍵代碼如下所示:NSURL*url=[NSURLURLWithString:api_traversing_history(self.dateString,30,page)];self.traversingRequest=[ASIHTTPRequestrequestWithURL:url];self.traversingRequest.delegate=self;[self.traversingRequeststartAsynchronous];有圖有真相有圖有真相模塊主要用于有圖的糗事顯示。其中包括硬菜和時令兩個分頁面。硬菜是網絡獲取的隨機的糗事信息,而時令是當前季節(jié)時令對應相關的糗事信息。頁面效果圖如圖4-8所示:圖4-8有圖有真相-實現(xiàn)創(chuàng)建頁面的核心代碼如下所示:[self.viewsetBackgroundColor:[UIColorcolorWithPatternImage:[UIImageimageNamed:@\"main_background.png\"]]];self.navigationItem.leftBarButtonItem=[[[UIBarButtonItemalloc]initWithCustomView:_sideButton]autorelease];self.navigationItem.rightBarButtonItem=[[[UIBarButtonItemalloc]initWithCustomView:_postButton]autorelease];self.navigationItem.titleView=_sliderSwitch;self.imageTruthTableView.scrollsToTop=YES;實現(xiàn)硬菜和時令分頁面的切換效果的關鍵代碼如下所示:_sliderSwitch=[[XWSliderSwitchalloc]initWithFrame:CGRectMake(0,0,118,29)];_sliderSwitch.labelCount=2;_sliderSwitch.delegate=self;[_sliderSwitchinitSliderSwitch];[_sliderSwitchsetSliderSwitchBackground:[UIImageimageNamed:@\"top_tab_background2.png\"]];[_sliderSwitchsetLabelOneText:@\"硬菜\"];[_sliderSwitchsetLabelTwoText:@\"時令、"];內涵圖片本模塊主要用于展示內涵圖片,其中圖片可以全屏查看,保存到手機相冊。頁面效果如下圖4-9所示:圖4-9內涵圖片設計界面首先需要創(chuàng)建本頁面的基本框架,創(chuàng)建的代碼如下所示:[self.viewsetBackgroundColor:[UIColorcolorWithPatternImage:[UIImageimageNamed:@\"main_background.png\"]]];self.navigationItem.leftBarButtonItem=[[[UIBarButtonItemalloc]initWithCustomView:_sideButton]autorelease];self.collectionView=[[PSCollectionViewalloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)];[self.viewaddSubview:self.collectionView];本頁面的主要采用了PSCollectionView來實現(xiàn)瀑布流效果的展示。運用PSCollectionView實現(xiàn)頁面信息的刷新和不斷加載功能。其中實現(xiàn)刷新和加載的關鍵代碼如下所示:if(_refreshHeaderView==nil)(//下拉刷新頁面信息EGORefreshTableHeaderView*view=[[EGORefreshTableHeaderViewalloc]initWithFrame:CGRectMake(0,0-CGRectGetHeight(_collectionView.bounds),CGRectGetWidth(self.view.frame),CGRectGetHeight(_collectionView.bounds))];view.delegate=self;_collectionView.headerView=view;_refreshHeaderView=view;[viewrelease];}[_refreshHeaderViewrefreshLastUpdatedDate];if(_loadMoreFooterView==nil)(//上拉加載更多美圖信息_loadMoreFooterView=[[LoadMoreFooterViewalloc]initWithFrame:CGRectMake(0,0,320,40)];_loadMoreFooterView.delegate=self;_collectionView.footerView=_loadMoreFooterView;}當選中其中一個圖片(cell)時,就會進入全屏查看圖片頁面,在這個頁面可以進行保存操作。效果如下圖4-10所示:圖4-10圖片保存實現(xiàn)這個圖片詳情頁面的關鍵代碼如下所示:NSDictionary*dict=[_girlArrayobjectAtIndex:index];QiuShiImageViewController*qiushiImageVC=[[QiuShiImageViewControlleralloc]initWithNibName:@\"QiuShiImageViewController\"bundle:nil];[qiushiImageVCsetQiuShiImageURL:[dictobjectForKey:@\"large_url\"]];qiushiImageVC.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;[[UIApplicationsharedApplication]setStatusBarHidden:YESwithAnimation:UIStatusBarAnimationFade];[selfpresentViewController:qiushiImageVCanimated:YEScompletion:nil];[qiushiImageVCrelease];(6) 熱門冏圖本模塊主要用于最近時段熱門的一些搞笑的,冏的糗事圖片。和上個內涵圖片類似也是主要運用了瀑布流效果來展示圖片。同時也可進入圖片詳情進行圖片的全屏查看和保存。效果圖如下圖4-11所示:圖4-11熱門冏圖設計界面(7) 糗事詳情頁面各功能實現(xiàn)本頁面主要用于實現(xiàn)包括糗事詳情的查看,糗事的評論等功能。詳情頁面效果如下圖4-12所示:圖4-12糗事詳情設計界面詳情頁面評論的展示采用tableview進行展示,創(chuàng)建詳情頁面的核心代碼如下所示:[self.viewsetBackgroundColor:[UIColorcolorWithPatternImage:[UIImageimageNamed:@\"main_background.png\"]]];UIImage*backgroundImage=[UIImageimageNamed:@\"block_background.png\"];backgroundImage=[backgroundImageresizableImageWithCapInsets:UIEdgeInsetsMake(15,320,14,0)];_commentBackgroundImageView.image=backgroundImage;self.navigationItem.leftBarButtonItem=[[[UIBarButtonItemalloc]initWithCustomView:_backButton]autorelease];self.navigationItem.rightBarButtonItem=[[[UIBarButtonItemalloc]initWithCustomView:_shareButton]autorelease];[_qiushiDetailTableViewsetSeparatorColor:[UIColorcolorWithPatternImage:[UIImageimageNamed:@\"block_line.png\"]]];在點擊添加評論后進入評論頁面,通過下面代碼簡單創(chuàng)建該頁面:[selfinitBackgroundView];[selfinitToolBar];_commentTextView.placeHolder=@\"這里不歡迎貼小廣告、謾罵、色情、販毒、賣軍火等行為,否則您的言論將有可能作為禁言的呈堂證供的喲。\";[_commentTextViewbecomeFirstResponder];創(chuàng)建后的評論頁面效果如下圖4-13所示:圖4-13發(fā)表評論設計界面(8)寫糗事功能實現(xiàn)本頁面主要用于糗事的撰寫,頁面簡單清晰,首先看如圖4-14的效果:圖4-14撰寫糗事設計界面本頁面的創(chuàng)建方式與評論頁面是一致的。在此不必重述。這里說明撰寫糗事的實現(xiàn)核心代碼,由于接口參數未知,暫時無法實現(xiàn)糗事的上傳功能。if([_qsContentTextView.textlength]>5)([DialogsimpleToast:@\"接口參數未知,未能實現(xiàn)發(fā)表功能\"];[selfinitCreateQSRequest];//通過initCreateQSRequest方法實現(xiàn)糗事的撰寫,其中包括圖片,文字的撰寫上傳。}else([DialogsimpleToast:@\"寫的不夠啊\"];//需要撰寫足夠的字符}4.4用戶設置模塊實現(xiàn)用戶設置模塊主要用于支持用戶對應用的一些相關設置以及查看本應用的相關信息,用于后臺內容的顯示及信息交互等操作。其中主要由關于糗百、我的資料、應用推薦、用戶反饋、夜間模式、清除緩存等子模塊組成。模塊主頁面效果如下圖4-15所示:4-15用戶設置設計界面其中部分子模塊設計界面介紹如下。(1) 關于糗百界面設計關于糗百界面主要是給用戶查看關于糗百的一些基本信息,用戶不需要登錄就可以進行查看。關于糗百設計界面如圖4-16所示。圖4-16關于糗百設計界面關于糗百界面信息顯示主要使用Webview實現(xiàn),首先,在AboutViewController頁面中添加控件Webview,之后將Url中數據加載到頁面上,實現(xiàn)頁面信息加載顯示的關鍵代碼如下所示:NSString*filePath=[[NSBundlemainBundle]pathForResource:@\"about\"ofType:@\"html\"];//加載html頁面NSURL*url=[NSURLfileURLWithPath:filePath];[_aboutWebViewloadRequest:[NSURLRequestrequestWithURL:url]];(2) 我的資料界面設計我的資料模塊主要是給用戶展示開發(fā)者相關的信息,讓用戶了解信息以及查看使用過程中注意的一些問題,我的資料設計界面如圖4-17所示。圖4-17我的資料設計界面在我的資料界面中,實現(xiàn)功能和關于糗百類似,在此不再重述。(3) 應用推薦界面設計應用推薦模塊主要是為用戶推薦一些相關的優(yōu)秀的應用,以便用于下載使用。設計界面如圖4-18所示。圖4-18應用推薦設計界面應用推薦實現(xiàn)代碼如下所示:NSString*filePath=[[NSBundlemainBundle]pathForResource:@\"app\"ofType:@\"html\"];NSURL*url=[NSURLfileURLWithPath:filePath];[_appWebViewloadRequest:[NSURLRequestrequestWithURL:url]];意見反饋界面設計本頁面通過調用三方庫UMFeedback.h中的方法來實現(xiàn)頁面中的撰寫意見,發(fā)送意見,選擇性別,年齡段等操作。輕松實現(xiàn)了用于與開發(fā)者的互動。頁面設計如圖4-19所示:圖4-19用戶反饋設計界面調用三方庫UMFeedback.h中的方法[UMFeedbackshowFeedback:selfwithAppkey:UMENG_APPKEY];來實現(xiàn)本頁面的顯示與功能,核心代碼如下所示:okItem.action="{[UMFeedbackshowFeedback:selfwithAppkey:UMENG_APPKEY];};4.5小結本章主要對本應用的詳細設計進行了具體的描述,并對其中的關鍵技術做出比較詳細的描述,重要的地方給出了系統(tǒng)源代碼。通過系統(tǒng)每個模塊的簡要介紹,結合應用設計界面,展示了整個應用的詳細開發(fā)過程。第5章軟件測試本章主要對應用各個功能模塊的功能進行了測試,分別對各個功能模塊進行單元測試以及整體功能的測試。其目的是在設計的軟件投入使用之前盡可能早的發(fā)現(xiàn)軟件缺陷,缺陷發(fā)現(xiàn)的越早,其修復成本就越低。5.1黑盒測試黑盒測試,軟件測試的主要方法之一,也可以稱為功能測試、數據驅動測試或基于規(guī)格說明的測試。通過黑盒測試來檢測每個功能是否都能正常使用,在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,只知道程序的輸入、輸出和系統(tǒng)的功能,這是從用戶的角度針對軟件界面、功能及外部結構進行測試,并且是在程序接口進行測試,檢查程序功能是否能正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。5.2測試環(huán)境測試環(huán)境是指為了完成軟件測試工作所必需的計算機硬件、軟件、網絡設備、歷史數據的總稱。毫無疑問,穩(wěn)定和可控的測試環(huán)境,可以使測試人員花費較少的時間就完成測試用例的執(zhí)行,也無需為測試用例、測試過程的維護花費額外的時間,并且可以保證每一個被提交的缺陷都可以在任何時候被準確的重現(xiàn)。本系統(tǒng)測試的環(huán)境為蘋果計算機一臺,Mac-OS操作系統(tǒng),X-Code編程工具。5.3測試方案利用黑盒測試方法檢測應用的功能是否都能正常使用。在測試中,對應用前臺、后臺的功能模塊進行逐一測試,并記錄測試結果,分析得出結論。5.4測試結論通過對對應用前臺、后臺的功能模塊進行逐一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省威海乳山市2024-2025學年九年級上學期期末化學試題(含答案)
- 2025年消防設施操作員之消防設備基礎知識基礎試題庫和答案要點
- 景觀橋分析面試題及答案
- 2023-2024學年廣東省廣州市越秀區(qū)執(zhí)信中學七年級(下)期中數學試卷(含答案)
- 廣東省廣州市中大附中2023-2024學年八年級下學期期中物理試題(含答案)
- 采購合同范本(2篇)
- 電器知識技能培訓班課件
- 關于調整工作時間與資源配置的通知
- 租賃協(xié)議合同
- 山東省青島萊西市(五四制)2024-2025學年八年級上學期期末生物學試題(含答案)
- 《關于費爾巴哈的提綱》
- 人力資源管理參考文獻(匯總112個最新),參考文獻
- 學憲法講憲法-課件
- 基于PLC的郵件分揀機控制系統(tǒng)設計
- DB11-T 950-2022水利工程施工資料管理規(guī)程
- 購物卡購銷合同
- 變配電室巡視檢查記錄
- 現(xiàn)場談單的流程與技巧(學大教育內部培訓資料)
- 法人授權委托書
- 印萌打印平臺合作協(xié)議VIP
- 中國建設銀行信貸業(yè)務申請書
評論
0/150
提交評論