最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Android音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)

2022-12-11 01:21 作者:考研保研直通車  | 我要投稿

課程設(shè)計(jì)報(bào)告

實(shí)習(xí)名稱?課程設(shè)計(jì)2

設(shè)計(jì)題目?Android音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)

目錄

摘要11

1 引言22

2 可行性分析22

2.1 技術(shù)可行性22

2.2 經(jīng)濟(jì)可行性33

2.3 管理可行性33

2.4 可行性分析結(jié)論33

3 系統(tǒng)需求分析44

3.1 功能分析44

3.2 數(shù)據(jù)流程分析44

4 系統(tǒng)功能設(shè)計(jì)66

4.1 播放器功能結(jié)構(gòu)66

4.1.1 播放器主界面功能模塊66

4.1.2 播放器菜單功能模塊77

4.2 播放器功能流程77

5 系統(tǒng)實(shí)現(xiàn)88

5.1 播放器主界面功能列表88

5.2 播放器基本功能的實(shí)現(xiàn)1111

5.3 播放列表的實(shí)現(xiàn)1212

6 軟件測(cè)試與驗(yàn)證1313

6.1 軟件測(cè)試的目的1313

6.2 軟件測(cè)試的方法1313

6.3 軟件測(cè)試環(huán)境1414

6.3.1 android模擬器1414

6.3.2 真機(jī)測(cè)試1414

6.4 軟件測(cè)試流程與結(jié)果評(píng)估1414

6.4.1 測(cè)試流程1414

6.4.2 結(jié)果評(píng)估1515

6.5 本章小結(jié)1616

7 總結(jié)1616

參考文獻(xiàn)1818

Android音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)

(德州學(xué)院 信息管理學(xué)院,山東德州 253023)

摘要:本文主要介紹了一個(gè)基于Andriod的音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)。主要包括可行性分析,需求分析,App功能設(shè)計(jì)及實(shí)現(xiàn)。本次課程設(shè)計(jì)選擇了開(kāi)發(fā)Android音樂(lè)播放器(以下簡(jiǎn)稱播放器),主要是因?yàn)橐魳?lè)播放器涉及的Android基礎(chǔ)知識(shí)比較廣,本次的開(kāi)發(fā)過(guò)程中主要設(shè)計(jì)到Service、網(wǎng)絡(luò)數(shù)據(jù)傳輸、Handle消息機(jī)制、多線程、Sqllite數(shù)據(jù)存儲(chǔ)。在本次音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)中,我們小組進(jìn)行了明確的分工,在代碼的編寫過(guò)程中,我們使用了SVN工具,大大節(jié)省了在代碼整合上花費(fèi)的時(shí)間。

關(guān)鍵字:Andriod;智能手機(jī);音樂(lè)播放器;SVN

1 引言

在軟件設(shè)計(jì)之前,首先對(duì) android 底層架構(gòu)方面的資料進(jìn)行了大量研究,并對(duì)目前市場(chǎng)上的各類音樂(lè)軟件進(jìn)行了分析,以此為基礎(chǔ)對(duì)用戶的需求進(jìn)行了詳細(xì)分析,然后根據(jù)分析結(jié)果對(duì)整個(gè)軟件的架構(gòu)及功能模塊進(jìn)行了設(shè)計(jì),在UI方面做了個(gè)性化的設(shè)計(jì),提高用戶和播放器的互動(dòng)性,另外軟件的功能中還加入了較多的人性化功能,比如來(lái)去電自動(dòng)暫停功能、利用進(jìn)度條自由控制音樂(lè)播放進(jìn)度等。本軟件基于 Android 架構(gòu)進(jìn)行實(shí)現(xiàn),主要實(shí)現(xiàn)了個(gè)性化設(shè)置、播放控制等多個(gè)功能模塊。軟件實(shí)現(xiàn)過(guò)程中,筆者首先利用 Eclipse 軟件構(gòu)建了Android開(kāi)發(fā)環(huán)境,采用Java語(yǔ)言進(jìn)行編寫,在代碼編寫完成后,對(duì)軟件的功能性及性能進(jìn)行了模塊測(cè)試,并對(duì)測(cè)試過(guò)程中發(fā)現(xiàn)的 BUG 進(jìn)行了修正和優(yōu)化調(diào)整。最終通過(guò)實(shí)機(jī)測(cè)試,確定該軟件具有體積小、可移植性強(qiáng)、可擴(kuò)展性強(qiáng)、對(duì)終端設(shè)備配置要求低等優(yōu)點(diǎn),適用于大范圍的高中低檔Android手機(jī)用戶,而且能夠保持長(zhǎng)時(shí)間的穩(wěn)定運(yùn)行狀態(tài)。

