国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的視頻APP設(shè)計與實現(xiàn)

2019-08-06 04:32李秀娟王銳毛思涵張其松劉沐晨
軟件工程 2019年7期

李秀娟 王銳 毛思涵 張其松 劉沐晨

摘? 要:各種視頻軟件越來越專業(yè)化和精細化,視頻資源分散,不能滿足部分用戶需要。針對此類問題,項目運用KANO模型全面分析消費者的需求,并根據(jù)分析結(jié)果設(shè)計系統(tǒng)結(jié)構(gòu)。最后,運用Android Studio軟件和Java語言進行軟件的實際開發(fā)。目前,項目已成功開發(fā)出一款具有視頻播放與視頻搜索等功能的視頻軟件。

關(guān)鍵詞:卡諾模型;Android應(yīng)用;視頻APP

中圖分類號:TP317? ? ?文獻標(biāo)識碼:A

Abstract:Video applications are more and more specialized and refined.Scattered video resources can hardly meet the needs of some consumers.To solve such problems,the project uses KANO model to comprehensively analyze consumers requirements,and designs the system structure based on the analysis results.Android Studio software and Java language are used for actual software development.At present,the project has successfully developed a video software application with video playback and video search functions.

Keywords:KANO model;Android application;video App

1? ?引言(Introduction)

隨著Internet的普及和智能手機技術(shù)的不斷成熟,Android系統(tǒng)由于其開源性和手機應(yīng)用程序的大量開發(fā)、使用,已成為大多數(shù)人的首選[1]。在娛樂應(yīng)用領(lǐng)域,視頻播放類的APP越來越多,這些視頻應(yīng)用軟件定位越來越精準(zhǔn)和專門化,平臺資源大體相同但又各具特色,為用戶的使用帶來許多不便,并且占用手機大量存儲空間。據(jù)調(diào)查顯示,多數(shù)視頻APP滲透率在10%以下[2]。視頻資源分散,視頻獨占率普遍偏低,競爭產(chǎn)品重合度較高,且視頻APP無法搜索和觀看多平臺的視頻資源,這些是目前Android應(yīng)用市場上視頻類APP所存在的主要問題[3]。

2? ?需求分析(Requirements analysis)

針對經(jīng)常使用手機視頻APP的在校大學(xué)生群體,進行線上發(fā)放問卷。此次調(diào)研歷時一周,共收集問卷81份,其中無效問卷共7份,有效問卷74份。經(jīng)檢驗,問卷的克朗巴哈系數(shù)(Cronbach's alpha)為0.644,具備一定信度。

根據(jù)問卷統(tǒng)計數(shù)據(jù),套用KANO模型[4]能夠得出各需求項目的屬性(表1)。其中,A-魅力需求;O-期望需求;M-必備需求;R-逆向需求;I-無差異需求;Q-問題需求。

3? ?系統(tǒng)開發(fā)環(huán)境(System development environment)

3.1? ?硬件環(huán)境

Android智能手機一部;具備java和Android開發(fā)的PC機一臺。系統(tǒng)開發(fā)的硬件環(huán)境參數(shù),如表3所示。

3.2? ?軟件條件

客戶端軟件開發(fā)環(huán)境,如表4所示。

3.3? ?測試環(huán)境

軟件測試階段,采用真機測試,安裝打包好的APK文件,打開測試機器,關(guān)掉多余任務(wù)進程開展測試,對APP的流暢度、響應(yīng)時間等進行測試。

4? ?系統(tǒng)設(shè)計(System design)

4.1? ?系統(tǒng)架構(gòu)

基于Linux內(nèi)核,Android操作系統(tǒng)主要由應(yīng)用程序?qū)?、?yīng)用程序框架、各種庫和運行環(huán)境、Linux操作系統(tǒng)層,這四個層次的架構(gòu)組成[5],如圖1所示。

4.2? ?系統(tǒng)功能結(jié)構(gòu)

在需求分析階段,對APP系統(tǒng)設(shè)計有了大致的框架。系統(tǒng)主要有視頻播放、視頻搜索和我的信息三大界面和功能,如圖2所示。

視頻播放:可進行本地mp4格式的視頻播放、網(wǎng)頁視頻播放,以及跳轉(zhuǎn)到已經(jīng)安裝的視頻APP播放。

視頻搜索:搜索來自網(wǎng)絡(luò)的視頻,獲得視頻的URL地址、視頻介紹等基本信息,并能使用本播放器播放。

