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

?

基于Android平臺(tái)的音樂(lè)播放器設(shè)計(jì)與實(shí)現(xiàn)

2018-10-19 03:57張小琴
軟件 2018年9期
關(guān)鍵詞:播放器列表界面

張小琴,張 庚

?

基于Android平臺(tái)的音樂(lè)播放器設(shè)計(jì)與實(shí)現(xiàn)

張小琴,張 庚

(南京航空航天大學(xué)金城學(xué)院 信息工程學(xué)院,江蘇 南京 210000)

音樂(lè)是在高壓力的環(huán)境下進(jìn)行放松的有效途徑,隨著Android終端設(shè)備的普及,使用Android平臺(tái)播放音樂(lè)也是大部分人群的選擇。文中詳細(xì)講述了一個(gè)Android應(yīng)用程序開(kāi)發(fā)平臺(tái)的構(gòu)建過(guò)程,并在此平臺(tái)上開(kāi)發(fā)了一款功能全面的音樂(lè)播放器。所設(shè)計(jì)的播放器可以搜索終端存儲(chǔ)的音樂(lè)文件,按照關(guān)鍵詞對(duì)音樂(lè)文件分類(lèi)展示;該播放器可以按照需求對(duì)音樂(lè)文件進(jìn)行播放、暫停、設(shè)置等功能操作。

Android;音樂(lè)播放器;模塊設(shè)計(jì)

0 引言

隨著社會(huì)的進(jìn)步與發(fā)展,人們開(kāi)始不止?jié)M足于物質(zhì)生活,而更加注重于精神生活。在如今的高壓力的生活、學(xué)習(xí)、工作中,音樂(lè)是放松精神,增加生活趣味的不二選擇[1]。隨著Android終端設(shè)備的普及,越來(lái)越多的人們開(kāi)始使用Android平臺(tái)播放音樂(lè)等[2]。本文設(shè)計(jì)了一款基于Android平臺(tái)的音樂(lè)播放器,該播放器具有很強(qiáng)的實(shí)用性,其主要功能是搜索終端設(shè)備里所存儲(chǔ)的音樂(lè)文件信息,并具有對(duì)音樂(lè)進(jìn)行分類(lèi)展示、播放、暫停、上下首切換以及添加喜歡的音樂(lè)等功能。

1 Android平臺(tái)介紹

Android是由Google公司推出的一種以Linux為基礎(chǔ)的開(kāi)放源碼的操作系統(tǒng),主要適用于移動(dòng)設(shè)備中,例如手機(jī)、平板電腦等終端設(shè)備。對(duì)于Android系統(tǒng)來(lái)說(shuō),最大的特點(diǎn)就是其開(kāi)放的源碼[3,4,5]。這一點(diǎn)使得更多的軟件供應(yīng)商和開(kāi)發(fā)商能分享共同利益,同時(shí)它和互聯(lián)網(wǎng)緊密相聯(lián),這使得開(kāi)發(fā)人員移植互聯(lián)網(wǎng)應(yīng)用變得更加容易。

Android系統(tǒng)架構(gòu)分為四層,包括:Linux核心層、系統(tǒng)運(yùn)行庫(kù)層、應(yīng)用程序架構(gòu)層、應(yīng)用程序 層[3-5]。Linux核心層實(shí)現(xiàn)安全性、內(nèi)存管理、進(jìn)程管理和驅(qū)動(dòng)模型等功能;系統(tǒng)運(yùn)行庫(kù)層提供各種程序庫(kù)給Android系統(tǒng)中不同的組件使用;應(yīng)用程序架構(gòu)層主要提供API接口供上層調(diào)用;應(yīng)用程序?qū)邮敲鎸?duì)用戶(hù)的,提供各種應(yīng)用程序,如Email客戶(hù)端、日歷等。

開(kāi)源的代碼、完整的架構(gòu),使得Android系統(tǒng)得到了飛速的發(fā)展和應(yīng)用。

2 音樂(lè)播放器架構(gòu)設(shè)計(jì)

