日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于android音乐播放器的设计与实现

發(fā)布時(shí)間:2024/1/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于android音乐播放器的设计与实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目 錄
第1章 引言 4
1.1 項(xiàng)目背景 4
1.2 編寫(xiě)目的 4
第2章 系統(tǒng)需求分析 5
2.1 功能需求 5
2.1.1 播放器基本控制需求 5
2.1.2 網(wǎng)絡(luò)歌曲需求 6
2.1.2 歌詞顯示需求 7
2.2 界面需求 8
2.3 系統(tǒng)結(jié)構(gòu)圖和流程圖 10
2.4 性能需求 11
2.5運(yùn)行環(huán)境需求 11
第3章 Android項(xiàng)目介紹 12
3.1 什么是Android? 12
3.2 Android工程目錄結(jié)構(gòu) 13
第4章 播放器系統(tǒng)功能詳細(xì)設(shè)計(jì) 15
4.1 播放音樂(lè)與模式 15
4.2 收藏音樂(lè) 17
4.3 音樂(lè)切換時(shí)界面狀態(tài)改變 19
4.4 網(wǎng)絡(luò)歌曲下載 19
4.5 歌詞滾動(dòng)顯示 21
結(jié) 論 22
致 謝 28
附 錄 29
在廣大安卓手機(jī)用戶的前提下,java走android路線也像web路線有很好的前途,個(gè)人立志在java領(lǐng)域能熟悉有關(guān)java的所有技術(shù),然后擇其一發(fā)展。此次畢業(yè)設(shè)計(jì)是一個(gè)基于android在線音樂(lè)播放器,主要用于綜合android技術(shù),熟練使用各種組件,以及一個(gè)完整android項(xiàng)目所碰到的難題。

隨著社會(huì)迅速的發(fā)展,人們有忙不完的工作,如何在忙碌中享受生活,智能手機(jī)的普遍使得聽(tīng)音樂(lè)成為了一個(gè)不錯(cuò)的舒緩選擇;在這樣的背景下我制做了一款集本地和在線播放,下載和歌詞顯示以及播放模式于一體的基于android系統(tǒng)的音樂(lè)播放器。同時(shí)也鍛煉了自己的專(zhuān)業(yè)技能,對(duì)大學(xué)四年也有一個(gè)圓滿的答卷。

1.2 編寫(xiě)目的

作為一個(gè)畢業(yè)設(shè)計(jì),我覺(jué)得應(yīng)該把我們學(xué)過(guò)的專(zhuān)業(yè)知識(shí)總結(jié)出來(lái),應(yīng)用在項(xiàng)目中,我的android音樂(lè)播放器就是java和android這一塊最好的總結(jié),它使用eclipse adt編寫(xiě)java和android代碼及其布局文件實(shí)現(xiàn)界面與數(shù)據(jù)的交互,通過(guò)觀察者設(shè)計(jì)模式制作手機(jī)軟件,不僅達(dá)到了鍛煉自己專(zhuān)業(yè)技術(shù)能力的目的,而且鞏固了大學(xué)課程的知識(shí)。豐富了我們見(jiàn)聞,也為以后找工作打下堅(jiān)實(shí)的基礎(chǔ)。
2.4 性能需求
性能方面我做了如下優(yōu)化:
1、java類(lèi)的歸并,歸并冗長(zhǎng)的重復(fù)的代碼。

2、在對(duì)sqlite數(shù)據(jù)庫(kù)做了查詢優(yōu)化。

3、下次進(jìn)入播放器依舊保存著上次的設(shè)置和播放位置,狀態(tài)量保存完好。

4、采用觀察者設(shè)計(jì)模式,優(yōu)化了代碼結(jié)構(gòu)。
2.5運(yùn)行環(huán)境需求
開(kāi)發(fā)工具:
Android SDK,eclipse adt22
本文轉(zhuǎn)載自http://www.biyezuopin.vip/onews.asp?id=12265
運(yùn)行環(huán)境:
在windows7,jdk1.6和android環(huán)境下使用eclipse編寫(xiě)代碼
在adv4.4和android測(cè)試真機(jī)上調(diào)試運(yùn)行

public class DBhelper extends SQLiteOpenHelper{public DBhelper(Context context, String name, CursorFactory factory,int version) {super(context, "lovemusic.db", null, 5);}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL("create table mymusic(id integer primary key autoincrement,"+"title varchar(20),"+"mp3infoID varchar(20))");} } PlayActivity.java部分代碼case R.id.love_music:if(query(playService.getCurrentPosition())){delete(playService.getCurrentPosition());img_love.setImageResource(R.drawable.nokeep);Toast.makeText(this, "取消收藏",1).show();}else{add(playService.getCurrentPosition(), mp3Infos.get(playService.getCurrentPosition()).getTitle());img_love.setImageResource(R.drawable.keep);Toast.makeText(this, "添加收藏",1).show();}private void add(int mp3id,String mp3name) {SQLiteDatabase db=helper.getWritableDatabase();ContentValues values=new ContentValues();values.put("mp3infoID", mp3id+"");values.put("title", mp3name);db.insert("mymusic", null, values);}private void delete(int mp3id) {SQLiteDatabase db=helper.getWritableDatabase();db.delete("mymusic", "mp3infoID=?", new String[]{mp3id+""});db.close();}private boolean query(int mp3id) {SQLiteDatabase db=helper.getWritableDatabase();Cursor cursor=db.rawQuery("select * from mymusic where mp3infoID=?",new String[]{mp3id+""});boolean result=cursor.moveToNext();cursor.close();db.close();return result;}














總結(jié)

以上是生活随笔為你收集整理的基于android音乐播放器的设计与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。