版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.1項目背景,在研究了各種市場上流行的手機播放器,了解它們各自的插件及編碼方式,還有各種播放器播放的特別格式文件,分析各種編碼的優(yōu)缺點以及各種播放器本身存在的缺陷和特點,編寫出功能實用,使用方便快捷的播放器。目前已經實現的功能有能播放常見音頻文件的功能,如MP3,WAV,等,擁有播放菜單,能選擇播放清單,具備一般播放器的功能,如快進,快退,音量調節(jié)等。播放模式也比較完善,有單曲,順序,循環(huán),隨機播放等模式,1.2編寫目的,現今社會生活緊張,而欣賞音樂是其中最好的舒緩壓力的方式之一,本項目的目的是開發(fā)一個可以播放主流音樂文件格式的播放器,本設計的實現的這主要功能是播放Mp3格式的音樂文件,并且
2、能夠控制播放,暫停,停止,上一曲,下一曲,音量調節(jié),視覺外觀,播放列表和歌曲文件的管理操作等多種播放控制功能,界面簡明,操作簡單。,2.1 功能需求(用例圖分析),2.1 功能需求(用例圖分析) 根據項目的目標,我們可獲得項目系統(tǒng)的基本需求,以下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述,系統(tǒng)的功能需求,我們分成四部分來概括,即 播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器擴展卡需求。以下分別描述:,2.1.1 播放器的基本控制需求,2.1.2 播放清單列表管理需求,當用戶選中列表中某一項歌曲,就有的需求:,2.1.3 播放友好性需求,2.1.4 播放器擴展卡需求,2
3、.1.5 功能需求(時序圖)分析,Android數據庫設計3.1 數據庫及字段屬性設計,表包括Music_List,Music,Music2 主要是保存歌曲名字、路徑 字段說明:Id 歌曲id號 Name 歌曲名字 Path 歌曲路徑,3.2 數據庫連接,Android中自帶SQLite數據庫,這是一個十分小型的數據庫,這樣正適合Android這種移動平臺使用。 Android數據庫存儲的位置data/data/databases/目錄下 Android是利用SQLiteOpenHelper數據庫幫助類來進行對數據庫的創(chuàng)建和操作。程序中數據庫類為DataBase extends SQLiteO
4、penHelper(繼承關系)。,3.2.1 創(chuàng)建數據庫,public class DataBase extends SQLiteOpenHelper /* 構造方法,創(chuàng)建數據庫和表 */ public DataBase(Context context) super(context, DATABASE_NAME, null, VERSION); public void onCreate(SQLiteDatabase db) try catch (Exception e) public void onUpgrade(SQLiteDatabase db, int oldVersion, int n
5、ewVersion) onCreate(db) ,3.2.2 操作數據庫,Android對數據庫的操作主要有插入、刪除、更新、查詢操作,在進行任何操作時都必須指定一個關鍵字,才能對相應的表進行數據操作,這里我們指定的是path關鍵字。,3.2.3 數據查詢和顯示,程序是利用Cursor游標類指向數據表中的某一項,然后進行查詢數據,數據顯示使用的是專門的數據庫適配器SimpleCursorAdapter,Android項目Music Player介紹,Android的四大基本組件:Activity(活動),Service(服務),BroadcastReceiver(廣播),ContentProv
6、ider(內容提供者),各組件之間要進行切換需要一個意圖或企圖Intent類,通過啟動StartIntent()方法來使各組件進行Activity的跳轉,通過啟動StartService是()方法來啟動服務,通過stopServices()方法來停止服務。 Android的五大布局方式:LinearLayout(線性布局) FrameLayout(幀布局) TableLayout(表格布局) AbsoluteLayout(絕對布局) RelativeLayout(相對布局)五種布局方式可以相互嵌套,Android各種漂亮的界面都是通過嵌套布局而實現的。 Android的線程,以及線程之間通信的
7、中介:Handler類 Android數據庫:在第三部分已經介紹過了。這里不再介紹 Android配置文件:AndroidManifest.Xml及res資源文件中各種屬性布局方式 引用的資源等 Android系統(tǒng)將插件ADT集成到了Eclipse工具上,因此,一個Android程序啟動后,系統(tǒng)會啟動一個模擬器(Emulator)(圖4.7),該模擬器是一款手機板的樣式,擁有手機硬件的基本操作。我們也可以將右邊的鍵盤通過代碼屬性設置將其隱藏,界面的大小可自由設定。,4.4.2 Android工程程序結構,音樂播放器代碼結構,5.播放器系統(tǒng)功能詳細設計5.1音樂播放器主界面功能實現,播放器主界面
8、,5.1.2 播放界面音軌的實現,public void handleMessage(Message msg) if (mp != null ,拖動進度條可以實現快進和快退的功能實現代碼如下:,seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()/ 拖動進度條事件響應 public void onProgressChanged(SeekBar seekBar, int progress, public void onStartTrackingTouch(SeekBar seekBar) public void onSt
9、opTrackingTouch(SeekBar seekBar) );,5.1.2 播放器播放、暫停、停止等功能,android的媒體播放原理:android源程序已經為我們封裝好了一個接口類,叫MediaPlayer。該接口在執(zhí)行行需要一個數據源,通過如下四個步驟: 第一步:MediaPlayer.reset();復位操作,為以后的媒體準備播放作準備。 第二步:傳入歌曲數據源,這里也是一個數據流 MediaPlayer.setDataSource(String path);參數需要傳一個路徑,該接口類在收到路徑后將其轉化為數據源。 第三步:準備播放數據源,調用方法MediaPlayer.Pr
10、epare(); 第四步:MediaPlayer.Start();播放數據源,該數據源播放后,不再與程序 有關,需要用MediaPlayer.Stop()方法讓其停止或MediaPlayer.Start();讓其啟動;,5.1.3設置播放模式功能,界面效果如下圖:,界面實現如下代碼所示:,/* * Menu菜單設置 */ public boolean onCreateOptionsMenu(Menu menu) menu.add(0, 0, 1, 關于); menu.add(0, 1, 1, 退出); menu.add(1, 2, 1, 順序循環(huán)); 播放模式功能代碼結構實現如下:(具體見附錄
11、) public void single_play() public void queue_play() ,5.2 播放列表功能,界面列表事件響應如下,protected void onListItemClick(ListView l, View v, int position, long id) final MyDialog mydialog = new MyDialog(FileListActivity.this, 操作選項); mydialog.show(); mydialog.listView.setOnItemClickListener(new OnItemClickListener
12、() public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) mydialog.cancel(); ,5.3 對話框功能,具體實現該對話框的代碼結構如下:,public class MyDialog extends Dialog Override protected void onCreate(Bundle savedInstanceState) menuList = CreateMenu(); CreateListView(menuList); public List CreateMenu() publ
13、ic void CreateListView(List menuList),5.4 數據存儲方式,SQLiteDatabase類,SQLiteOpenHelper類,5.5Android Service,本程序使用了Service功能實現播放,當Activity被銷毀后,后臺任然在進行音樂的播放,并且點擊暫停后再點擊退出,可以實現Service的摧毀。,代碼結構實現如下:,public class PlayerService extends Service Override public IBinder onBind(Intent intent) / TODO Auto-generated method stub
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)服務包制度
- 代理記賬業(yè)務規(guī)范制度
- 耐藥菌感染的臨床CRISPR治療策略
- 河北省金太陽2026屆高三1月聯考歷史試卷(含答案詳解)
- 職業(yè)衛(wèi)生法規(guī)與管理制度
- 藝術生寢室衛(wèi)生管理制度
- 人力資源六大模塊與對應制度
- 二手車經營制度
- 中控室一套制度
- 私募股權基金管理合同協議2025
- 癌癥患者生活質量量表EORTC-QLQ-C30
- QCT55-2023汽車座椅舒適性試驗方法
- 孕產婦妊娠風險評估表
- 消化系統(tǒng)疾病健康教育宣教
- 河南省洛陽市2023-2024學年九年級第一學期期末質量檢測數學試卷(人教版 含答案)
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊
- 新版出口報關單模板
- 14K118 空調通風管道的加固
- 加油站財務管理制度細則
- 全過程工程咨詢服務技術方案
- YS/T 1152-2016粗氫氧化鈷
評論
0/150
提交評論