本次設(shè)計(jì)的基于Android平臺(tái)的音樂(lè)播放器,主要功能是由一個(gè)開(kāi)始等待的Loading界面轉(zhuǎn)跳到音樂(lè)播放器的主界面,在主界面實(shí)現(xiàn)歌曲的播放、暫停、設(shè)置等功能;主界面有“我的音樂(lè)”、“我的最?lèi)?ài)”、“文件夾”、“歌手”、“專(zhuān)輯”等模塊按鈕[2,6]。點(diǎn)擊對(duì)應(yīng)的模塊按鈕可以跳轉(zhuǎn)到各自的子模塊板塊。具體架構(gòu)如圖1所示。

圖1 音樂(lè)播放器架構(gòu)

3 音樂(lè)播放器詳細(xì)設(shè)計(jì)

3.1 開(kāi)發(fā)環(huán)境安裝和配置

本次設(shè)計(jì)使用Eclipse作為Java集成開(kāi)發(fā)環(huán)境,并在原本Java的程序開(kāi)發(fā)環(huán)境中裝載ADT(Android Development Tools)以及SDK(Software Development Kit)來(lái)使它達(dá)到可以進(jìn)行Android平臺(tái)應(yīng)用程序開(kāi)發(fā)的環(huán)境配置[7-10]。ADT和SDK的加載配置如圖2、圖3所示。

圖2 ADT的加載和配置

圖3 SDK的加載和配置

3.2 音樂(lè)播放器功能模塊設(shè)計(jì)

音樂(lè)播放器的設(shè)計(jì)步驟為,從等待界面進(jìn)入所連接的主界面,再由主界面上的各個(gè)按鈕進(jìn)入每一子模塊分別進(jìn)行功能設(shè)計(jì),模塊有:

(1)專(zhuān)輯模塊:此功能主要是檢索本地歌曲并把歌曲的專(zhuān)輯信息給提取出來(lái),轉(zhuǎn)換成列表的形式展示出來(lái),點(diǎn)擊每一個(gè)專(zhuān)輯,即可進(jìn)入該專(zhuān)輯的歌曲列表,點(diǎn)擊對(duì)應(yīng)歌曲可以進(jìn)行播放、暫停等。

(2)歌手模塊:此功能可以將本地歌曲里的所有歌曲的歌手作為列表顯示出來(lái),點(diǎn)擊歌手名就能進(jìn)入此歌手所唱的歌曲列表,點(diǎn)擊對(duì)應(yīng)歌曲可以進(jìn)行播放、暫停等。

(3)文件夾模塊:此功能可以選擇本地存放歌曲的文件夾,點(diǎn)擊進(jìn)入某文件夾可以顯示該文件夾中所有歌曲列表,點(diǎn)擊對(duì)應(yīng)歌曲可以進(jìn)行播放、暫停等。

(4)我的音樂(lè)模塊:該模塊包括了本地歌曲的列表、搜索歌曲、播放設(shè)置、添加喜歡等功能,如果添加了喜歡,則歌曲對(duì)應(yīng)圖標(biāo)進(jìn)行改變,并將歌曲添加到我的最?lèi)?ài)列表里。

(5)我的最?lèi)?ài)模塊:在我的音樂(lè)模塊中可以選擇歌曲為我的最?lèi)?ài),并進(jìn)行特殊標(biāo)志同時(shí)展示到該模塊中,同時(shí)在該模塊中可以看到所有我的最?lèi)?ài)列表,也可以取消某首歌曲我的最?lèi)?ài)標(biāo)志并從列表中清除。

(6)底部設(shè)置模塊等:該模塊具有播放、暫停、歌曲設(shè)置等功能,且固定在播放器界面底部,其他模塊切換時(shí)該部分位置、功能保持不變。

3.3 關(guān)鍵程序設(shè)計(jì)

由于程序設(shè)計(jì)篇幅較長(zhǎng),選取其中關(guān)鍵部分進(jìn)行介紹。音樂(lè)播放器首先要搜索本地存儲(chǔ)器中所有音樂(lè)文件,將音樂(lè)文件信息按照專(zhuān)輯、歌手、文件夾等關(guān)鍵詞進(jìn)行提取并展示到各個(gè)對(duì)應(yīng)子模塊的列表中。

(1)存放音樂(lè)文件信息

將獲取到的音樂(lè)文件信息逐個(gè)輸入到數(shù)據(jù)庫(kù)里,并進(jìn)行數(shù)據(jù)庫(kù)的插入語(yǔ)句操作。