據(jù)國(guó)外媒體報(bào)道, IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)周二發(fā)布了2014年智能手機(jī)出貨量數(shù)據(jù),采用Android和iOS操作系統(tǒng)的智能手機(jī)出貨量占全部智能機(jī)出貨量的96.3%。其中Android出貨量為10.59億部,同比增長(zhǎng)32%;市場(chǎng)份額為81.5%,去年同期為78.7%。iPhone出貨量為1.927億部,同比去年增長(zhǎng)25.6%;市場(chǎng)份額為14.8%, 去年同期為15.1%。這表明谷歌的Android操作系統(tǒng)2014年仍明顯領(lǐng)先于其他的手機(jī)操作系統(tǒng)。

2 可行性分析

2.1 技術(shù)可行性

  1. 先進(jìn)性
    本次APP的開(kāi)發(fā)使用了模塊化開(kāi)發(fā)的方式,這種開(kāi)發(fā)方式解決軟件的復(fù)雜性問(wèn)題,或說(shuō)降低軟件的復(fù)雜性。不至于隨著項(xiàng)目變大而不可控而失敗,使其可控,可維護(hù),可擴(kuò)展。

  2. 可靠性

本APP的功能比較的單一,但是仍然不能忽略可靠性問(wèn)題,不會(huì)有用戶會(huì)喜歡一個(gè)經(jīng)常崩潰的應(yīng)用程序。在本APP的設(shè)計(jì)中,我們盡量降低代碼的冗余度,盡量對(duì)代碼進(jìn)行抽象,封裝和捕捉異常。

2.2 經(jīng)濟(jì)可行性

  1. 可維護(hù)性
    系統(tǒng)設(shè)計(jì)應(yīng)標(biāo)準(zhǔn)化、規(guī)范化,按照分層設(shè)計(jì),軟件構(gòu)件化實(shí)現(xiàn)。按照類型進(jìn)行組織代碼,對(duì)代碼進(jìn)行分層,主要體現(xiàn)在對(duì)代碼的包結(jié)構(gòu)進(jìn)行設(shè)計(jì),相同功能的類放在同一包中。

  2. 可拓展性

想要拓展APP的功能,就要做好核心控制組件的設(shè)計(jì)。本APP以Service為核心開(kāi)發(fā)的,可以通過(guò)調(diào)用Service中的方法進(jìn)行功能的調(diào)用,Service中應(yīng)設(shè)計(jì)出接口,方便以后功能的擴(kuò)展。

2.3 管理可行性

  1. 實(shí)用性
    考慮到要盡量滿足業(yè)務(wù)功能需求的前提下,又要適應(yīng)各業(yè)務(wù)角色的工作特點(diǎn),該系統(tǒng)做到簡(jiǎn)單、實(shí)用、人性化,實(shí)現(xiàn)了驗(yàn)證身份和資源管理、分級(jí)內(nèi)容管理和內(nèi)容定制。

  2. 開(kāi)放性

在系統(tǒng)構(gòu)架、采用技術(shù)、選用平臺(tái)方面都有較好的開(kāi)放性。特別是在選擇產(chǎn)品上,我們采用符合開(kāi)放性要求,遵循國(guó)際標(biāo)準(zhǔn)化組織的技術(shù)標(biāo)準(zhǔn),我們的產(chǎn)品既有自己的獨(dú)特優(yōu)勢(shì),又能與其他多家優(yōu)秀的產(chǎn)品進(jìn)行組合,共同構(gòu)成一個(gè)開(kāi)放的、易擴(kuò)充的、穩(wěn)定的、統(tǒng)一軟件的系統(tǒng)。

2.4 可行性分析結(jié)論

應(yīng)用系統(tǒng)從技術(shù)層面具有先進(jìn)性和可靠性,經(jīng)濟(jì)方面具有可維護(hù)性、可伸縮性和可移植性,管理層面具有實(shí)用性和開(kāi)放性,體現(xiàn)了該系統(tǒng)的可行性,似的用戶在使用系統(tǒng)時(shí)更方便快捷,可靠穩(wěn)定。

3 系統(tǒng)需求分析

3.1 功能分析

根據(jù)用戶的普遍需求,本APP主要實(shí)現(xiàn)的功能有:本地文件的搜索、播放列表的生成、音頻的基本播放控制、播放器個(gè)性化定制圖片切換、音頻處理設(shè)置的實(shí)現(xiàn)、開(kāi)始界面的動(dòng)畫效果、電話異常的處理。

3.2 數(shù)據(jù)流程分析