我的信息:記錄觀看時長和觀看記錄,查看設(shè)置并向我們發(fā)送消息[6]。

4.3? ?業(yè)務(wù)流程

設(shè)計出主要的頁面和功能,并對不同頁面和功能之間的穿梭跳轉(zhuǎn)進行邏輯設(shè)計,如圖3所示。

5? 系統(tǒng)特色與難點(System characteristics and difficulties)

5.1? ?系統(tǒng)特色

開發(fā)的視頻APP相較于其他視頻軟件具有兩大特色:一是具有搜索的性質(zhì),能夠搜索來自網(wǎng)絡(luò)的部分視頻,不局限于某一個平臺或者幾個平臺。重寫視頻播放器,將網(wǎng)頁視頻放在我們重寫的視頻播放器里播放,解決用戶需要下載多個視頻軟件的問題。二是視頻APP不進行視頻的存儲與用戶登錄等界面,軟件占據(jù)空間較小,僅作為一個播放其他平臺視頻或者本地視頻的工具。

5.2? ?系統(tǒng)難點

開發(fā)具有上述系統(tǒng)的難點主要有兩點:一是如何實現(xiàn)網(wǎng)絡(luò)視頻的搜索功能[7],在需要連接到其他視頻平臺時如何獲取授權(quán);二是如何重寫一個播放器,可以兼容多種視頻格式。

6? ?系統(tǒng)設(shè)計與實現(xiàn)(System design and implementation)

6.1? ?首頁界面

用戶進入系統(tǒng)后,可在首頁界面選擇播放網(wǎng)絡(luò)視頻、播放本地視頻等。主頁界面下有三個懸浮按鈕,用戶可以與開發(fā)者留言、視頻分享、視頻搜索等操作。視頻APP所有頁面的實現(xiàn)是建立在Activity之上的,實現(xiàn)界面如圖4(a)所示。首頁界面設(shè)計步驟:

①新建一個MainActivity,包括xml布局文件和Java代碼文件。

②使用LinearLayout嵌套RelativeLayout設(shè)計主界面。

③在布局后的界面里加入ImageButton、Button和FloatingButton。

④在Main函數(shù)里給按鍵注冊點擊事件,使用隱式Intent去啟動其他Activity。

6.2? ?視頻搜索

視頻搜索主要實現(xiàn)的是本地視頻和網(wǎng)絡(luò)視頻搜索,在搜索的同時,加上了熱門推薦功能,實現(xiàn)界面如圖4(b)所示。視頻搜索實現(xiàn)步驟:

①新建一個Activity,包括xml布局文件和Java代碼文件。

②使用LinearLayout設(shè)計主界面。

③在布局后的界面里寫入SearchView。

④編寫SearchView的操作控制代碼,并為其添加監(jiān)聽器。

⑤編寫函數(shù)獲取輸入內(nèi)容,并將輸入內(nèi)容與連接的數(shù)據(jù)庫匹配。

其中數(shù)據(jù)庫的建立與傳值步驟為:

①創(chuàng)建一個RecordSQLiteOpenHelper類繼承SQLiteOpenHelper幫助類,創(chuàng)建SQLiteDatabase的對象實現(xiàn)存放歷史紀(jì)錄,還需創(chuàng)建兩個回調(diào)接口的對象,分別是返回按鍵回調(diào)和搜索案件回調(diào)。

②利用構(gòu)造函數(shù)對搜索框進行初始化,監(jiān)聽鍵盤上的搜索按鍵的替換,利用輸入布局調(diào)用setOnKeyListener方法。主要實現(xiàn)的具體功能:a.點搜索找內(nèi)容;b.單擊搜索鍵后,確定數(shù)據(jù)庫中是否存在該搜索關(guān)鍵字詞。并且還要對該搜索框進行文本監(jiān)聽,因此還需調(diào)用addTextChangedListener方法。

③監(jiān)聽歷史紀(jì)錄列表:ListView,也就是當(dāng)用戶單擊搜索歷史里的關(guān)鍵字時,將直接搜索需要被搜索的字詞。并且還需利用創(chuàng)建Cursor類對象來實現(xiàn)模糊查詢。

④創(chuàng)建清空數(shù)據(jù)庫方法,再利用Cursor對象來實現(xiàn)這個方法getReadableDatabase().rawQuery用于檢查數(shù)據(jù)庫中是否已存在該搜索記錄。創(chuàng)建插入方法以將數(shù)據(jù)插入庫中。

