版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、安徽建筑工業(yè)學(xué)院畢業(yè)論文1.1項(xiàng)目背景項(xiàng)目背景n在研究了各種市場上流行的手機(jī)播放器,了解它們各自的插件及編碼方式,還有各種播放器播放的特別格式文件,分析各種編碼的優(yōu)缺點(diǎn)以及各種播放器本身存在的缺陷和特點(diǎn),編寫出功能實(shí)用,使用方便快捷的播放器。目前已經(jīng)實(shí)現(xiàn)的功能有能播放常見音頻文件的功能,如MP3,WAV,等,擁有播放菜單,能選擇播放清單,具備一般播放器的功能,如快進(jìn),快退,音量調(diào)節(jié)等。播放模式也比較完善,有單曲,順序,循環(huán),隨機(jī)播放等模式安徽建筑工業(yè)學(xué)院畢業(yè)論文1.2編寫目的編寫目的 n 現(xiàn)今社會生活緊張,而欣賞音樂是其中最好的舒緩壓力的方式之一,本項(xiàng)目的目的是開發(fā)一個(gè)可以播放主流音樂文件格式
2、的播放器,本設(shè)計(jì)的實(shí)現(xiàn)的這主要功能是播放Mp3格式的音樂文件,并且能夠控制播放,暫停,停止,上一曲,下一曲,音量調(diào)節(jié),視覺外觀,播放列表和歌曲文件的管理操作等多種播放控制功能,界面簡明,操作簡單。 安徽建筑工業(yè)學(xué)院畢業(yè)論文2.1 功能需求(用例圖分析)功能需求(用例圖分析)n2.1 功能需求(用例圖分析)n 根據(jù)項(xiàng)目的目標(biāo),我們可獲得項(xiàng)目系統(tǒng)的基本需求,以下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述,系統(tǒng)的功能需求,我們分成四部分來概括,即n播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器擴(kuò)展卡需求。以下分別描述:安徽建筑工業(yè)學(xué)院畢業(yè)論文2.1.1 播放器的基本控制需求播
3、放器的基本控制需求安徽建筑工業(yè)學(xué)院畢業(yè)論文2.1.2 播放清單列表管理需求播放清單列表管理需求 當(dāng)用戶選中列表中某一項(xiàng)歌曲,就有的需求:安徽建筑工業(yè)學(xué)院畢業(yè)論文2.1.3 播放友好性需求播放友好性需求安徽建筑工業(yè)學(xué)院畢業(yè)論文2.1.4 播放器擴(kuò)展卡需求播放器擴(kuò)展卡需求安徽建筑工業(yè)學(xué)院畢業(yè)論文2.1.5 功能需求功能需求(時(shí)序圖時(shí)序圖)分析分析安徽建筑工業(yè)學(xué)院畢業(yè)論文Android數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)3.1 數(shù)據(jù)庫及字段屬性設(shè)計(jì)數(shù)據(jù)庫及字段屬性設(shè)計(jì)表包括Music_List,Music,Music2 主要是保存歌曲名字、路徑n字段說明:Id 歌曲id號 Name 歌曲名字 Path 歌曲路徑安徽
4、建筑工業(yè)學(xué)院畢業(yè)論文3.2 數(shù)據(jù)庫連接數(shù)據(jù)庫連接nAndroid中自帶SQLite數(shù)據(jù)庫,這是一個(gè)十分小型的數(shù)據(jù)庫,這樣正適合Android這種移動(dòng)平臺使用。n Android數(shù)據(jù)庫存儲的位置data/data/databases/目錄下 Android是利用SQLiteOpenHelper數(shù)據(jù)庫幫助類來進(jìn)行對數(shù)據(jù)庫的創(chuàng)建和操作。程序中數(shù)據(jù)庫類為DataBase extends SQLiteOpenHelper(繼承關(guān)系)。安徽建筑工業(yè)學(xué)院畢業(yè)論文3.2.1 創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫npublic class DataBase extends SQLiteOpenHelper n/* 構(gòu)造方法,創(chuàng)
5、建數(shù)據(jù)庫和表 */npublic DataBase(Context context) nsuper(context, DATABASE_NAME, null, VERSION);nnnpublic void onCreate(SQLiteDatabase db) ntry nn catch (Exception e) nnnpublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) nnonCreate(db)nnn安徽建筑工業(yè)學(xué)院畢業(yè)論文3.2.2 操作數(shù)據(jù)庫操作數(shù)據(jù)庫nn Android對數(shù)據(jù)庫的操作主要
6、有插入、刪除、更新、查詢操作,在進(jìn)行任何操作時(shí)都必須指定一個(gè)關(guān)鍵字,才能對相應(yīng)的表進(jìn)行數(shù)據(jù)操作,這里我們指定的是path關(guān)鍵字。安徽建筑工業(yè)學(xué)院畢業(yè)論文3.2.3 數(shù)據(jù)查詢和顯示數(shù)據(jù)查詢和顯示程序是利用Cursor游標(biāo)類指向數(shù)據(jù)表中的某一項(xiàng),然后進(jìn)行查詢數(shù)據(jù),數(shù)據(jù)顯示使用的是專門的數(shù)據(jù)庫適配器SimpleCursorAdapter安徽建筑工業(yè)學(xué)院畢業(yè)論文Android項(xiàng)目項(xiàng)目Music Player介紹介紹Android的四大基本組件:Activity(活動(dòng)),Service(服務(wù)),BroadcastReceiver(廣播),ContentProvider(內(nèi)容提供者),各組件之間要進(jìn)行切換
7、需要一個(gè)意圖或企圖Intent類,通過啟動(dòng)StartIntent()方法來使各組件進(jìn)行Activity的跳轉(zhuǎn),通過啟動(dòng)StartService是()方法來啟動(dòng)服務(wù),通過stopServices()方法來停止服務(wù)。Android的五大布局方式:LinearLayout(線性布局) FrameLayout(幀布局) TableLayout(表格布局) AbsoluteLayout(絕對布局) RelativeLayout(相對布局)五種布局方式可以相互嵌套,Android各種漂亮的界面都是通過嵌套布局而實(shí)現(xiàn)的。Android的線程,以及線程之間通信的中介:Handler類Android數(shù)據(jù)庫:在第
8、三部分已經(jīng)介紹過了。這里不再介紹Android配置文件:AndroidManifest.Xml及res資源文件中各種屬性布局方式 引用的資源等Android系統(tǒng)將插件ADT集成到了Eclipse工具上,因此,一個(gè)Android程序啟動(dòng)后,系統(tǒng)會啟動(dòng)一個(gè)模擬器(Emulator)(圖4.7),該模擬器是一款手機(jī)板的樣式,擁有手機(jī)硬件的基本操作。我們也可以將右邊的鍵盤通過代碼屬性設(shè)置將其隱藏,界面的大小可自由設(shè)定。安徽建筑工業(yè)學(xué)院畢業(yè)論文4.4.2 Android工程程序結(jié)構(gòu)工程程序結(jié)構(gòu)安徽建筑工業(yè)學(xué)院畢業(yè)論文音樂播放器代碼結(jié)構(gòu)音樂播放器代碼結(jié)構(gòu)安徽建筑工業(yè)學(xué)院畢業(yè)論文5.播放器系統(tǒng)功能詳細(xì)設(shè)計(jì)播
9、放器系統(tǒng)功能詳細(xì)設(shè)計(jì)5.1音樂播放器主界面功能實(shí)現(xiàn)音樂播放器主界面功能實(shí)現(xiàn)播放器主界面安徽建筑工業(yè)學(xué)院畢業(yè)論文5.1.2 播放界面音軌的實(shí)現(xiàn)播放界面音軌的實(shí)現(xiàn)npublic void handleMessage(Message msg) nif (mp != null & misplaying) nint curpoint = mp.getCurrentPosition();ntime_time = curpoint;ntotal_time = totalpoint;nseekbar.setProgress(curpoint);nsettotal_time(total_time);ns
10、ettime_time(time_time);nn安徽建筑工業(yè)學(xué)院畢業(yè)論文拖動(dòng)進(jìn)度條可以實(shí)現(xiàn)快進(jìn)和快退拖動(dòng)進(jìn)度條可以實(shí)現(xiàn)快進(jìn)和快退的功能實(shí)現(xiàn)代碼如下:的功能實(shí)現(xiàn)代碼如下:nseekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()/ 拖動(dòng)進(jìn)度條事件響應(yīng)n public void onProgressChanged(SeekBar seekBar, int progress,nnnpublic void onStartTrackingTouch(SeekBar seekBar) nnpublic void onStopTrac
11、kingTouch(SeekBar seekBar) nn);安徽建筑工業(yè)學(xué)院畢業(yè)論文5.1.2 播放器播放、暫停、停播放器播放、暫停、停止等功能止等功能n安徽建筑工業(yè)學(xué)院畢業(yè)論文nandroid的媒體播放原理:android源程序已經(jīng)為我們封裝好了一個(gè)接口類,叫MediaPlayer。該接口在執(zhí)行行需要一個(gè)數(shù)據(jù)源,通過如下四個(gè)步驟:n第一步:MediaPlayer.reset();復(fù)位操作,為以后的媒體準(zhǔn)備播放作準(zhǔn)備。 n第二步:傳入歌曲數(shù)據(jù)源,這里也是一個(gè)數(shù)據(jù)流 MediaPlayer.setDataSource(String path);參數(shù)需要傳一個(gè)路徑,該接口類在收到路徑后將其轉(zhuǎn)化為
12、數(shù)據(jù)源。n第三步:準(zhǔn)備播放數(shù)據(jù)源,調(diào)用方法MediaPlayer.Prepare();n第四步:MediaPlayer.Start();播放數(shù)據(jù)源,該數(shù)據(jù)源播放后,不再與程序 有關(guān),需要用MediaPlayer.Stop()方法讓其停止或MediaPlayer.Start();讓其啟動(dòng);安徽建筑工業(yè)學(xué)院畢業(yè)論文5.1.3設(shè)置播放模式功能設(shè)置播放模式功能界面效果如下圖:界面實(shí)現(xiàn)如下代碼所示:/* * Menu菜單設(shè)置 */public boolean onCreateOptionsMenu(Menu menu) menu.add(0, 0, 1, 關(guān)于);menu.add(0, 1, 1, 退出
13、);menu.add(1, 2, 1, 順序循環(huán));播放模式功能代碼結(jié)構(gòu)實(shí)現(xiàn)如下:(具體見附錄)public void single_play() public void queue_play() 安徽建筑工業(yè)學(xué)院畢業(yè)論文5.2 播放列表功能播放列表功能安徽建筑工業(yè)學(xué)院畢業(yè)論文界面列表事件響應(yīng)如下界面列表事件響應(yīng)如下nprotected void onListItemClick(ListView l, View v, int position, long id) nfinal MyDialog mydialog = new MyDialog(FileListActivity.this, 操作選
14、項(xiàng));nmydialog.show();nmydialog.listView.setOnItemClickListener(new OnItemClickListener() npublic void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) nmydialog.cancel();nn安徽建筑工業(yè)學(xué)院畢業(yè)論文5.3 對話框功能對話框功能安徽建筑工業(yè)學(xué)院畢業(yè)論文具體實(shí)現(xiàn)該對話框的代碼結(jié)構(gòu)如下:具體實(shí)現(xiàn)該對話框的代碼結(jié)構(gòu)如下:npublic class MyDialog extends Dialog nOverride
15、nprotected void onCreate(Bundle savedInstanceState) nmenuList = CreateMenu();nCreateListView(menuList);nnpublic List CreateMenu()npublic void CreateListView(List menuList)安徽建筑工業(yè)學(xué)院畢業(yè)論文5.4 數(shù)據(jù)存儲方式數(shù)據(jù)存儲方式SQLiteDatabase類SQLiteOpenHelper類 安徽建筑工業(yè)學(xué)院畢業(yè)論文5.5Android Servicen本程序使用了Service功能實(shí)現(xiàn)播放,當(dāng)Activity被銷毀后,后臺任然在進(jìn)行音樂的播放,并且點(diǎn)擊暫停后再點(diǎn)擊退出,可以實(shí)現(xiàn)Service的摧毀。安徽建筑工業(yè)學(xué)院畢業(yè)論文代碼結(jié)構(gòu)實(shí)現(xiàn)如下:代碼結(jié)構(gòu)實(shí)現(xiàn)如下:npublic class PlayerService extends Service nOverridenpublic IBinder onBind(Intent inten
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土壤污染生物修復(fù)技術(shù)洞察報(bào)告-洞察分析
- 云端程序監(jiān)控平臺-洞察分析
- 物聯(lián)網(wǎng)數(shù)據(jù)流處理技術(shù)-洞察分析
- 人力資源管理咨詢項(xiàng)目建議書課件
- 《基礎(chǔ)工程復(fù)習(xí)要點(diǎn)》課件
- 《有機(jī)化合物的起始》課件
- 企業(yè)培訓(xùn)中的實(shí)驗(yàn)教學(xué)策略探討
- 初創(chuàng)企業(yè)戰(zhàn)略規(guī)劃的實(shí)踐與思考
- 冰雪運(yùn)動(dòng)與現(xiàn)代科技結(jié)合的創(chuàng)新實(shí)踐
- 辦公環(huán)境下的安全生產(chǎn)標(biāo)準(zhǔn)化培訓(xùn)策略
- 監(jiān)理安全管理工作中有哪些細(xì)節(jié)必須注意
- 西南交大土木工程經(jīng)濟(jì)與項(xiàng)目管理課程設(shè)計(jì)
- 管井降水施工方案
- 創(chuàng)業(yè)基礎(chǔ)期末考試
- 廣東省廣州市白云區(qū)八年級(上)期末數(shù)學(xué)試卷
- 全過程工程咨詢服務(wù)技術(shù)方案
- YY/T 0698.6-2009最終滅菌醫(yī)療器械包裝材料第6部分:用于低溫滅菌過程或輻射滅菌的無菌屏障系統(tǒng)生產(chǎn)用紙要求和試驗(yàn)方法
- GB/T 13384-2008機(jī)電產(chǎn)品包裝通用技術(shù)條件
- 冀人版科學(xué)(2017)六年級上冊期末測試卷及答案
- 消防部隊(duì)干部競爭上崗答辯題1
- 施工現(xiàn)場臨水施工方案完整
評論
0/150
提交評論