public void saveMusicInfo(List list) {

SQLiteDatabase db = DatabaseHelper.(mContext);

for (MusicInfo music : list) {

ContentValues cv = new ContentValues();

cv.put("songid", music.songId);

cv.put("albumid", music.albumId);

cv.put("duration", music.duration);

cv.put("musicname", music.music-Name);

cv.put("artist", music.artist);

cv.put("data",music.data);

cv.put("folder", music.folder);

cv.put("musicnamekey", music.mu-sicNameKey);

cv.put("artistkey", music.artistKey);

cv.put("favorite", music.favorite);

db.insert(, null, cv);

}

}

(2)獲取音樂(lè)文件信息

根據(jù)數(shù)據(jù)庫(kù)中的各個(gè)表里的信息,將信息一一對(duì)應(yīng)的提取出來(lái)。

private List parseCursor(Cursor cursor) {

List list = new ArrayList();

while(cursor.moveToNext()) {

MusicInfo music = new MusicInfo();

music._id = cursor.getInt(cursor. getColumnIndex("_id"));

music.songId = cursor.getInt(cursor. getColumnIndex("songid"));

music.albumId = cursor.getInt(cursor. getColumnIndex("albumid"));

music.duration = cursor.getInt(cursor. getColumnIndex("duration"));

music.musicName = cursor.getString (cursor.getColumnIndex("musicname"));

music.artist = cursor.getString(cursor. getColumnIndex("artist"));

music.data = cursor.getString(cursor. getColumnIndex("data"));

music.folder = cursor.getString(cursor. getColumnIndex("folder"));

music.musicNameKey = cursor. getString(cursor.getColumnIndex("musicnamekey"));

music.artistKey = cursor.getString (cursor.getColumnIndex("artistkey"));

music.favorite = cursor.getInt(cursor. getColumnIndex("favorite"));

產(chǎn)后出血是在分娩胎兒后的24小時(shí)內(nèi)陰道出血超過(guò)500ml情況,產(chǎn)后宮縮乏力患者子宮無(wú)法正常的收縮,胎盤(pán)附著面血竇無(wú)法正常關(guān)閉,導(dǎo)致了產(chǎn)后出血,是比較嚴(yán)重的產(chǎn)科并發(fā)癥,也是產(chǎn)婦死亡的主要因素。臨床中使用科學(xué)的產(chǎn)后處理能夠止血,如果不及時(shí)處理則會(huì)引起后遺癥,導(dǎo)致患者的死亡。產(chǎn)后出血中的宮縮乏力是比較多見(jiàn)的類(lèi)型,患者失血速度快,失血量大,產(chǎn)后出血對(duì)產(chǎn)婦的危害性非常大。

list.add(music);

}

cursor.close();

return list;

}

4 音樂(lè)播放器功能展示

圖4 音樂(lè)播放器主界面

由主界面點(diǎn)擊按鈕進(jìn)入“我的音樂(lè)”功能,該模塊包括了本地歌曲的列表、搜索歌曲、播放設(shè)置、添加喜歡等功能。如果添加了喜歡,則歌曲左側(cè)的愛(ài)心會(huì)變成紅色,并添加到我的最?lèi)?ài)列表里。我的音樂(lè)界面如圖5所示。點(diǎn)擊列表中的對(duì)應(yīng)歌曲可以進(jìn)行播放,在界面底部有播放、暫停、設(shè)置等按鈕,可以通過(guò)點(diǎn)擊按鈕對(duì)當(dāng)前歌曲進(jìn)行相應(yīng)的操作。

圖5 我的音樂(lè)界面

其它功能由于篇幅原因不再一一展示。

5 結(jié)論

本次基于Android平臺(tái)的音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn),主要工作就是建立Android應(yīng)用程序開(kāi)發(fā)平臺(tái)、音樂(lè)播放器功能模塊劃分、界面的設(shè)計(jì)以及歌曲的存儲(chǔ)、讀取、播放等功能設(shè)計(jì);并通過(guò)按鈕進(jìn)入功能子模塊,將子模塊所需要的數(shù)據(jù)調(diào)用出來(lái)形成列表展示。此音樂(lè)播放器功能齊全、簡(jiǎn)單實(shí)用、能夠滿足日常需求,且在后續(xù)使用中可以進(jìn)一步進(jìn)行功能的擴(kuò)展。