6.3? ?視頻列表

視頻列表利用Fragment碎片技術(shù)、對界面模塊化管理,讓用戶在同一活動中點擊操作多個功能,如用戶在頭部菜單導(dǎo)航,任意選擇觀看“電視劇”“綜藝”“電影”三類網(wǎng)絡(luò)視頻,并在下方的滾動列表中,選擇喜歡的網(wǎng)絡(luò)視頻播放,實現(xiàn)界面如圖4(c)所示。

6.4? ?視頻播放

視頻播放主要分為本地視頻播放和網(wǎng)絡(luò)視頻播放,本地視頻播放使用安卓原生的VideoView實現(xiàn)mp4格式的視頻播放,網(wǎng)絡(luò)視頻播放則使用開源的Vitamio框架開發(fā)[8],實現(xiàn)界面如圖5所示。本地播放實現(xiàn)步驟:

①新建一個Activity,包括xml布局文件和Java代碼文件。

②使用LinearLayout設(shè)計主界面。

③在布局后的界面里寫入VideoView。

④添加訪問本地存儲的權(quán)限。

⑤使用MediaController編寫播放器上層控件。

7? ?結(jié)論(Conclusion)

本文針對傳統(tǒng)視頻類應(yīng)用軟件的弊端與問題,研究開發(fā)了一項基于Android平臺的視頻搜索系統(tǒng)。在需求分析階段,引入KANO模型,對用戶需求進行分類評估,從用戶的角度出發(fā),準(zhǔn)確把握用戶需求和痛點,從而制定出用戶體驗高的視頻搜索系統(tǒng)。要運用Android系統(tǒng)開發(fā)技術(shù)和Java語言,構(gòu)造了一個移動客戶端的視頻搜索應(yīng)用,一定程度上解決了網(wǎng)絡(luò)平臺視頻資源分散、資源重合度高、用戶需安裝多個視頻軟件的問題。

雖然基于Android平臺視頻搜索系統(tǒng)的各項功能已基本實現(xiàn),但還有不足之處需要在以后的運維中慢慢改善。主要從以下兩點對功能進行完善:(1)根據(jù)現(xiàn)有應(yīng)用市場視頻類應(yīng)用軟件的變化,進一步對系統(tǒng)現(xiàn)有功能的優(yōu)化與完善;(2)加強對數(shù)據(jù)庫技術(shù)的運用,以及對數(shù)據(jù)資源的保存和管理。

參考文獻(References)

[1] 郭霖.第一行代碼[M].北京:人民郵電出版社,2016.

[2] 電子商務(wù)研究中心.移動視頻APP行業(yè)研究報告[EB/OL].http://b2b.toocle.com/detail--6412792.html,2017-08-29

[3] 人人都是產(chǎn)品經(jīng)理.移動客戶端對比:騰訊視頻和搜狐視頻淺析[EB/OL].http://www.sohu.com/a/42099122_114819.

[4] KANO N,SERAKU N,TAKAHASHI F.Attractive quality and must-be quality[J].Journal of The Japanese Society for Quality Control,1984,14(2):39-48.

[5] 趙振中.基于Android的智慧社區(qū)客戶端軟件設(shè)計與實現(xiàn)[D].浙江工業(yè)大學(xué),2015.

[6] 李婷婷.基于Android的手機多媒體應(yīng)用軟件的設(shè)計與實現(xiàn)[D].浙江工業(yè)大學(xué),2015.

[7] 羅金生.基于Android平臺視頻聚合客戶端的設(shè)計與實現(xiàn)[D].華南理工大學(xué),2015.

[8] 程穎,姚曄,張家琿.Android多功能視頻播放器的設(shè)計與實現(xiàn)[J].信息通信,2016(06):104-105.

桐柏县| 高邮市| 瓮安县| 兰州市| 三亚市| 东宁县| 昭通市| 双峰县| 晴隆县| 河北区| 抚州市| 远安县| 双江| 富阳市| 临沭县| 龙口市| 苍山县| 玉山县| 海门市| 石嘴山市| 泊头市| 洛浦县| 西平县| 南康市| 鹿泉市| 息烽县| 菏泽市| 台北市| 寿光市| 屏东县| 洞口县| 新乐市| 淮滨县| 伊宁市| 鹤山市| 屏东市| 永春县| 海阳市| 内黄县| 三门县| 灌南县|