999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺的音樂播放器設(shè)計與實現(xiàn)

2018-10-19 03:57:10張小琴
軟件 2018年9期
關(guān)鍵詞:界面音樂功能

張小琴,張 庚

?

基于Android平臺的音樂播放器設(shè)計與實現(xiàn)

張小琴,張 庚

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

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

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

0 引言

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

1 Android平臺介紹

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

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

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

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

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

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

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

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

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

圖2 ADT的加載和配置

圖3 SDK的加載和配置

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

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

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

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

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

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

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

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

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

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

(1)存放音樂文件信息

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

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)獲取音樂文件信息

根據(jù)數(shù)據(jù)庫中的各個表里的信息,將信息一一對應(yīng)的提取出來。

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

list.add(music);

}

cursor.close();

return list;

}

4 音樂播放器功能展示

圖4 音樂播放器主界面

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

圖5 我的音樂界面

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

5 結(jié)論

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

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

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

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

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

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

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

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

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

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

[10] 黃宏程, 胡敏, 陳如松. Android移動應(yīng)用設(shè)計與開發(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é)院,講師,研究方向:信號與信息處理;張庚(1994-),男,學(xué)士,南京航空航天大學(xué)金城學(xué)院,本科生,研究方向:信息工程。

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

猜你喜歡
界面音樂功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
國企黨委前置研究的“四個界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
圣誕音樂路
兒童繪本(2017年24期)2018-01-07 15:51:37
關(guān)于非首都功能疏解的幾點思考
人機交互界面發(fā)展趨勢研究
音樂
手機界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
辨證施護在輕度認(rèn)知功能損害中的應(yīng)用
主站蜘蛛池模板: 中字无码av在线电影| 欧美日本在线观看| 亚洲日本www| 香蕉色综合| 老司机精品久久| 国产亚洲精品无码专| 国产在线观看高清不卡| 国产一区二区三区在线观看免费| 色妺妺在线视频喷水| 日本免费一级视频| 在线免费不卡视频| 欧美成人看片一区二区三区| 亚洲va在线观看| 亚洲va欧美va国产综合下载| 夜夜操国产| 嫩草在线视频| 中文字幕2区| 国产91av在线| 97影院午夜在线观看视频| 99无码熟妇丰满人妻啪啪 | 无码专区国产精品第一页| 91精品国产丝袜| 日韩福利在线视频| 久久国语对白| 日韩人妻无码制服丝袜视频| 国产欧美精品一区aⅴ影院| 成人免费视频一区二区三区 | 精品少妇人妻无码久久| 欧美日韩北条麻妃一区二区| 亚洲中文字幕23页在线| 亚洲丝袜第一页| 亚洲天堂视频在线观看免费| 亚洲欧美日韩天堂| 四虎永久免费地址在线网站| 九色在线观看视频| 久久99蜜桃精品久久久久小说| 自慰高潮喷白浆在线观看| 青青久在线视频免费观看| 亚洲三级片在线看| 亚洲精品成人福利在线电影| a色毛片免费视频| 六月婷婷激情综合| 久久久久人妻一区精品| 成人福利在线视频免费观看| 日本欧美视频在线观看| 亚洲aⅴ天堂| 国产黄色片在线看| a在线亚洲男人的天堂试看| 亚洲天堂免费在线视频| 亚洲AⅤ永久无码精品毛片| 波多野结衣一区二区三区四区视频 | 18禁黄无遮挡免费动漫网站| 成人亚洲天堂| 色悠久久综合| 日本午夜精品一本在线观看 | 久久久久国产精品嫩草影院| 亚洲第一网站男人都懂| 日韩 欧美 国产 精品 综合| 91福利一区二区三区| 九色在线视频导航91| 亚洲一区二区三区中文字幕5566| 免费在线色| 狠狠色狠狠色综合久久第一次| 免费国产小视频在线观看| 亚洲精品男人天堂| 欧美精品三级在线| 经典三级久久| 亚洲床戏一区| 在线观看国产小视频| 亚洲 欧美 偷自乱 图片| 精品国产网| 福利在线一区| 国产精品久久久久久搜索| 久久精品视频一| 色首页AV在线| 亚瑟天堂久久一区二区影院| 亚洲国产精品美女| 国产精品无码一区二区桃花视频| 玖玖精品在线| 美女被躁出白浆视频播放| 日本少妇又色又爽又高潮| 一级毛片在线播放免费|