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

正文內(nèi)容

基于mtime的iphone影評客戶端模塊的設(shè)計與實現(xiàn)畢業(yè)設(shè)計-資料下載頁

2025-06-22 21:39本頁面
  

【正文】 單條影評的展示方式:頭像+用戶名+評分影片+評分分值+標(biāo)題+摘要+影片海報。圖文列表排序規(guī)則:同Web端。先首頁影評,再新片熱評列表。圖文列表處:用戶初次進(jìn)入,默認(rèn)顯示20條,在頂部的時候向下拖動,刷新當(dāng)前頁面,在頁面底部向上拖動展開顯示更多20條。 手指在屏幕上下滑動,可以查看影評頻道的所有內(nèi)容。點(diǎn)擊頭圖,進(jìn)入頭圖影評內(nèi)容頁。頁面自右向左顯示。點(diǎn)擊單條圖文列表影評,該條處于選中的狀態(tài),進(jìn)入影評內(nèi)容頁。頁面自右向左顯示。頂部導(dǎo)航處:中間顯示頻道名稱:時光網(wǎng)影評。底部導(dǎo)航處:依次顯示:首頁、新聞、影評、電影院、更多。選中效果在“影評”。(2)影評內(nèi)容頁頁面主體內(nèi)容構(gòu)成:頭像、影評標(biāo)題、用戶名、評分電影、評分分值、發(fā)表時間、海報、影評正文。頂部導(dǎo)航處:中間顯示頻道名稱:時光網(wǎng)影評。左側(cè)顯示返回按鈕。底部操作區(qū)處:依次顯示:評論Icon(有評論的Icon右下角顯示評論數(shù)量)、收藏、分享。其中,收藏和分享,未登錄用戶點(diǎn)擊進(jìn)入登錄頁。頁面自下向上移入。點(diǎn)擊縮略圖,浮層顯示大圖。頁面可隨手指上下滑動。手指點(diǎn)擊屏幕的非縮略圖區(qū)域,全屏顯示頁面主體內(nèi)容,再點(diǎn)擊,回到正常顯示。支持多點(diǎn)觸摸,字體變大變小,縮略圖大小不變。用戶左右滑動可切換上一篇/下一篇影評,按照列表內(nèi)影評的順序,依次顯示對應(yīng)影評內(nèi)容。點(diǎn)擊評論icon進(jìn)入查看評論頁,頁面自右向左顯示。(3)查看評論頁頁面主體內(nèi)容構(gòu)成:圖文列表。圖文列表中,單條影評的展示方式:頭像+用戶名+微影評。圖文列表處:用戶初次進(jìn)入,默認(rèn)顯示20條,在頂部的時候向下拖動,刷新當(dāng)前頁面,在頁面底部向上拖動展開顯示更多20條。 手指在屏幕上下滑動,可以查看影評頻道的所有內(nèi)容。點(diǎn)擊表格,彈出回復(fù)按鈕、進(jìn)入發(fā)表評論頁面,頁面自右向左顯示。完成時將以另外一種形式顯示于回復(fù)當(dāng)前人表格下,頁面自右向左顯示。頂部導(dǎo)航處:中間顯示頻道名稱:查看評論。左邊顯示返回按鈕,點(diǎn)擊返回按鈕返回評論頁內(nèi)容,頁面自右向左顯示。底部導(dǎo)航處:顯示寫評論導(dǎo)航條編輯區(qū),點(diǎn)擊編輯區(qū)同樣進(jìn)入發(fā)表評論頁面,頁面自右向左顯示完成時將以同種形式顯示于表格最下方,頁面自右向左顯示。(4)發(fā)表評論頁頁面主體內(nèi)容構(gòu)成:編輯區(qū)。圖文列表處:用戶初次進(jìn)入,編輯區(qū)顯示默認(rèn)文字,且關(guān)聯(lián)鍵盤顯示。點(diǎn)擊編輯區(qū),默認(rèn)文字消失,進(jìn)入編輯狀態(tài)。頂部導(dǎo)航處:中間顯示頻道名稱:發(fā)表評論。左邊顯示取消按鈕,點(diǎn)擊取消按鈕不保存評論內(nèi)容回查看評論頁,頁面自右向左顯示。左邊顯示提交按鈕,點(diǎn)擊提交按鈕保存評論內(nèi)容回查看評論頁,頁面自右向左顯示。影評首頁影評詳情頁轉(zhuǎn)發(fā)評論收藏全屏保存圖片寫評論回復(fù)程序的整體功能模塊,里面包含數(shù)據(jù)判斷、功能選擇、輸出模塊等。數(shù)據(jù)判斷是從cookie中取值。具體的模塊設(shè)計如圖31所示。圖 31 影評模塊結(jié)構(gòu)圖 登錄模塊和手勢交互模塊流程圖設(shè)計 用戶登錄模塊設(shè)計影評詳情頁中,需要判斷是否用戶已經(jīng)登錄,如果登錄則可以則從cookie中取得用戶信息,將評論內(nèi)容直接以用戶名發(fā)送出去,而未登錄時只能匿名發(fā)表,而回復(fù)別人的評論則必須登錄,流程圖如圖32所示。用戶登錄cookie中是否有值登錄成功進(jìn)行用戶評論和回復(fù)NY圖32 登錄判斷流程圖 手勢交互設(shè)計手勢[9](Gesture)是指從用一個或多個手指接觸屏幕開始,直到手指離開屏幕為止所發(fā)生的所有事件。由于手勢是在事件之內(nèi)傳遞到系統(tǒng)的,然后事件會傳遞到響應(yīng)者鏈(Responder Chain)。如果第一個響應(yīng)者不處理某個特殊事件(如某個手勢),則它會將該事件傳遞到響應(yīng)者鏈的下一級。如果該鏈中的下一個對象響應(yīng)此特殊事件,則它通常會處理該事件,這將停止該事件沿著響應(yīng)者鏈向前傳遞。如圖33所示。 多點(diǎn)觸摸交互設(shè)計很明顯,觸摸(Touch)是指手指放到iPhone屏幕上,手勢中涉及的觸摸數(shù)量等于同時位于屏幕上的手指數(shù)量,當(dāng)觸目數(shù)量為1在進(jìn)行移動時,或觸目數(shù)量大于1時形成多點(diǎn)觸目,如圖34所示。 詳細(xì)設(shè)計詳細(xì)設(shè)計是對整個程序的整體設(shè)計,它包含界面的設(shè)計、數(shù)據(jù)結(jié)構(gòu)的設(shè)計、功能過程的顯示等。開始第一響應(yīng)者是否響應(yīng)第N響應(yīng)者是結(jié)束 否是 否是否響應(yīng) 否圖33 手勢響應(yīng)鏈流程圖觸摸開始單 擊移 動捏合或移動形成多點(diǎn)觸摸單指多指 圖34 多點(diǎn)觸摸結(jié)構(gòu)圖 選擇的控件l UILabel顯示文字的控件,它能設(shè)置要顯示的文字的顏色,大小,格式等相關(guān)屬性。l UIImageView顯示圖片的控件,根據(jù)回來的圖片地址,能從緩沖里或者沙盒中選取要顯示的圖片,它能設(shè)置要顯示的圖片的顏色,大小,格式等相關(guān)屬性。l UITextView主要用來對文字的輸入,當(dāng)響應(yīng)它時自動彈出鍵盤,一行輸入滿時可以自動換行。l UIButton在iphone上主要是一個按鈕,該按鈕能響應(yīng)用戶一切對其操作的單擊、雙擊、長按事件,可以對其設(shè)置響應(yīng)函數(shù)。l UITableView在iPhone上一個表格視圖是一維的,自頂向下的條目清單,可選的分為多個區(qū)域,區(qū)域?qū)嶋H上把清單變?yōu)槎S數(shù)據(jù)結(jié)構(gòu),每個區(qū)域有可變數(shù)目的條目,因此表格里某個指定的條目由它所在區(qū)域和所在區(qū)域的行(row)來決定。l UIWebView在iPhone上用來顯示網(wǎng)站要顯示的信息,開發(fā)者可以重寫網(wǎng)頁數(shù)據(jù)的格式,也可以用js返回所要用到的數(shù)據(jù)。 界面的繪制界面區(qū)域的視圖繪制較為簡單。只需要根據(jù)當(dāng)前需求分析,來對每一個也頁面進(jìn)行繪制。先生成一個控制器(UIViewController),形成插座控件,待請求完成時加載數(shù)據(jù)。如果沒有生成nib文件,再從源視圖像位圖中選擇適當(dāng)?shù)膮^(qū)域?qū)⑵涮砑拥絻?nèi)存位圖中,當(dāng)所有這些圖像方塊都繪制到內(nèi)存位圖后,再一次性地將整體圖像從內(nèi)存位圖拷貝到屏幕去。繪制流程如圖35所示。 數(shù)據(jù)輸入與傳遞該軟件通過用戶對界面的操作,實現(xiàn)數(shù)據(jù)的傳遞,而在此項目中當(dāng)點(diǎn)擊影評頁首頁頭圖和列表時,保存一個當(dāng)前點(diǎn)擊影評的ID將及傳至影評詳情頁。而詳情頁則根據(jù)此ID進(jìn)行數(shù)據(jù)請求,將解析后的數(shù)據(jù)顯示到當(dāng)前頁面,而在詳情頁中,點(diǎn)擊圖片用JS導(dǎo)出圖片鏈接,將此鏈接對應(yīng)的圖片從緩存中取出,對其進(jìn)行操作,而點(diǎn)擊詳情頁下部導(dǎo)航條時則從cookie中取取用戶數(shù)據(jù),看是否登錄,然后根據(jù)登錄狀態(tài),進(jìn)行邏輯分析和判斷。是否生成nib文件將控件加入xib中完 成YN在控制器中加入控件開始生成控制器圖35 界面繪制流程圖 數(shù)據(jù)的保存和顯示前面實現(xiàn)的眾多功能都是圍繞著位置這一關(guān)鍵來運(yùn)作的,數(shù)據(jù)的保存分為兩種,一種是臨時緩存,臨時緩存很簡單,SDK封裝好的模塊我們可以直接拿來用,在數(shù)據(jù)請求完成時可以直接保存到緩存區(qū)。另一種則是保存到沙盒路徑既永久保存,此時根據(jù)用戶名在沙盒中創(chuàng)建一個文件,用單利模式創(chuàng)建一個用戶數(shù)據(jù)模型,每次要用時從數(shù)據(jù)模型中讀取數(shù)據(jù),當(dāng)修改用戶信息時則對其進(jìn)行保存。而數(shù)據(jù)的顯示我們只需將從文件中讀到的數(shù)據(jù),或者是從緩存中取到的數(shù)據(jù)加到相應(yīng)的控件數(shù)據(jù)上,控件將顯示出我們所設(shè)計的效果。 自動登錄自動登錄是由軟件自動完成的。用戶在上次登錄程序中登錄了賬戶而沒有對其進(jìn)行注銷而直接退出程序,這時程序會自動將未退出的賬號記錄下來保存在本地,而當(dāng)下次啟動此應(yīng)用時,先從文件中去讀數(shù)據(jù),看上次用戶退出時是否處在登錄狀態(tài),若是將用戶名和密碼取出,自動請求登錄接口,完成自動登錄。 本章小結(jié)本章主要是對各功能模塊的需求做了詳細(xì)的分析。接著劃分系統(tǒng)的模塊,對用戶登錄做了詳細(xì)的分析,設(shè)計智能手機(jī)的多點(diǎn)觸摸,對系統(tǒng)的各個功能頁面進(jìn)行詳細(xì)構(gòu)造,完成UI圖的繪制及數(shù)據(jù)的顯示及保存設(shè)置,完成自動登錄的邏輯設(shè)計。4 功能模塊的具體實現(xiàn) 數(shù)據(jù)請求 ASIHTTPReques是一款極其強(qiáng)勁的HTTP訪問開源項目。而數(shù)據(jù)的請求可以分為同步和異步請求,同步意為著線程阻塞,在主線程中使用此方法會使應(yīng)用停住而不響應(yīng)任何用戶事件[10]。所以,在應(yīng)用程序設(shè)計時,大多被用在專門的子線程增加用戶體驗,或用異步請求代替。異步請求更加精準(zhǔn)豐富的控制。異步請求的好處是不阻塞當(dāng)前線程,但相對于同步請求略為復(fù)雜,至少要添加兩個回調(diào)方法來獲取異步事件不過可以設(shè)置在隊列中,同步請求的連接數(shù)。往隊列里添加的請求實例數(shù)大于maxConcurrentOperationCount時,請求實例將被置為等待,直到前面至少有一個請求完成并出列才被放到隊列里執(zhí)行。 (IBAction)grabURLInTheBackground:(id)sender {if(![selfqueue]){[selfsetQueue:[[[NSOperationQueuealloc]init]autorelease]]。}NSURL*url=[NSURLURLWithString:@]。ASIHTTPRequest*request=[ASIHTTPRequestrequestWithURL:url]。[requestsetDelegate:self]。[request setDidFinishSelector:@selector(requestDone:)]。[requestsetDidFailSelector:@selector(requestWentWrong:)]。[[selfqueue]addOperation:request]。} 網(wǎng)絡(luò)判斷網(wǎng)絡(luò)判斷是指用戶能否連接到網(wǎng)絡(luò)進(jìn)行請求數(shù)據(jù),為了保證數(shù)據(jù)的可靠性,需要對用戶進(jìn)行網(wǎng)絡(luò)連接失敗和超時進(jìn)行判斷,當(dāng)進(jìn)行數(shù)據(jù)請求時,如果請求失敗,服務(wù)器會返回一個錯誤信息Error,而IOSSDK對請求這一塊進(jìn)行了很好的封裝,返回一個結(jié)構(gòu)體,而其中的1則代表網(wǎng)絡(luò)連接失敗,2則是連接30秒超時,代碼如下:define NET_ERROR_CONNET_FAILURE @網(wǎng)絡(luò)連接失敗,請檢查網(wǎng)絡(luò)define NET_ERROR_TIME_OUT @網(wǎng)絡(luò)連接超時 (void)reque requestWentWrong:(ASIHTTPRequest *)request{ NSError* error = 。 [self notifyDelegateWith:nil andError:error]。 NSInteger code = 。 switch (code) { case ASIConnectionFailureErrorType: //1 [CommUtils showMessageWithStr:NET_ERROR_CONNET_FAILURE]。break。 case ASIRequestTimedOutErrorType: //2[CommUtils showMessageWithStr: NET_ERROR_TIME_OUT]。 break。 default: break。 }} 數(shù)據(jù)的解析用戶請求回來的數(shù)據(jù)都是JSON字符串,JSON可以表示數(shù)組和復(fù)雜的對象,而不僅僅是鍵和值的簡單列表。JSON 可以將 JavaScript 對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個字符串,或者在異步應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序,用戶只有經(jīng)過解析后才能使用,關(guān)鍵代碼如下:define RELEASE_SAFELY(__POINTER){if(__POINTER){[__POINTER release]。__POINTER = nil。}} //安全釋放數(shù)據(jù)模型解析; (void) requestDone :(ASIHTTPRequest *)request{ NSError* error = nil。 NSData* data = 。 //請求回來數(shù)據(jù) CJSONDeserializer* jsonParser = [CJSONDeserializer deserializer]。 NSArray* reviewJsonArray = [jsonParser deserializeAsArray:data error:amp。error]。 if (error) {return。} NSMutableArray* resp = [[NSMutableArray alloc] init]。 for(NSDictionary* reviewDict in reviewJsonArray) { TReview* review = [[TReview alloc] init]。 = [[reviewDict objectForKey:@rating] doubleValue]。 = [[reviewDict objectForKey:KJson_id] integerValue]。 = [reviewDict objectForKey:KJson_image]。 = [reviewDict objectForKey:KJson_nickname]。 = [reviewDict objectForKey:KJson_userImage]。 = [reviewDict objectForKey:KJson_title]。 = [reviewDict objectForKey:KJson_summary]。 RELEASE_SAFELY(r
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1