1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 基于android音乐播放器的设计与实现

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

时间:2018-12-20 17:51:09

相关推荐

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

目 录

第1章 引言 4

1.1 项目背景 4

1.2 编写目的 4

第2章 系统需求分析 5

2.1 功能需求 5

2.1.1 播放器基本控制需求 5

2.1.2 网络歌曲需求 6

2.1.2 歌词显示需求 7

2.2 界面需求 8

2.3 系统结构图和流程图 10

2.4 性能需求 11

2.5运行环境需求 11

第3章 Android项目介绍 12

3.1 什么是Android? 12

3.2 Android工程目录结构 13

第4章 播放器系统功能详细设计 15

4.1 播放音乐与模式 15

4.2 收藏音乐 17

4.3 音乐切换时界面状态改变 19

4.4 网络歌曲下载 19

4.5 歌词滚动显示 21

结 论 22

致 谢 28

附 录 29

在广大安卓手机用户的前提下,java走android路线也像web路线有很好的前途,个人立志在java领域能熟悉有关java的所有技术,然后择其一发展。此次毕业设计是一个基于android在线音乐播放器,主要用于综合android技术,熟练使用各种组件,以及一个完整android项目所碰到的难题。

随着社会迅速的发展,人们有忙不完的工作,如何在忙碌中享受生活,智能手机的普遍使得听音乐成为了一个不错的舒缓选择;在这样的背景下我制做了一款集本地和在线播放,下载和歌词显示以及播放模式于一体的基于android系统的音乐播放器。同时也锻炼了自己的专业技能,对大学四年也有一个圆满的答卷。

1.2 编写目的

作为一个毕业设计,我觉得应该把我们学过的专业知识总结出来,应用在项目中,我的android音乐播放器就是java和android这一块最好的总结,它使用eclipse adt编写java和android代码及其布局文件实现界面与数据的交互,通过观察者设计模式制作手机软件,不仅达到了锻炼自己专业技术能力的目的,而且巩固了大学课程的知识。丰富了我们见闻,也为以后找工作打下坚实的基础。

2.4 性能需求

性能方面我做了如下优化:

1、java类的归并,归并冗长的重复的代码。

2、在对sqlite数据库做了查询优化。

3、下次进入播放器依旧保存着上次的设置和播放位置,状态量保存完好。

4、采用观察者设计模式,优化了代码结构。

2.5运行环境需求

开发工具:

Android SDK,eclipse adt22

本文转载自http://www.biyezuopin.vip/onews.asp?id=12265

运行环境:

在windows7,jdk1.6和android环境下使用eclipse编写代码

在adv4.4和android测试真机上调试运行

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;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。