




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 編號 淮安信息職業(yè)技術學院淮安信息職業(yè)技術學院畢畢業(yè)業(yè)論論文文題 目基于 Android 普通的音樂播放器的設計與實訓學生姓名徐曉舟學 號31713216院 系 計算機與通信工程學院專 業(yè)軟件技術班 級317132指導教師徐義晗顧問教師二一六年六月摘 要摘摘 要要本音樂播放器的開發(fā)的原因是,在當今大眾娛樂的時代,音樂播放器已是越來越不可少,開發(fā)這個項目可以方便很多人。Android 當前發(fā)展前景很不錯,特別是在中國市場,中國智能手機用戶花錢購買應用程序的意識淡薄,安卓主打免費和開放式系統(tǒng),適合廣大人群,安全系數(shù)一般,雖然沒有 IOS 那樣穩(wěn)定易用,但開發(fā)前景仍然可觀。隨著社會的進步發(fā)展,人們
2、生活水平的穩(wěn)健提高,越來越多的人們開始對娛樂生活有著各種各樣的需求,其中,音樂以其獨特的律動和韻味捕獲了大多數(shù)人們的心。在這樣的時代中,音樂播放器的使用也顯得格外的講究。本音樂播放器為滿足廣大用戶對音樂體驗的快感,結合了主流播放器的基本功能,并大膽創(chuàng)新,只為給廣大用戶帶來極致的音樂享受。本音樂播放器基本實現(xiàn)了現(xiàn)如今主流音樂播放器的基本功能,基本符合大眾對音樂播放器的需求。除此以外,本播放器還提供了下載功能以及波形圖,左右聲道等新鮮功能。滿足各類用戶的需求,帶來前所未有的體驗感。關鍵詞關鍵詞 1.android 2.音樂播放器 3.下載功能AbstractA AbstractbstractThe
3、 reason for the development of the music player is that in the era of mass entertainment, music player is becoming more and more indispensable, the development of this project can be convenient for many people. Android is currently the development prospects are very good, especially in the Chinese m
4、arket, Chinese smartphone users spend money to buy application consciousness, Android main free and open system, suitable for the majority of the population, the factor of safety in general, although there is no IOS as stable and easy to use, but the prospects are still impressive.With the social pr
5、ogress and development, peoples living standards improve the robustness of the, more and more people began to have a variety of demand for live entertainment, including music, with its unique rhythm and charm capture the heart of most people. In such an era, the use of music players also appears to
6、be particularly stress.The music player to meet the majority of users of the music experience of pleasure, combined with the basic features of the mainstream player, and bold innovation, only for the majority of users to bring the ultimate music to enjoy.The basic realization of the music player is
7、now the mainstream music players basic functions, basically in line with the needs of the public music player. In addition, the player also provides download features as well as the waveform, the left and right channels, and other new features. Meet the needs of all kinds of users, bring an unpreced
8、ented sense of experience.Keywords:1.android 2. music player 3.Download function目 錄目目 錄錄摘摘 要要.IABSTRACT .II第第一章一章 緒論緒論.11.功能設計.11.1.1 主界面音樂播放管理.11.1.2 通知欄音樂播放管理.11.1.3 音樂列表管理.11.1.4 設置管理.11.1.5 雙聲道管理.12. 本論文的內容和結構說明.1第二章第二章 系統(tǒng)設計系統(tǒng)設計.32.1 系統(tǒng)面向對象設計.32.2 數(shù)據庫設計.32.3 主界面設計.4第三章第三章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn).53.1 數(shù)據庫存儲系統(tǒng)的實
9、現(xiàn).53.2 系統(tǒng)功能實現(xiàn).53.2.1 音樂信息添加功能的實現(xiàn).53.2.2 音樂列表更改功能的實現(xiàn).63.2.3 服務器音樂下載功能的實現(xiàn).73.2.4 設置功能的實現(xiàn).93.2.5“關于”實現(xiàn).123.2.6 通知欄音樂播放控制功能的實現(xiàn).133.2.7 雙聲道和波形功能的實現(xiàn).14第四章第四章 軟件系統(tǒng)測試軟件系統(tǒng)測試.174.1 測試目的.174.2 測試對象及測試范圍.17第五章第五章 總結與展望總結與展望.18致致 謝謝.19參考文獻參考文獻.20附錄附錄 項目類表項目類表.21第四章 系統(tǒng)測試0第第 1 1 章章 緒論緒論1.功能設計功能設計1.1.1 主界面音樂播放管理主界面
10、音樂播放管理 通過該模塊,用戶可以實現(xiàn)對音樂播放的管理,主要功能包括:a.播放/暫停:用戶可以通過此功能對音樂實施播放或暫??刂啤. 上一首:用戶可以通過此功能切換音樂至上一首。c.下一首:用戶可以通過此功能切換音樂至下一首。d. 播放模式:用戶可以通過此功能調節(jié)播放模式,包括順序播放、循環(huán)播放和隨機播放。e.進度條拖動:用戶可以通過此功能調節(jié)音樂的播放進度。1.1.2 通知欄音樂播放管理通知欄音樂播放管理a.播放/暫停:用戶可以通過此功能對音樂實施播放或暫??刂?。b. 上一首:用戶可以通過此功能切換音樂至上一首。c.下一首:用戶可以通過此功能切換音樂至下一首。d. 關閉:用戶可以通過此功能
11、直接關閉播放器。e.跳轉:用戶可以通過此功能從通知欄跳轉至主界面。1.1.3 音樂列表管理音樂列表管理a.默認列表:用戶打開列表自動搜索內存里的音樂,并導入默認列表。用戶可通過此列表進行選擇播放。b. 喜歡列表:用戶通過在默認列表中的選擇,將喜歡的音樂導入喜歡列表。用戶可通過此列表進行選擇播放。c.下載列表:用戶可通過網絡下載喜歡的音樂至此列表,并進行選擇播放。1.1.4 設置管理設置管理a.背景設置:用戶可通過此功能更換界面背景。b. 搞怪 3D 音效:用戶可通過此功能獲取搞怪音效。c.語言設置:用戶可通過此功能來進行中英文切換。1.1.5 雙聲道管理雙聲道管理a.用戶如果沒有插入耳機,則出
12、現(xiàn)波形圖。b. 用戶如果插入耳機,則進行雙聲道管理。第二張 系統(tǒng)設計12.本論文的內容和結構說明本論文的內容和結構說明軟件設計采用 IAR C 語言軟件開發(fā)系統(tǒng),通過系統(tǒng)通訊主程序、路由子程序、傳感器信號采集處理子程序、顯示報警子程序等模塊化軟件設計,設計出使用簡便、運行效率高、穩(wěn)定可靠的配套軟件系統(tǒng)。本文結構主要由緒論、音樂播放器的構成與組建、系統(tǒng)模塊的介紹,流程圖和關鍵代碼實現(xiàn)。第 1 章:緒論,介紹音樂播放器的功能設計。第 2 章:系統(tǒng)設計,系統(tǒng)總體分析與設計,總體介紹項目的構成。第 3 章:系統(tǒng)實現(xiàn)的原理。第 4 章:系統(tǒng)測試。第 5 章:對項目的以后的展望和。淮安信息職業(yè)技術學院畢業(yè)
13、設計論文2系統(tǒng)頂層用例圖如圖 1:用戶主界面音樂播放管理雙聲道管理設置管理音樂列表管理通知欄音樂播放管理播放 / 暫停下一首關閉進度條拖動喜歡列表3D 音效雙聲道播放 / 暫停語言設置上一首默認列表播放模式下載列表背景設置上一首下一首波形圖跳轉圖 1 系統(tǒng)用例圖第二張 系統(tǒng)設計3第二章第二章 系統(tǒng)設計系統(tǒng)設計2.1 系統(tǒng)面向對象設計系統(tǒng)面向對象設計根據系統(tǒng)的需求分析,各功能模塊所涉及的類如下:音樂列表類:功能:修改音樂類型信息,比如添加音樂數(shù)據、查詢所有未被刪除的音樂信息、添加刪除喜歡音樂。屬性:存儲音樂類型信息,比如默認音樂類型有歌曲 ID、名稱、專輯名、歌手名、路徑、播放時長、大小、重命名
14、歌曲名等。音樂列表類圖如圖 2.1+getters()+setters()-id : int-title : string-album : string-artist : string-Url : string-Dration : int-Size : int-status : intMusicList圖 2.1 音樂列表類圖2.2 數(shù)據庫設計數(shù)據庫設計系統(tǒng)采用 SQLite 關系型數(shù)據庫進行數(shù)據庫設計,由系統(tǒng)對象關系分析可知,系統(tǒng)數(shù)據存儲結構可由一張數(shù)據表構成,其具體結構如表 1 所示。表 1 音樂類型信息表表名account_type_info列名數(shù)據類型非空描述主鍵外鍵idinteger
15、Y歌曲 IDYtitletext歌曲的名稱 albumtext歌曲的專輯名artisttext歌曲的歌手名urltext歌曲文件的路徑durationtext歌曲的總播放時長musicnametext重命名歌曲名sizetext歌曲文件的大小statusinteger1 標識不喜歡,2 標識喜歡淮安信息職業(yè)技術學院畢業(yè)設計論文42.3 主界面設計主界面設計由于采用移動手持終端作為應用程序載體,為提高人機交互效果,主界面宜采用扁平化設計??梢愿雍唵沃苯拥膶⑿畔⒑褪挛锏墓ぷ鞣绞秸故境鰜?,減少認知障礙的產生。主界面設計如圖 3.4 所示。 圖 2.3 主界面設計第三章 系統(tǒng)實現(xiàn)5第三章第三章 系統(tǒng)
16、實現(xiàn)系統(tǒng)實現(xiàn)3.1 數(shù)據庫存儲系統(tǒng)的實現(xiàn)數(shù)據庫存儲系統(tǒng)的實現(xiàn)本存儲系統(tǒng)利用 Andorid 的 SQLite 關系型數(shù)據庫存儲系統(tǒng)實現(xiàn)。其數(shù)據表字段及數(shù)據表創(chuàng)建等核心代碼如下所示:數(shù)據表字段代碼:private SQLiteDatabase mMusicListdb = null;private final String LIST_DBNAME = music_list;private final String TBL_MUSIC = tbl_music;private final String TITLE = tilte;private final String ALBUM = album;
17、private final String ARTIST = artist;private final String URL = url;private final String DURATION = duration;private final String SIZE = size;private final String MUSICNAME = musicname;private final String STATUS = status;3.2 系統(tǒng)功能實現(xiàn)系統(tǒng)功能實現(xiàn)本音樂播放系統(tǒng)通過播放、音效、設置、關于、通知等其他系統(tǒng)共同實現(xiàn)。主界面以下功能:播放、列表、設置、關于。1.播放:音樂的播
18、放控制;2.列表:音樂列表顯示和更改;3.設置:更改背景、語言設置和 3D 音效;4.雙聲道和波形;5.關于;6.通知欄音樂播放管理。3.2.1 音樂信息添加功能的實現(xiàn)音樂信息添加功能的實現(xiàn)該功能主要是音樂信息的添加,點擊主界面的列表按鈕,打開音樂默認列表自動添音樂(如圖 3.1 所示)。彈出等待提示框(如圖 3.2 所示),音樂添加完成后將自動關閉并刷新列表。圖 3.1 音樂信息添加 淮安信息職業(yè)技術學院畢業(yè)設計論文6圖 3.2 等待提示框添加音樂數(shù)據訪問層(MusicListDao 類)核心代碼:public void initData(SdcardMusic sm)ContentValu
19、es cv = new ContentValues();cv.put(TITLE, sm.getTilte();cv.put(ALBUM, sm.getAlbum();cv.put(ARTIST, sm.getArtist();cv.put(URL, sm.getUrl();cv.put(DURATION, sm.getDuration();cv.put(SIZE, sm.getSize();cv.put(MUSICNAME, sm.getMusicname();cv.put(STATUS, 1);mMusicListdb.insert(TBL_MUSIC, novalue, cv);mMus
20、icListdb.close();添加音樂信息事件核心代碼:if(new MusicListDao(view.getContext().findAllMusic().isEmpty()if(new MusicListDao(view.getContext().findAllMusic().isEmpty()showLoadDialog(false);new Thread()public void run() Vector als = new Vector();als = CommonUtils.getMusicFromSdCard(view.getContext();for(int i=0;i
21、 30000)new MusicListDao(view.getContext().initData(als.elementAt(i);hand.sendEmptyMessage(0);.start();elseToast.makeText(view.getContext(), R.string.application_no_music, Toast.LENGTH_SHORT).show();3.2.2 音樂列表更改功能的實現(xiàn)音樂列表更改功能的實現(xiàn)該功能主要是負責音樂列表的查詢和修改,點擊默認列表界面的鉆石圖標,可將該音樂添加至我喜歡的音樂列表(如圖 3.3 所示),選擇右側黃色標簽可查看不同
22、列表(如圖 3.4 所示)。第三章 系統(tǒng)實現(xiàn)7圖 3.3 添加至喜歡的音樂列表圖 3.4 查看不同的音樂列表查詢音樂信息數(shù)據訪問層(MusicListDao 類)核心代碼public Vector findAllMusic()Vector vsm = new Vector();Cursor c = mMusicListdb.rawQuery(select * from +TBL_MUSIC + where + STATUS + ?, new String0);c.moveToFirst();while(!c.isAfterLast()SdcardMusic sm = new SdcardMus
23、ic();sm.setId(c.getInt(0);sm.setTilte(c.getString(1);sm.setAlbum(c.getString(2);sm.setArtist(c.getString(3);sm.setUrl(c.getString(4);sm.setDuration(c.getInt(5);sm.setSize(c.getInt(6);sm.setMusicname(c.getString(6);sm.setStatus(c.getInt(8);vsm.addElement(sm);c.moveToNext();return vsm;3.2.3 服務器音樂下載功能的
24、實現(xiàn)服務器音樂下載功能的實現(xiàn)點擊列表內的下載按鈕可從服務器下載該音樂至本地(如圖 3.5 所示)。等淮安信息職業(yè)技術學院畢業(yè)設計論文8待下載完成后即可播放(如圖 3.6 所示)。 圖 3.5 下載音樂至本地 圖 3.6 下載完成客戶端連接接收代碼public static String IP = 192.168.191.2;public static int PORT = 5000;public static String music_title = Your Smile.mp3;public boolean connect()new Thread() public void run() tr
25、y while (true) Socket socket = new Socket(IP , PORT);String local_file = Environment.getExternalStorageDirectory().getAbsolutePath() + /AdownloadMusic/;File f = new File(local_file);if (!f.exists() f.mkdirs();local_file = f.getAbsolutePath() + / + music_title;File file = new File(local_file);InputSt
26、ream ins = socket.getInputStream();FileOutputStream fos = new FileOutputStream(file);BufferedInputStream bis = new BufferedInputStream(ins);BufferedOutputStream bos = new BufferedOutputStream(fos);byte buffer = new byte102400;int len = bis.read(buffer);while (len != -1) bos.write(buffer, 0, len);len
27、 = bis.read(buffer);fos.flush();fos.close();第三章 系統(tǒng)實現(xiàn)9FileReader fr = new FileReader(file);String str = ;int val = ins.read(buffer);val = fr.read();while (val != -1) str += (char) val;val = fr.read();CommonData.downloading = 0;CommonData.handler_deletemusic.sendEmptyMessage(2); catch (Exception e) Co
28、mmonData.downloading = 0;CommonData.handler_deletemusic.sendEmptyMessage(3);.start();return false;服務端創(chuàng)建服務傳輸代碼public static void main(String args) File file = new File(Your Smile.mp3);try ServerSocket socketServerSocket = new ServerSocket(5000,1,InetAddress.getByName(172.17.0.82);while(true)Socket so
29、cket = socketServerSocket.accept();try OutputStream ops = socket.getOutputStream();BufferedOutputStream bos = new BufferedOutputStream(ops);BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file);byte buffer = new byte102400;int len = bis.read(buffer);while(len != -1)bos.write(bu
30、ffer,0,len);len = bis.read(buffer);bos.flush();bos.close();ops.flush();ops.close();System.out.println(ok!);Thread.sleep(1000); catch (Exception e) e.printStackTrace(); catch (Exception e) e.printStackTrace();3.2.4 設置功能的實現(xiàn)設置功能的實現(xiàn)點擊主界面的設置按鈕即可調出設置菜單(如圖 3.7);點擊背景設置按鈕彈出背景選擇界面長按即可設置成功(如圖 3.8);圖 3.7 設置菜單查看
31、淮安信息職業(yè)技術學院畢業(yè)設計論文10圖 3.8 背景設置成功背景設置關鍵代碼public class ImageAdapter extends BaseAdapter private int mGalleryItemBackground;private Context context;public ImageAdapter(Context context) this.context = context;TypedArray typedArray = context.obtainStyledAttributes(R.styleable.Gallery);mGalleryItemBackgroun
32、d = typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0);typedArray.recycle(); Overridepublic int getCount() return myImageIds.size();Overridepublic Object getItem(int position) return position;Overridepublic long getItemId(int position) return position;public View getView(
33、int position, View convertView, ViewGroup parent) ImageView i = new ImageView(context);i.setImageResource(myImageIds.elementAt(position%myImageIds.size();i.setId(myImageIds.elementAt(position%myImageIds.size();i.setScaleType(ImageView.ScaleType.FIT_XY);i.setLayoutParams(new Gallery.LayoutParams(800,
34、 450); i.setBackgroundResource(mGalleryItemBackground);return i;點擊語言設置按鈕可選擇語言(如圖 3.9);點擊搞怪 3D 音效可開啟 3D 音模式(如圖 3.10)。 圖 3.9 語言設置 第三章 系統(tǒng)實現(xiàn)11圖 3.10 3D 音模式語言設置功能關鍵代碼btn_lan_set.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) Intent intent = new Intent(Settings.ACTION_LOCALE_
35、SETTINGS);startActivity(intent););3D 音效模式關鍵代碼private Timer mtm = null;private TimerTask mttk = null;private void SetSimulationSound(boolean aa)try final Random rd = new Random();mp.setVolume(0.5F,0.5F);if(aa)mtm = new Timer();mttk = new TimerTask() float v = 0.5f;public void run() if(mp.isPlaying()f
36、loat a = rd.nextFloat();if(a 0.5)v = upleftSound(v);elsev = uprightSound(v);mtm.schedule(mttk, 0, 3000);elsemtm.cancel();mttk.cancel();mp.setVolume(1.0F,1.0F); catch (Exception e) private float upleftSound(float left)try float right = 1-left;for(int i=0; i150; i+)if(left 0.91)left+=0.01f;right = 1-l
37、eft;mp.setVolume(left, right);Log.e(sss, left=+left);Thread.sleep(20);return left; catch (InterruptedException e) Log.e(sss, volume left change is error, e);淮安信息職業(yè)技術學院畢業(yè)設計論文12return 0.5f;private float uprightSound(float left)try float right = 1-left;for(int i=0; i 0.09)left-=0.01f;right = 1-left;mp.
38、setVolume(left, right);Log.e(sss, left=+left);Thread.sleep(20);return left; catch (InterruptedException e) Log.e(sss, volume right change is error, e);return 0.5f;3.2.5“關于關于”實現(xiàn)實現(xiàn)該功能主要是聲明“ACG BOX”的版權,點擊主界面的關于按鈕,打開關于窗口(如圖 3.11 所示),顯示關于“ACG BOX”。 圖 3.11 關于“ACG BOX”Diolog 打開動畫關鍵代碼Overridepublic void onA
39、ctivityCreated(Bundle savedInstanceState) super.onActivityCreated(savedInstanceState);getDialog().getWindow().getAttributes().windowAnimations = R.style.dialogAbout;getDialog().setCanceledOnTouchOutside(true); 打開,關閉調用的 XML 文件 第三章 系統(tǒng)實現(xiàn)13 使用的 Style 方法 anim/anim_showabout anim/anim_closeabout 3.2.6 通知欄
40、音樂播放控制功能的實現(xiàn)通知欄音樂播放控制功能的實現(xiàn)打開通知欄點擊即可跳轉到當前軟件主界面,4 個按鈕分別對應上一首、暫停/播放、下一首和關閉的功能(如圖 3.12)。 圖 3.12 通知欄音樂播放控制實現(xiàn)通知欄音樂播放控制關鍵代碼private NotificationManager showCustomView() RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.new_music_notification);remoteViews.setTextViewText(R.id.title_title, Co
41、mmonData.all_music.elementAt(PlayMusic.itemId).getTilte();remoteViews.setTextViewText(R.id.txt_duration, MyTimeUtils.Ms2mmss(CommonData.all_music.elementAt(PlayMusic.itemId).getDuration();remoteViews.setTextViewText(R.id.txt_artist, CommonData.all_music.elementAt(PlayMusic.itemId).getArtist();Intent
42、 reActivity=new Intent(this,MainActivity.class);PendingIntent pIntent=PendingIntent.getActivity(this, 0, reActivity, 0);remoteViews.setOnClickPendingIntent(R.id.ll_parent, pIntent); Intent preintent = new Intent(); preintent.putExtra(action, last);preintent.setAction(org.wy.playerReceiver);PendingIn
43、tent prepi = PendingIntent.getBroadcast(this, 0, preintent, PendingIntent.FLAG_UPDATE_CURRENT);remoteViews.setOnClickPendingIntent(R.id.last_music, prepi);if(CommonData.playstatus.flag_play = CommonData.playstatus.PLAY)Intent pauaseOrStartIntent=new Intent(); 淮安信息職業(yè)技術學院畢業(yè)設計論文14pauaseOrStartIntent.pu
44、tExtra(action, pause);pauaseOrStartIntent.setAction(org.wy.playerReceiver);PendingIntent pausepi = PendingIntent.getBroadcast(this, 1, pauaseOrStartIntent, PendingIntent.FLAG_UPDATE_CURRENT);remoteViews.setOnClickPendingIntent(R.id.paly_pause_music, pausepi);remoteViews.setImageViewResource(R.id.pal
45、y_pause_music, R.drawable.btn_tostart);elseIntent pauaseOrStartIntent=new Intent(); pauaseOrStartIntent.putExtra(action, playing);pauaseOrStartIntent.setAction(org.wy.playerReceiver);PendingIntent pausepi = PendingIntent.getBroadcast(this, 2, pauaseOrStartIntent, PendingIntent.FLAG_UPDATE_CURRENT);r
46、emoteViews.setOnClickPendingIntent(R.id.paly_pause_music, pausepi);remoteViews.setImageViewResource(R.id.paly_pause_music, R.drawable.btn_topause);Intent nextIntent=new Intent(); nextIntent.putExtra(action, next);nextIntent.setAction(org.wy.playerReceiver);PendingIntent nextpi=PendingIntent.getBroad
47、cast(this, 3, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT);remoteViews.setOnClickPendingIntent(R.id.next_music, nextpi);Intent closeIntent=new Intent(); closeIntent.putExtra(action, close_noti);closeIntent.setAction(org.wy.playerReceiver);PendingIntent closepi=PendingIntent.getBroadcast(this, 4, c
48、loseIntent, PendingIntent.FLAG_UPDATE_CURRENT);remoteViews.setOnClickPendingIntent(R.id.close, closepi);Builder builder = new Builder(MainService.this);builder.setContent(remoteViews).setSmallIcon(R.drawable.icon).setOngoing(true).setTicker(music is playing);Notification notification=builder.build()
49、;NotificationManager manager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);manager.notify(1, notification);return manager;3.2.7 雙聲道和波形功能的實現(xiàn)雙聲道和波形功能的實現(xiàn)點擊左上角即可調出波形界面(如圖 3.13);插上耳機后點擊左上角彈出雙聲道界面(如圖 3.14)。圖 3.13 通波形界面第三章 系統(tǒng)實現(xiàn)15圖 3.14 雙聲道界面波形顯示關鍵代碼Override protected void onDraw(Canva
50、s canvas) super.onDraw(canvas); if (mBytes = null) return; if (mPoints = null | mPoints.length mBytes.length * 4) mPoints = new floatmBytes.length * 4; mRect.set(0, 0, getWidth(), getHeight(); for (int i = 0; i 0)if(mp.equals(mp_left)if(!source_left.equals(vsm.get(left_play).getUrl()try mp.reset();m
51、p.setDataSource(vsm.get(left_play).getUrl();if (!mp.isPlaying() mp.prepare();淮安信息職業(yè)技術學院畢業(yè)設計論文16 catch (Exception e) Log.e(sss, onStart mp_left - is error, e);source_left = vsm.get(left_play).getUrl();elseif(!source_right.equals(vsm.get(right_play).getUrl()try mp.reset();mp.setDataSource(vsm.get(righ
52、t_play).getUrl();if (!mp.isPlaying() mp.prepare(); catch (Exception e) Log.e(sss, onStart mp_right - is error, e);source_right = vsm.get(right_play).getUrl();elseToast.makeText(this, R.string.no_music, Toast.LENGTH_LONG).show();第三章 系統(tǒng)實現(xiàn)17第四章第四章 軟件系統(tǒng)測試軟件系統(tǒng)測試4.1 測試目的測試目的對基于 Android 應用開發(fā)系統(tǒng)的學習,對系統(tǒng)的各項功能進
53、行檢測,查看是否完成了設計文檔中應有的模塊并且檢查模塊的運行情況,檢查出軟件中還存在的問題予以修正,使系統(tǒng)最終能予以交付。4.2 測試對象及測試范圍測試對象及測試范圍表 1 測試范圍測試項測試項測試內容測試內容系統(tǒng)初始化本地數(shù)據庫及服務是否能正常初始化主界面播放功能主界面是否能正常顯示及控制音樂的播放通知欄播放功能通知欄界面是否能正常顯示及控制音樂的播放列表添加各列表是否能正常顯示及添加至列表中下載功能是否能連接服務端及下載相關音樂背景設置是否能切換背景語言設置各功能之間切換及數(shù)據傳遞是否正常波形圖是否隨音樂正常顯示波形雙聲道是否正常顯示界面及雙聲道音樂效果表 2 測試對象測試對象:ACG B
54、OX實施人員:徐曉舟報告撰寫人員:徐曉舟執(zhí)行用例數(shù):17問題發(fā)現(xiàn)總數(shù):5解決問題總數(shù):5表 3 測試環(huán)境客戶端軟件:Eclipse、Android SDK、ADT客戶端設備:華為 p6網絡環(huán)境:局域網(wifi)表 4 測試列表測試方式:灰盒測試測試內容 1:默認列表的添加測試用例 1:打開列表,自動搜索,看是否添加成功測試內容 2:喜歡列表的添加測試用例 2:在默認列表內標記喜歡的音樂,看是否添加至喜歡列表測試內容 3:列表動畫的顯示測試用例 3:在列表內選擇音樂播放,看被選音樂右上方是否有動畫淮安信息職業(yè)技術學院畢業(yè)設計論文18第五章第五章 總結與展望總結與展望本次項目以 Android 為平臺,實現(xiàn)了音樂播放器的功能。在這次畢業(yè)設計中我學會了有目的的去學習一些將要用到的東西,仔細地考慮工作流程的規(guī)律和步驟,充分利用手中的開發(fā)工具,利用其所具備的功能,盡量使自己的開發(fā)在代碼上實現(xiàn)少而精確、讓用戶能夠盡量簡單地進行操作。但是在檢測過程中,還是出現(xiàn)了很多的不足之處,這些都是要在今后的工作中需要努力改進和完善的。 在這次程序開發(fā)設計中,我也難免會遇到不少困難,這主要是由于我對所用的開發(fā)環(huán)境并不是很熟悉,開發(fā)軟件的經驗不足。這次開發(fā)對我來說可以算是一個全新的嘗試,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新消費品牌在Z世代市場中的競爭優(yōu)勢分析報告2025
- 農業(yè)灌溉用水高效利用技術與管理在農業(yè)節(jié)水型社會建設中的應用報告
- 2025年智慧物流配送體系資金申請與物流信息化戰(zhàn)略規(guī)劃
- 常見病照護課件:神經系統(tǒng)常見疾病的照護
- 眼科疾病分類及診療概述
- 校園艾滋病健康教育宣傳
- 團日主題活動策劃方案
- 現(xiàn)代教職工心理健康教育
- 實驗設計方案匯報
- 糖尿病中西醫(yī)結合護理
- 胰島素的種類及應用(共26張PPT)
- 現(xiàn)場照相技術課件
- 抖音帶貨主播勞動合同范本
- 廣東省高等學?!扒О偈こ獭钡诹^續(xù)培養(yǎng)對象和第
- 人教版三年級數(shù)學上冊口算題卡
- 綠色施工與環(huán)境管理
- 小數(shù)乘整數(shù)的教學設計 小數(shù)乘整數(shù)教學設計一等獎(十四篇)
- 統(tǒng)借統(tǒng)還資金分撥合同
- 地鐵運營施工負責人考試題庫
- GB/T 708-2006冷軋鋼板和鋼帶的尺寸、外形、重量及允許偏差
- 故宮的資料簡介(標準版)
評論
0/150
提交評論