田陽光 李媛 王潔


摘 要:隨著計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)和Internet技術(shù)的發(fā)展,手機(jī)移動(dòng)應(yīng)用逐漸受到人們的關(guān)注。本文通過iPhone自主研發(fā)的開發(fā)軟件Xcode7.2,利用UIkit框架和Foundation框架設(shè)計(jì)了一種將視頻觀看和視頻評(píng)論關(guān)聯(lián)起來的手機(jī)社交軟件。
關(guān)鍵詞:移動(dòng)短視頻;軟件設(shè)計(jì);軟件開發(fā)
中圖分類號(hào):TP393.09文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1003-5168(2018)31-0017-03
Design and Development of Social Software Based on Mobile Short Video
TIAN Yangguang1 LI Yuan1 WANG Jie2
(1.Jilin Province Environmental Information Center,Changchun Jilin 130033;
2.Heilongjiang Environmental Information and Monitoring Center,Harbin Heilongjiang 150090)
Abstract: With the development of computer network communication technology and Internet technology, mobile phone mobile applications have gradually attracted people's attention. This paper used the UIkit framework and Foundation framework to develop a mobile social software that links video viewing and video commenting through the iPhone's self-developed development software Xcode7.2.
Keywords: mobile short video;software design;software development
隨著計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)和Internet技術(shù)的飛速發(fā)展,手機(jī)移動(dòng)應(yīng)用逐漸受到人們的關(guān)注,這是由于手機(jī)擁有傳統(tǒng)計(jì)算機(jī)所無法比擬的優(yōu)點(diǎn),如移動(dòng)端具有簡單性、任意性等優(yōu)點(diǎn)[1]。由此,手機(jī)移動(dòng)應(yīng)用軟件開發(fā)顯得尤為重要,本文所設(shè)計(jì)的APP將視頻觀看和視頻評(píng)論關(guān)聯(lián)起來,是一款非常實(shí)用的手機(jī)社交軟件。
1 軟件設(shè)計(jì)與模塊開發(fā)
整個(gè)手機(jī)采用模塊化開發(fā)方式,先開發(fā)各個(gè)功能模塊,最后統(tǒng)一做集成處理,應(yīng)用系統(tǒng)整體采用MVC模式設(shè)計(jì)。
1.1 登錄需求模塊
該模塊需要用戶填寫手機(jī)號(hào)和驗(yàn)證碼,為簡化注冊(cè)流程將用戶信息注冊(cè)功能集成到服務(wù)器端,用戶首次登錄即為注冊(cè)。未登錄用戶也可以進(jìn)行信息瀏覽操作,當(dāng)進(jìn)行登錄操作時(shí),自動(dòng)跳轉(zhuǎn)登錄頁面。對(duì)于已經(jīng)登錄過的用戶進(jìn)行登錄信息緩存處理,下次啟動(dòng)應(yīng)用時(shí)檢查上次登錄用戶信息,若存在則自動(dòng)登錄。
1.2 個(gè)人信息管理需求模塊
該模塊包括用戶頭像上傳、昵稱設(shè)置、性別設(shè)置、標(biāo)簽設(shè)置、年齡設(shè)置以及實(shí)名認(rèn)證等操作。用戶頭像可以從拍照和相冊(cè)兩個(gè)地方選擇,選擇圖片需進(jìn)行裁剪方能上傳,昵稱設(shè)置范圍為10個(gè)漢字長度。
1.3 視頻錄制和播放需求模塊
視頻錄制功能采用分段式拍攝,用戶可以錄制多段短視頻,最后點(diǎn)擊“完成”進(jìn)行視頻合成,合成完成后會(huì)進(jìn)入預(yù)覽界面,用播放器進(jìn)行播放。播放器功能包括顯示時(shí)長、暫停以及播放進(jìn)度條。
1.4 聊天功能模塊
聊天功能模塊包括展示信息界面,用戶可以進(jìn)行文字、聲音、圖片等相關(guān)發(fā)送操作,用戶收到新消息時(shí)會(huì)有小紅點(diǎn)提示。用戶會(huì)話列表界面有搜索欄,可以模糊搜索聯(lián)系人。
1.5 已發(fā)布信息管理模塊
該模塊主要對(duì)用戶個(gè)人已發(fā)布的信息進(jìn)行管理,包括修改信息、下架信息,下架后附近的人則不能看到。
1.6 關(guān)注和粉絲需求模塊
關(guān)注和粉絲需求模塊,每個(gè)用戶最多可以關(guān)注1 000人,粉絲不限制。從粉絲列表可以直接進(jìn)入聊天界面。
2 軟件詳細(xì)設(shè)計(jì)與開發(fā)
2.1 用戶登錄功能
用戶在登錄界面LoginVC控制器[2]中填寫自己的手機(jī)號(hào)和正確的驗(yàn)證碼,點(diǎn)擊登錄,在btnLoginClick中通過使用AFNetworking的方法將手機(jī)號(hào)和驗(yàn)證碼提交到服務(wù)器,服務(wù)器接收數(shù)據(jù)并判斷該手機(jī)號(hào)是否登錄過,若為第一次登錄則在服務(wù)器端為其注冊(cè)好用戶信息,并在處理完畢后將用戶信息通過3DES加密回傳給Client端,Client端在post請(qǐng)求的success回調(diào)方法中對(duì)回調(diào)用戶信息進(jìn)行解密操作,然后做硬盤緩存和內(nèi)存緩存,方便維護(hù)數(shù)據(jù)一致性和其他類的調(diào)用。
2.2 個(gè)人信息管理功能
個(gè)人信息功能運(yùn)行界面如圖1所示,用戶點(diǎn)擊個(gè)人信息下的Cell標(biāo)簽,控制器跳轉(zhuǎn)到標(biāo)簽選擇頁,在視圖未顯示之后的ViewDidappear方法中執(zhí)行GetTagFromNet方法,繼而從服務(wù)器中取到標(biāo)簽列表,然后展示在視圖中,用戶可以選擇標(biāo)簽,單擊選中,第二次點(diǎn)擊為取消選中,用戶最多可以選擇三個(gè)標(biāo)簽。選擇完畢后點(diǎn)擊保存按鈕,Client端提交修改過的用戶信息到服務(wù)器端,服務(wù)器端成功回調(diào)用戶緩存信息進(jìn)行更新操作,然后跳轉(zhuǎn)到個(gè)人信息頁,根據(jù)緩存的用戶信息更新個(gè)人信息頁面,修改標(biāo)簽功能完成。
2.3 視頻錄制和播放功能
用戶點(diǎn)擊首頁的錄制按鈕跳轉(zhuǎn)到錄制頁面,錄制頁面可以選擇前置攝像頭和后置攝像頭,還可以打開閃光燈。按住錄制按鈕開始錄制視頻,在錄制視頻的過程中,計(jì)時(shí)器開始計(jì)時(shí),旁邊小紅點(diǎn)開始閃爍,錄制視頻下面進(jìn)度條開始前進(jìn),錄制按鈕左邊的刪除按鈕從隱藏狀態(tài)顯示出來。當(dāng)錄制達(dá)到最短完成時(shí)長或錄制最大時(shí)長時(shí)錄制按鈕右邊的完成按鈕顯示出來,點(diǎn)擊完成就進(jìn)入預(yù)覽界面。點(diǎn)擊左上的取消按鈕會(huì)判斷當(dāng)前是否已錄制,若無錄制視頻就返回首頁,若有已錄制的視頻會(huì)提示“是否放棄當(dāng)前錄制的視頻,點(diǎn)擊確定即可刪除已錄制視頻并返回首頁,點(diǎn)擊取消則不做響應(yīng)。
用戶進(jìn)入服務(wù)詳情頁面,該頁面視頻有播放、暫停、進(jìn)度條功能。如果單擊視頻,調(diào)用header.wmPlayer pause方法,則暫停視頻播放;如果雙擊視頻,調(diào)用header.wmPlayer play方法,則播放視頻。視頻下面有進(jìn)度條,可查詢視頻當(dāng)前時(shí)間和總的播放時(shí)間,可滑動(dòng)進(jìn)度條控制視頻進(jìn)度,該應(yīng)用支持本地和網(wǎng)絡(luò)播放。
2.4 聊天功能
聊天功能是本應(yīng)用聊天交互的主要功能,為用戶之間提供了文字、語音、圖片以及位置分享等多種聊天服務(wù),是用戶之間交互的主要方式。
用戶從“我的”頁面進(jìn)入“我的消息”頁面,“我的消息”頁面導(dǎo)航欄下面是一個(gè)搜索框,能夠從聊天列表中進(jìn)行模糊搜索,搜索結(jié)果會(huì)展示在另一個(gè)TableView上,結(jié)果為符合條件的用戶列表;搜索框下面是聊天用戶列表,用戶列表放在一個(gè)TableView上,每一個(gè)用戶則是放在cell里,cell里的展示信息包括用戶頭像、用戶昵稱、上次聊天信息和上次聊天時(shí)間。右滑cell會(huì)出現(xiàn)“刪除”按鈕,點(diǎn)擊“刪除”按鈕,會(huì)將該用戶移除聊天列表,后通過TableView的reloadData方法重新加載列表數(shù)據(jù)。
用戶點(diǎn)擊聊天列表的某個(gè)用戶或者從信息詳情頁和他人主頁的“聯(lián)系Ta”按鈕都可以進(jìn)入聊天頁面,聊天頁面可以發(fā)送文字、圖片、語音和位置信息,聊天功能基于XMPP即時(shí)通信,實(shí)現(xiàn)了用戶與用戶之間的零距離交流。語音錄制功能為聊天頁麥克風(fēng)小圖標(biāo)按鈕,點(diǎn)擊按鈕會(huì)出現(xiàn)“按住開始錄音”按鈕,按住按鈕開始錄制,錄制時(shí)間過短會(huì)提示,錄制成功則自動(dòng)發(fā)送消息。圖片功能作為文件上傳處理,表情功能為特殊文字解析處理。
2.5 已發(fā)布信息管理功能
用戶進(jìn)入“我的主頁”頁面,點(diǎn)擊視頻右上角的向下箭頭,頁面調(diào)用[self moreEdit:serviceId]方法,該方法會(huì)跳出對(duì)話框,對(duì)話框中有刪除信息、修改信息和取消。如果點(diǎn)擊“刪除信息”,則刪除當(dāng)前選中的信息;如果點(diǎn)擊“下架信息”,則下架當(dāng)前選中信息;如果點(diǎn)擊“修改信息”,則跳轉(zhuǎn)到修改信息頁面;如果點(diǎn)擊“取消”,則取消該次操作;若點(diǎn)擊鉛筆圖標(biāo),則跳轉(zhuǎn)到個(gè)人信息頁面。
2.6 關(guān)注和粉絲功能
關(guān)注和粉絲功能組成了本應(yīng)用的好友系統(tǒng),用戶可以關(guān)注他人,被關(guān)注的人就自動(dòng)進(jìn)入自己的關(guān)注列表,用戶也可以被關(guān)注,關(guān)注自己的人就會(huì)被寫入粉絲列表,便于查找自己感興趣的人。
查看關(guān)注列表的入口是個(gè)人主頁的頭像下面的“關(guān)注”按鈕,點(diǎn)擊“關(guān)注”按鈕執(zhí)行followList.userId=self.userIdUserId傳遞到關(guān)注列表頁面,后跳轉(zhuǎn)頁面,關(guān)注列表頁面從網(wǎng)絡(luò)獲取該用戶關(guān)注列表,網(wǎng)絡(luò)獲取到關(guān)注列表展示在UITableView中,cell中展示內(nèi)容為關(guān)注人頭像、昵稱、標(biāo)簽以及關(guān)注或取消按鈕,單擊cell執(zhí)行TableView的didselectRowAtindexpath代理方法,跳轉(zhuǎn)到該用戶的個(gè)人主頁查看其相關(guān)信息。
粉絲功能運(yùn)行界面如圖2所示,粉絲列表的入口是個(gè)人主頁的頭像下面的“粉絲”按鈕,點(diǎn)擊“粉絲”按鈕跳轉(zhuǎn)頁面,并將UserId傳遞到粉絲列表,網(wǎng)絡(luò)獲取到的粉絲列表展示在一個(gè)UITableView中,cell中展示的內(nèi)容為粉絲頭像、昵稱和標(biāo)簽,單擊cell跳轉(zhuǎn)到該粉絲的個(gè)人主頁,查看其相關(guān)信息。
3 結(jié)論
本文所設(shè)計(jì)的系統(tǒng),主要基于iPhone自主研發(fā)的開發(fā)軟件Xcode7.2,由UIkit框架和Foundation框架組成[3]。數(shù)據(jù)進(jìn)行展示部分主要應(yīng)用列表控制器UITableView,數(shù)據(jù)獲取部分主要應(yīng)用AFHttpNetWork第三方庫,而數(shù)據(jù)保存用到SQLite數(shù)據(jù)庫。
參考文獻(xiàn):
[1]王婧琦.移動(dòng)短視頻社交網(wǎng)絡(luò)服務(wù)的技術(shù)、應(yīng)用與發(fā)展[J].藝海,2014(7):112-114.
[2]關(guān)東升.iOS開發(fā)指南[M].北京:人民郵電出版社,2014.
[3]Suzanne Ginsburg.iPhone應(yīng)用用戶體驗(yàn)設(shè)計(jì)實(shí)戰(zhàn)與案例[M].北京:機(jī)械工業(yè)出版社,2011.