根據(jù)該項(xiàng)目的設(shè)計(jì)目標(biāo),對(duì)產(chǎn)品進(jìn)行場(chǎng)景化推導(dǎo)出項(xiàng)目系統(tǒng)的基本需求,從不同角度來(lái)描述系統(tǒng)的需求,同時(shí)使用用例圖來(lái)描述軟件的功能需求。本小節(jié)從本地文件的搜索,播放列表的生成,音頻的基本播放控制需求,播放器個(gè)性化定制圖片切換,音頻處理設(shè)置的實(shí)現(xiàn),開(kāi)始界面的動(dòng)畫效果,電話異常的處理等八個(gè)部分來(lái)概括。在該部分的分析描述中,結(jié)合UML統(tǒng)一建模語(yǔ)言進(jìn)行必要的圖形化分析。

圖 數(shù)據(jù)流圖

(1)本地文件搜索

音頻文件通常存儲(chǔ)于移動(dòng)設(shè)備的本地SD卡中,音樂(lè)播放器需要實(shí)現(xiàn)查詢SD卡中音頻文件的隨心播放,這也是音樂(lè)播放器的設(shè)計(jì)初衷。播放本地音樂(lè)可以不受網(wǎng)路條件的限制,同時(shí)還能夠有效節(jié)約網(wǎng)絡(luò)流量的消耗。

(2)音頻的基本控制需求

音頻的基本播放控制是整個(gè)音樂(lè)播放器的核心功能,因此,其設(shè)計(jì)至關(guān)重要。在打開(kāi)音樂(lè)播放器之后,首先就使用戶能夠明顯地看到屏幕的播放按鈕,方便進(jìn)行音樂(lè)播放。同時(shí)播放按鈕能夠在播放與暫停兩個(gè)功能之間進(jìn)行切換,這樣既能保證為用戶提供豐富的功能,又能保證界面的簡(jiǎn)潔。另外根據(jù)用戶需要可以隨時(shí)點(diǎn)擊任意曲目進(jìn)行播放,如果用戶不做選擇將自動(dòng)播放下一曲目。當(dāng)前音樂(lè)的播放進(jìn)度條是可以任意拖放的,也就是可以選擇任意位置開(kāi)始播放音樂(lè),使用戶能夠通過(guò)觸摸滑動(dòng)及點(diǎn)擊的錯(cuò)做方式對(duì)播放進(jìn)度條進(jìn)行自由控制。

(3)播放列表的生成

播放列表的功能在于為用戶對(duì)本地音樂(lè)文件的管理提供方便。當(dāng)用戶第一次啟動(dòng)播放器時(shí),軟件自動(dòng)查找音樂(lè)素材,形成播放列表排列于界面中,下一次播放音樂(lè)時(shí)就無(wú)須重新查找,可以直接調(diào)用當(dāng)前的播放列表進(jìn)行播放。

(4)播放器個(gè)性化定制圖片切換

播放視覺(jué)模式的切換并非播放器的必要功能,但為了給用戶帶來(lái)更高的視覺(jué)體驗(yàn),播放器視覺(jué)效果的切換功能必不可少。 用戶通過(guò)點(diǎn)擊菜單按鈕進(jìn)入菜單選項(xiàng),然后點(diǎn)擊設(shè)置界面可以獲得用戶 SD 卡中原有圖片或照片,用戶可以選擇設(shè)置為當(dāng)前界面,更換自己喜歡的圖片。

(5)音頻處理設(shè)置的實(shí)現(xiàn)

音量設(shè)置是通過(guò)設(shè)置界面進(jìn)行的,可以設(shè)定當(dāng)前播放音樂(lè)的音量高低。

(6)開(kāi)始界面的動(dòng)畫效果

采用淡出方式消隱開(kāi)始畫面,出現(xiàn)播放界面,給人清新舒適的感覺(jué)。 應(yīng)用程序窗口小部件AppWidgets,是微小的應(yīng)用程序視圖。它可以被嵌入到其他程序中并接收周期性的更新。

4 系統(tǒng)功能設(shè)計(jì)

4.1 播放器功能結(jié)構(gòu)

4.1.1 播放器主界面功能模塊

播放器的主界面主要是指用戶在進(jìn)入播放器之后最先出現(xiàn)在用戶眼中的界面,該界面上通常需要具備一些簡(jiǎn)單的操作按鈕。

1)歌曲切換

通過(guò)該功能,用戶能夠?qū)崿F(xiàn)對(duì)歌曲的切換操作,切換到當(dāng)前歌曲的上一首或下一首進(jìn)行播放,如果只有一首歌曲時(shí),該功能鍵將失去作用。

2)本地音樂(lè)自動(dòng)搜索

用戶通過(guò)該功能能夠快速搜索移動(dòng)設(shè)備本地存儲(chǔ)中的音頻文件。通過(guò)歌曲名或者相關(guān)信息的關(guān)鍵字對(duì)本地音頻文件進(jìn)行搜索。在查找到歌曲后可以直接對(duì)該歌曲進(jìn)行播放、管理以及添加到列表等操作。該功能的設(shè)計(jì)目的是為了方便用戶對(duì)本地音頻文件進(jìn)行快速搜索定位。

