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