[1] 呂尚偉. 隨身聽(tīng)與隨身看[J]. 數(shù)碼影像時(shí)代, 2012, (12): 2.

[2] 張小雨. 基于Android平臺(tái)音頻播放器的設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安: 西安電子科技大學(xué), 2015.

[3] 蓋索林編. Google Android開(kāi)發(fā)入門(mén)指南(第2版)[M]. 北京: 人民郵電出版社, 2009: 2-6.

[4] 李佐彬. Android開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)體驗(yàn)[M]. 北京: 機(jī)械工業(yè)出版社, 2011: 5-45.

[5] 李剛. 瘋狂Android講義(第3版)[M]. 北京: 電子工業(yè)出版社, 2017: 1-29.

[6] 馮建元. 音頻播放器的架構(gòu)分析與關(guān)鍵技術(shù)的實(shí)現(xiàn)[J]. 計(jì)算機(jī)與網(wǎng)絡(luò), 2009, (20): 53-56.

[7] 何孟翰. Google Android SDK開(kāi)發(fā)實(shí)戰(zhàn)演練(第2版)[M]. 北京: 人民郵電出版社, 2016: 7-16.

[8] 薛顯亮. 解析Google Android SDK——智能手機(jī)開(kāi)發(fā)范例手冊(cè)[M]. 北京: 中國(guó)鐵道出版社, 2012: 2-15.

[9] 佘志龍等.Google Android SDK開(kāi)發(fā)范例大全(第3版)[M]. 北京: 人民郵電出版社, 2011: 1-19.

[10] 黃宏程, 胡敏, 陳如松. Android移動(dòng)應(yīng)用設(shè)計(jì)與開(kāi)發(fā)[M]. 北京: 人民郵電出版社, 2012: 1-9.

The Design and Implementation of Music Player Based on Android

ZHANG Xiao-qin, ZHANG Geng

(Nanjing University of Aeronautics and Astronautics Jincheng College College of Information Engineering, Nanjing Jiangsu 210000)

Listening to music is an effective way to relax in the high pressure environment. With the popularity of Android terminal device, playing music on the Android platform is a choice for most people. In this paper, one Android application development platform was built, and a full-featured music player was developed on this platform. This music player can search all the music files stored by the terminal device and classify them according to the key words. Music can be played, paused, and set up according to the requirements by this music player.

Android; Music Player; Modular design

TP311.52

A

10.3969/j.issn.1003-6970.2018.09.023

張小琴(1984-),女,碩士,南京航空航天大學(xué)金城學(xué)院,講師,研究方向:信號(hào)與信息處理;張庚(1994-),男,學(xué)士,南京航空航天大學(xué)金城學(xué)院,本科生,研究方向:信息工程。

本文著錄格式:張小琴,張庚. 基于Android平臺(tái)的音樂(lè)播放器設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件,2018,39(9):113-116

猜你喜歡
播放器列表界面
學(xué)習(xí)運(yùn)用列表法
國(guó)企黨委前置研究的“四個(gè)界面”
Walkman誕生40周年 索尼適時(shí)發(fā)布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器設(shè)計(jì)
Moon ACE播放器/放大器一體機(jī)
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
人機(jī)交互界面發(fā)展趨勢(shì)研究
播放器背板注塑模具設(shè)計(jì)
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
不含3-圈的1-平面圖的列表邊染色與列表全染色
阿坝县| 华蓥市| 壶关县| 龙川县| 馆陶县| 鄂尔多斯市| 澄江县| 新兴县| 西乡县| 浦北县| 百色市| 利津县| 嘉峪关市| 叶城县| 保康县| 辽源市| 新竹县| 城口县| 沙雅县| 遂溪县| 阳泉市| 莆田市| 临颍县| 攀枝花市| 岚皋县| 探索| 外汇| 开江县| 贵定县| 孝感市| 永春县| 钟祥市| 鄂州市| 吉安县| 富裕县| 鄂伦春自治旗| 孟村| 宝山区| 荣昌县| 彩票| 牡丹江市|