3)播放進(jìn)度條的顯示與控制

通過(guò)播放進(jìn)度條能夠較為直觀的將當(dāng)前曲目的播放進(jìn)度信息展示給用戶。利用播放進(jìn)度條顯示當(dāng)前歌曲的播放狀態(tài),從而也使播放器的 UI 設(shè)計(jì)更加簡(jiǎn)潔。同時(shí),還能對(duì)該播放進(jìn)度條進(jìn)行觸摸控制,大大提高了用戶的操作效率。

4)音樂(lè)播放的控制

通過(guò)音樂(lè)播放控制按鈕能夠?qū)崿F(xiàn)對(duì)當(dāng)前播放曲目的控制,主要包括播放、暫停、停止等操作。這些按鈕的加入,也保持了播放器UI設(shè)計(jì)的簡(jiǎn)約風(fēng)格。

4.1.2 播放器菜單功能模塊

菜單功能按鈕是指用戶在進(jìn)入播放器主界面后,點(diǎn)擊手機(jī)菜單按鈕時(shí)彈出來(lái)的功能列表,功能列表中目前只設(shè)定簡(jiǎn)單的功能選擇項(xiàng),但是已經(jīng)提供了增加選項(xiàng)的接口,可以為用戶提供更多的功能定制。

設(shè)置選項(xiàng)將轉(zhuǎn)到設(shè)置界面,提供用戶搖一搖換歌和更新的設(shè)置。

4.2 播放器功能流程

在完成對(duì)播放器的主界面功能模塊以及菜單功能模塊的設(shè)計(jì)之后,需要對(duì)播放器的功能進(jìn)行設(shè)計(jì),它決定了用戶操作流程的體驗(yàn)度。優(yōu)秀的音樂(lè)播放器并不是依靠單純的功能疊加而成的,而是需要通過(guò)對(duì)用戶的需求就行研究,實(shí)現(xiàn)用戶滿意的功能流程,讓用戶獲得更高的操作體驗(yàn)。具體流程如下:

(1)啟動(dòng)播放器;

(2)進(jìn)入播放器后,播放器自動(dòng)加載本地音頻文件;

(3)若播放列表中存在文件信息,且文件源文件存在則進(jìn)行歌曲播放;

(4)若播放列表為空,則可以利用功能菜單進(jìn)行本地歌曲添加,然后返回播放界面進(jìn)行歌曲播放;

(5)在播放音樂(lè)的過(guò)程中,可以對(duì)播放歌曲的相關(guān)信息進(jìn)行查看并進(jìn)行播放控制的操作;

(6)用戶可以利用歌曲的關(guān)鍵信息結(jié)合軟件提供的搜索功能對(duì)本地存儲(chǔ)中的音樂(lè)進(jìn)行快速搜索,并對(duì)搜索結(jié)果進(jìn)行管理;

(7)用戶可以通過(guò)菜單按鈕進(jìn)入軟件的而功能菜單列表,并對(duì)這些功能進(jìn)行操作;

(8)通過(guò)點(diǎn)擊暫停按鈕可以停止當(dāng)前歌曲的播放,在暫停狀態(tài)下,用戶通過(guò)點(diǎn)擊設(shè)備返回按鈕,可以退出播放器程序。

圖 4.2 播放器功能流程圖

5 系統(tǒng)實(shí)現(xiàn)

5.1 播放器主界面功能列表

根據(jù)前文中對(duì)音樂(lè)播放器功能結(jié)構(gòu)的分析以及對(duì)主界面功能的簡(jiǎn)單分析。在對(duì)功能模塊進(jìn)行設(shè)計(jì)的基礎(chǔ)上使用DroidDraw工具編碼出XML文件并導(dǎo)入Android ADT中能夠得到如下結(jié)果。

(1)UI設(shè)計(jì)

播放器的主要色調(diào)采用淺藍(lán)色作為背景底色,各個(gè)按鈕使用深色,整體風(fēng)格顯得更加舒適并附有強(qiáng)烈的時(shí)尚氣息。播放器主界面功能列表主要包括基本控制功能按鈕(播放、暫停、切歌等)、搜索按鈕、播放列表按鈕以及播放主信息顯示區(qū)域。

(2)核心代碼:

具體的主界面實(shí)現(xiàn)核心代碼如下:

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()) {

case R.id.iv_play:

if(state==State.Paused){

startService(new Intent(MusicService.ACTION_PLAY));

iv_play.setImageResource(R.drawable.cf_open);

state=State.Playing;

}else{

startService(new Intent(MusicService.ACTION_PAUSE));

iv_play.setImageResource(R.drawable.cf_close);

state=State.Paused;

}

break;

case R.id.rl_localmusic://本地音樂(lè)

intent =new Intent(MainActivity.this,MusicListActivity.class);

intent.putExtra("from", "all");

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.rl_file://文件夾

intent =new Intent(MainActivity.this,MusicListActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.rl_singer://歌手

intent =new Intent(MainActivity.this,MusicListActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

/*case R.id.rl_type://專輯

intent =new Intent(MainActivity.this,MusicListActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;*/

case R.id.rl_love://喜歡

intent =new Intent(MainActivity.this,MusicListActivity.class);

intent.putExtra("from", "like");

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.rl_playmusic://音樂(lè)播放界面

intent =new Intent(MainActivity.this,PlayActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.vertical_in, R.anim.vertical_out);

break;

case R.id.ll_zaixian://在線音樂(lè)

intent =new Intent(MainActivity.this,OnlineActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_saomiao://掃描音樂(lè)

intent =new Intent(MainActivity.this,ScanActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_shuimian://睡眠定時(shí)

intent =new Intent(MainActivity.this,SleepActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_shezhi://設(shè)置

intent =new Intent(MainActivity.this,SettingActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_tuichu://退出

finish();

unbindService(conn);

stopService(new Intent(MainActivity.this, MusicService.class));

System.exit(0);

break;

}

}

5.2 播放器基本功能的實(shí)現(xiàn)

(1)功能描述

播放器的基本功能主要包括對(duì)歌曲的播放、暫停、停止等控制功能。

(2)播放器基本控制功能流程設(shè)計(jì)

在啟動(dòng)播放器之后,如果播放列表中存在文件信息,則點(diǎn)擊播放按鈕之后正常進(jìn)行音樂(lè)播放;當(dāng)處于正常音樂(lè)播放情況下點(diǎn)擊暫?;蛲V拱粹o可以實(shí)現(xiàn)暫停或停止當(dāng)前音樂(lè)的播放,當(dāng)音樂(lè)播放處于暫停或停止的狀態(tài)下,用戶可以通過(guò)點(diǎn)擊移動(dòng)設(shè)備的返回按鈕退出播放器程序,具體的流程圖如下:

(3)核心技術(shù)

開(kāi)發(fā)人員可以利用Android提供的android.media包來(lái)實(shí)現(xiàn)對(duì)各種音視頻媒體接口

的管理。在 android 系統(tǒng)源碼中封裝了媒體播放接口類 MediaPlayer,該接口類在執(zhí)行的過(guò)程中首先需要接收媒體數(shù)據(jù)源并依此通過(guò)如下三個(gè)步驟完成對(duì)音樂(lè)的基本播放控制:

第一,利用 MediaPlayer.reset()函數(shù)對(duì)媒體播放類接口進(jìn)行復(fù)位操作。在調(diào)用該函數(shù)后再利用MediaPlayer.prepare()函數(shù)進(jìn)行重新實(shí)例化;

第二,利用 MediaPlayer.serDataSource()函數(shù)對(duì)媒體數(shù)據(jù)流進(jìn)行設(shè)置,數(shù)據(jù)源的獲取需要利用getContentResolver()函數(shù)進(jìn)行獲取。

第三,在接收媒體數(shù)據(jù)流之后,使用MediaPlayer.prepare()函數(shù)準(zhǔn)備播放數(shù)據(jù)源,然后調(diào)用MediaPlayer.start()函數(shù)進(jìn)行播放,同時(shí)還可以利用MediaPlayer.stop()函數(shù)停止播放。

5.3 播放列表的實(shí)現(xiàn)

(1)功能描述

播放列表的主要功能在于對(duì)音樂(lè)文件的管理。用戶在點(diǎn)擊菜單按鈕之后,彈出菜單功能列表,然后用戶選擇播放列表選項(xiàng)并選擇播放列表文件夾,將音樂(lè)文件添加到主頁(yè)面的播放列中。同時(shí)播放列表還提供了刪除、清空等管理選項(xiàng),該功能可以通過(guò)長(zhǎng)按播放列表中的文件名進(jìn)行實(shí)現(xiàn)。

(2)功能實(shí)現(xiàn)核心技術(shù)

播放列表選項(xiàng)被激活后會(huì)自動(dòng)搜索本地音頻文件,并根據(jù)音頻文件中ID3標(biāo)簽所提供的各項(xiàng)信息對(duì)音頻文件進(jìn)行分類顯示。在程序設(shè)計(jì)中可以利用哈希表對(duì)列表信息進(jìn)行保存,然后將保存的信息發(fā)送給 ArrayAdapter 適配器,以在播放列表中進(jìn)行展示。同時(shí)可以利用 OnClickListener接口類實(shí)現(xiàn)用戶的操作響應(yīng)。

6 軟件測(cè)試與驗(yàn)證

6.1 軟件測(cè)試的目的

通常情況下,在軟件系統(tǒng)設(shè)計(jì)完成之后,需要進(jìn)行軟件的性能測(cè)試,這主要是為了讓軟件的運(yùn)行更加穩(wěn)定、功能更加完美,為用戶提高較高的使用體驗(yàn)。在進(jìn)行軟件開(kāi)發(fā)的過(guò)程中,由于其高度復(fù)雜性,bug 是必然存在的,通過(guò)對(duì)軟件的各項(xiàng)功能以及運(yùn)行狀態(tài)進(jìn)行測(cè)試,可以保證每項(xiàng)功能的正確運(yùn)行,同時(shí)也能使系統(tǒng)更加穩(wěn)定的運(yùn)行,保證了整個(gè)軟件功能及性能的良好。

針對(duì)本文研究的音樂(lè)播放軟件軟件系統(tǒng),要想保證軟件系統(tǒng)的功能完整性和滿足用戶的實(shí)際操作需求,需要對(duì)設(shè)計(jì)開(kāi)發(fā)的軟件進(jìn)行性能檢測(cè),然后對(duì)軟件的各項(xiàng)功能以及整體性能所進(jìn)行的以此總體評(píng)估。通過(guò)軟件測(cè)試,具體可以實(shí)現(xiàn)以下目的:

(1)通過(guò)軟件的運(yùn)行可以檢測(cè)出代碼的bug以及在邏輯功能上的缺陷;

(2)可以檢測(cè)出軟件的具體運(yùn)行性能,并根據(jù)該性能測(cè)試是否是有編碼或者邏輯運(yùn)算問(wèn)題造成的;

(3)可以有效改善系統(tǒng)軟件在設(shè)計(jì)過(guò)程中的漏洞和不足。

6.2 軟件測(cè)試的方法

由于不同軟件應(yīng)用范圍和使用性質(zhì)不同,所以軟件進(jìn)行性能測(cè)試的技術(shù)方法各不相同,本文主要研究的是音樂(lè)播放軟件,根據(jù)這一軟件系統(tǒng)的功能和性質(zhì),主要采用單元測(cè)試的方法對(duì)音樂(lè)播放軟件的不同功能進(jìn)行測(cè)試。作者采用這種方法的主要目的是為了保證每一個(gè)單元的功能完整性。

軟件測(cè)試人員要想對(duì)系統(tǒng)功能進(jìn)行單元測(cè)試,首先要準(zhǔn)確掌握和了解系統(tǒng)模塊的基本信息和內(nèi)部控制電路,這樣才可以對(duì)單元模塊進(jìn)行全面測(cè)試,并且可以及時(shí)發(fā)現(xiàn)和完善模塊中存在的漏洞和不足。軟件系統(tǒng)進(jìn)行單元測(cè)試通常有兩種方法,它們分別是黑盒測(cè)試法與白盒測(cè)試法,其中白盒測(cè)試法由于技術(shù)比較成熟,應(yīng)用的范圍比較廣泛。白盒測(cè)試法其本質(zhì)是對(duì)系統(tǒng)模塊的邏輯結(jié)構(gòu)進(jìn)行測(cè)試。具體操作過(guò)程是測(cè)試人員按照模塊的內(nèi)部程序進(jìn)行檢測(cè),以此來(lái)判斷模塊的每個(gè)程序是否按照預(yù)期的要求進(jìn)行工作。

白盒測(cè)試法其實(shí)是將測(cè)試模塊當(dāng)作一個(gè)透明盒子,測(cè)試人員通過(guò)認(rèn)真分析模塊內(nèi)部的邏輯結(jié)構(gòu),然后選擇比較符合的測(cè)試程序進(jìn)行相關(guān)功能檢測(cè)。這樣可以有效的保證檢測(cè)結(jié)果的準(zhǔn)確性和合理性。

6.3 軟件測(cè)試環(huán)境

6.3.1 android模擬器

模擬器系統(tǒng)版本android4.0或以上版本

6.3.2 真機(jī)測(cè)試

可以通過(guò)幾款A(yù)ndroid手機(jī)真機(jī)對(duì)軟件進(jìn)行測(cè)試,具體選擇的真機(jī)及具體配置如下表6.3.2所示。

表6.3.2 Android真機(jī)具體配置情況

手機(jī)型號(hào)CPU型號(hào)CPU頻率RAM操作系統(tǒng)小米2s高通 驍龍APQ8064 Pro1.7GHz2GBAndroid 5.0魅族魅藍(lán)Note聯(lián)發(fā)科 MT67521.7GHz2GBAndroid 4.4華為榮耀3c聯(lián)發(fā)科 MT65821.3GHz1GBAndroid 4.2

6.4 軟件測(cè)試流程與結(jié)果評(píng)估

6.4.1 測(cè)試流程

(1)測(cè)試計(jì)劃

1)在音樂(lè)播放器開(kāi)發(fā)工作完成后進(jìn)行軟件測(cè)試;

2)根據(jù)軟件需求分析中對(duì)軟件的各種需求所提出的要求選擇相關(guān)程序?qū)嵗M(jìn)行檢測(cè)。

(2)需要測(cè)試的內(nèi)容:

1)系統(tǒng)模塊重要單元的數(shù)據(jù)檢測(cè);

2)系統(tǒng)模塊中不同數(shù)據(jù)結(jié)構(gòu)之間的連接通路檢測(cè);

3)模塊接口的兼容性檢測(cè);

4)模塊中經(jīng)常出現(xiàn)錯(cuò)誤的通路檢測(cè)。

5)模塊邊界值條件檢測(cè);

(2)測(cè)試準(zhǔn)備

在制定好相應(yīng)的測(cè)試計(jì)劃后組織必要的人力資源及硬件資源準(zhǔn)備。

(3)測(cè)試工作的執(zhí)行

1)根據(jù)測(cè)試計(jì)劃以及測(cè)試用例對(duì)軟件進(jìn)行模塊測(cè)試;

2)在測(cè)試過(guò)程中發(fā)現(xiàn)bug時(shí),應(yīng)進(jìn)行跟蹤管理;

3)測(cè)試結(jié)束后編寫詳細(xì)的軟件測(cè)試報(bào)告;

6.4.2 結(jié)果評(píng)估

對(duì)該音樂(lè)軟件的具體測(cè)試評(píng)估結(jié)果如表6.4.2。

表6.4.2測(cè)試結(jié)果評(píng)估內(nèi)容

測(cè)試選項(xiàng)具體步驟評(píng)估結(jié)果基本播放功能測(cè)試1播放器主界面有五個(gè)關(guān)于控制播放的功能按鈕,分別點(diǎn)擊各個(gè)按鈕測(cè)試按鈕是否會(huì)對(duì)播放器的正常工作產(chǎn)生影響通過(guò)2測(cè)試播放按鈕是否能夠正常進(jìn)行音樂(lè)播放通過(guò)3點(diǎn)擊單曲播放及實(shí)現(xiàn)順序播放,注意樂(lè)曲之間的切換播放,多放幾首歌檢測(cè)該功能是否實(shí)現(xiàn)通過(guò)4測(cè)試播放按鈕與暫停按鈕之間的切換功能通過(guò)5在歌曲停止播放后,按設(shè)備的返回鍵是否能夠正確的退出播放器應(yīng)用程序通過(guò)播放進(jìn)度條1是否正確顯示當(dāng)前歌曲的播放進(jìn)度信息通過(guò)2測(cè)試是否能夠通過(guò)觸摸操作對(duì)進(jìn)度條進(jìn)行控制通過(guò)歌曲切換1點(diǎn)擊上一首或下一首按鈕是否能夠?qū)崿F(xiàn)歌曲之間的切換通過(guò)2切換按鈕是否能夠?qū)Ξ?dāng)前播放隊(duì)列中的歌曲完全切換通過(guò)3跳轉(zhuǎn)到播放列表結(jié)尾時(shí),是否能夠停止跳轉(zhuǎn)通過(guò)

6.5 本章小結(jié)

Android 軟件的測(cè)試方法還處在探索階段,本研究所用的的測(cè)試方法為白盒模塊測(cè)試,根據(jù)軟件的需求對(duì)播放器的功能及性能進(jìn)行了全面測(cè)試,測(cè)試結(jié)果表面從功能和性能來(lái)看該軟件達(dá)到了預(yù)期效果

7 總結(jié)

由于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的更新?lián)Q代以及社會(huì)發(fā)展的實(shí)際需求,人們對(duì)于手機(jī)的選擇越來(lái)越親睞于觸摸屏智能手機(jī)。觸摸屏智能手機(jī)是在原來(lái)的按鍵手機(jī)的基礎(chǔ)上發(fā)展起來(lái)的?,F(xiàn)在大多數(shù)智能手機(jī)都采用Android系統(tǒng),這主要是因?yàn)锳ndroid系統(tǒng)更加開(kāi)放,更加人性化。現(xiàn)在全球各大手機(jī)制造商都對(duì)Android系統(tǒng)進(jìn)行了深入研究和廣泛應(yīng)用,因此,對(duì)于Android系統(tǒng)的研究分析具有一定的市場(chǎng)價(jià)值。針對(duì)目前Android軟件市場(chǎng)音樂(lè)播放器品質(zhì)良莠不齊以及廣大安卓手機(jī)用戶迫切需要一款功能專一,界面清爽美觀,同時(shí)占用較少手機(jī)資源的音樂(lè)播放器的問(wèn)題,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了該款A(yù)ndroid平臺(tái)的手機(jī)音樂(lè)播放器。通過(guò)軟件工程理論對(duì)該播放器從需求分析、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)測(cè)試三個(gè)方面闡述了基于Android嵌入式平臺(tái)的手機(jī)音樂(lè)播放器的實(shí)現(xiàn)過(guò)程。

本文主要完成了以下幾個(gè)方面的工作:

1、在分析國(guó)內(nèi)外研究現(xiàn)狀的基礎(chǔ)上,結(jié)合現(xiàn)有 Android 音樂(lè)播放器的實(shí)現(xiàn)原理和功能特色,重新設(shè)計(jì)出該款功能使用流程便捷的音樂(lè)播放器。

2、研究并學(xué)習(xí)基于 Android 嵌入式平臺(tái)開(kāi)發(fā)技術(shù),Android 平臺(tái)開(kāi)發(fā)采用 Java 語(yǔ)言為主導(dǎo),結(jié)合XML語(yǔ)言進(jìn)行UI界面的開(kāi)發(fā)。

3、針對(duì)用戶研究后分析音樂(lè)播放器的功能需求,將播放器功能分成播放器主界面功能模塊和播放器菜單功能模塊。主界面功能模塊包括播放/暫停/停止功能、播放進(jìn)度條功能、本地音樂(lè)搜索功能、歌曲信息顯示功能、窗口小部件功能等。

4、闡述從播放器系統(tǒng)實(shí)現(xiàn)的角度對(duì)需求分析得出的功能模塊進(jìn)行詳細(xì)具體的實(shí)現(xiàn)細(xì)節(jié)。

5、最后分別使用基于 Android 嵌入式平臺(tái)模擬器和 Android 手機(jī)真機(jī)對(duì)該款音樂(lè)播放器進(jìn)行功能和性能測(cè)試。經(jīng)過(guò)對(duì)系統(tǒng)的功能和性能測(cè)試分析表明該系統(tǒng)達(dá)到預(yù)期的設(shè)計(jì)目標(biāo)。

參考文獻(xiàn)

[1]趙江洪主編.人機(jī)工程學(xué)[M]. 高等教育出版社, 2006.

[2]吳亞峰,索依娜.Android核心技術(shù)與實(shí)例講解[M].北京:電子工業(yè)出版社,2010.

[3]張基溫.信息系統(tǒng)開(kāi)發(fā)案(第3版)[M].北京:清華大學(xué)出版社,2002.22-34.

[4]汪應(yīng)洛主編.系統(tǒng)工程[M]. 機(jī)械工業(yè)出版社, 2003.

[5]曾毅.數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)大全[M].北京:清華大學(xué)出版社.2010.

[6]李剛,著.瘋狂Java[M].電子工業(yè)出版社, 2008.

[7]薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2003.12-26.

[8]鄭曉艷,童勇木編著.Java程序設(shè)計(jì)教程[M]. 清華大學(xué)出版社, 2003.

[9]鄭人杰,殷人昆,陶永雷.實(shí)用軟件工程(第二版)[M].北京:清華大學(xué)出版社,2003,113-154.

[10]余建星編著.工程項(xiàng)目風(fēng)險(xiǎn)管理[M].天津大學(xué)出版社, 2006.

[11]劉欣怡.軟件工程[M].北京:清華大學(xué)出版社,2007,75-96.

[12]古樂(lè),史九林編著,上海艾微軟件技術(shù)有限公司主編.軟件測(cè)試技術(shù)概論[M].北京:清華大學(xué)出版社, 2004.

[13]黃梯云,李一軍.管理信息系統(tǒng)(第三版)[M].北京:高等教育出版社,2005.107-182.

[14](美)BruceEckel著,陳昊鵬,饒若楠等譯.Java編程思想[M].機(jī)械工業(yè)出版社, 2005.

[15](美)B.約瑟夫·派恩(B.JosephPineⅡ),(美)詹姆斯·H.吉爾摩(JamesH.Gilmore)著,夏業(yè)良,魯煒等譯.體驗(yàn)經(jīng)濟(jì)[M]. 機(jī)械工業(yè)出版社, 2002.


Android音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
瓮安县| 合水县| 阿拉善左旗| 体育| 武平县| 繁峙县| 深圳市| 隆昌县| 普洱| 咸宁市| 姚安县| 图片| 江门市| 钟祥市| 锡林郭勒盟| 加查县| 江孜县| 玉林市| 抚顺市| 安仁县| 清涧县| 扶余县| 永年县| 江孜县| 阿图什市| 岑溪市| 眉山市| 东安县| 上栗县| 许昌市| 珠海市| 平和县| 诸暨市| 长岭县| 开阳县| 龙山县| 杨浦区| 曲阳县| 罗城| 射洪县| 喀喇沁旗|