版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、a,1,1.1项目背景,在研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善,有单曲,顺序,循环,随机播放等模式,a,2,1.2编写目的,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放Mp3格式
2、的音乐文件,并且能够控制播放,暂停,停止,上一曲,下一曲,音量调节,视觉外观,播放列表和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。,a,3,2.1 功能需求(用例图分析),2.1 功能需求(用例图分析) 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即 播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述:,a,4,2.1.1 播放器的基本控制需求,a,5,2.1.2 播放清单列表管理需求,当用户选中列表中某一项歌曲,就有的需求:,a,6,2.1.3
3、播放友好性需求,a,7,2.1.4 播放器扩展卡需求,a,8,2.1.5 功能需求(时序图)分析,a,9,Android数据库设计 3.1 数据库及字段属性设计,表包括Music_List,Music,Music2 主要是保存歌曲名字、路径 字段说明:Id 歌曲id号 Name 歌曲名字 Path 歌曲路径,a,10,3.2 数据库连接,Android中自带SQLite数据库,这是一个十分小型的数据库,这样正适合Android这种移动平台使用。 Android数据库存储的位置data/data/databases/目录下 Android是利用SQLiteOpenHelper数据库帮助类来进行对
4、数据库的创建和操作。程序中数据库类为DataBase extends SQLiteOpenHelper(继承关系)。,a,11,3.2.1 创建数据库,public class DataBase extends SQLiteOpenHelper /* 构造方法,创建数据库和表 */ public DataBase(Context context) super(context, DATABASE_NAME, null, VERSION); public void onCreate(SQLiteDatabase db) try catch (Exception e) public void onU
5、pgrade(SQLiteDatabase db, int oldVersion, int newVersion) onCreate(db) ,a,12,3.2.2 操作数据库,Android对数据库的操作主要有插入、删除、更新、查询操作,在进行任何操作时都必须指定一个关键字,才能对相应的表进行数据操作,这里我们指定的是path关键字。,a,13,3.2.3 数据查询和显示,程序是利用Cursor游标类指向数据表中的某一项,然后进行查询数据,数据显示使用的是专门的数据库适配器SimpleCursorAdapter,a,14,Android项目Music Player介绍,Android的四大基
6、本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartIntent()方法来使各组件进行Activity的跳转,通过启动StartService是()方法来启动服务,通过stopServices()方法来停止服务。 Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局
7、)五种布局方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而实现的。 Android的线程,以及线程之间通信的中介:Handler类 Android数据库:在第三部分已经介绍过了。这里不再介绍 Android配置文件:AndroidManifest.Xml及res资源文件中各种属性布局方式 引用的资源等 Android系统将插件ADT集成到了Eclipse工具上,因此,一个Android程序启动后,系统会启动一个模拟器(Emulator)(图4.7),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。我们也可以将右边的键盘通过代码属性设置将其隐藏,界面的大小可自由设定。,a,1
8、5,4.4.2 Android工程程序结构,a,16,音乐播放器代码结构,a,17,5.播放器系统功能详细设计 5.1音乐播放器主界面功能实现,播放器主界面,a,18,5.1.2 播放界面音轨的实现,public void handleMessage(Message msg) if (mp != null ,a,19,拖动进度条可以实现快进和快退的功能实现代码如下:,seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()/ 拖动进度条事件响应 public void onProgressChanged(SeekBar s
9、eekBar, int progress, public void onStartTrackingTouch(SeekBar seekBar) public void onStopTrackingTouch(SeekBar seekBar) );,a,20,5.1.2 播放器播放、暂停、停止等功能,a,21,android的媒体播放原理:android源程序已经为我们封装好了一个接口类,叫MediaPlayer。该接口在执行行需要一个数据源,通过如下四个步骤: 第一步:MediaPlayer.reset();复位操作,为以后的媒体准备播放作准备。 第二步:传入歌曲数据源,这里也是一个数据流 M
10、ediaPlayer.setDataSource(String path);参数需要传一个路径,该接口类在收到路径后将其转化为数据源。 第三步:准备播放数据源,调用方法MediaPlayer.Prepare(); 第四步:MediaPlayer.Start();播放数据源,该数据源播放后,不再与程序 有关,需要用MediaPlayer.Stop()方法让其停止或MediaPlayer.Start();让其启动;,a,22,5.1.3设置播放模式功能,界面效果如下图:,界面实现如下代码所示:,/* * Menu菜单设置 */ public boolean onCreateOptionsMenu(
11、Menu menu) menu.add(0, 0, 1, 关于); menu.add(0, 1, 1, 退出); menu.add(1, 2, 1, 顺序循环); 播放模式功能代码结构实现如下:(具体见附录) public void single_play() public void queue_play() ,a,23,5.2 播放列表功能,a,24,界面列表事件响应如下,protected void onListItemClick(ListView l, View v, int position, long id) final MyDialog mydialog = new MyDialo
12、g(FileListActivity.this, 操作选项); mydialog.show(); mydialog.listView.setOnItemClickListener(new OnItemClickListener() public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) mydialog.cancel(); ,a,25,5.3 对话框功能,a,26,具体实现该对话框的代码结构如下:,public class MyDialog extends Dialog Override protecte
13、d void onCreate(Bundle savedInstanceState) menuList = CreateMenu(); CreateListView(menuList); public List CreateMenu() public void CreateListView(List menuList),a,27,5.4 数据存储方式,SQLiteDatabase类,SQLiteOpenHelper类,a,28,5.5Android Service,本程序使用了Service功能实现播放,当Activity被销毁后,后台任然在进行音乐的播放,并且点击暂停后再点击退出,可以实现Service的摧毁。,a,29,代码结构实现如下:,public class PlayerService extends Service Override public IBinder onBind(Intent intent) / TODO Auto-generated meth
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 复杂系统建模与预测
- 八华技术推动教育行业的智慧转型
- 元宇宙应用场景探索
- 云计算在业务外包中的影响
- 2023年高考作文全国甲乙、新高考ⅠⅡ卷全解析含例文
- 全科医学(医学高级):皮肤病及性传播疾病题库(强化练习)
- 牛人自制真空夹具非常好用
- 2024年工业定制电源项目立项申请报告范稿
- 房产过户协议书房产继承合同
- 重组托管协议书
- 小组带领技巧
- 新版智能穿戴设备市场分析报告
- 《生产安全事故罚款处罚规定》 应急管理部14号令解读
- 2024年全国高考体育单招考试语文试卷试题(含答案详解)
- 宫颈癌大出血护理查房课件
- 医院设立帐外帐和“小金库”管理制度
- 如何设计一周营养午餐-小学项目化学习作业实践与思考案例方案
- 康复治疗信息管理系统需求说明
- 家具维保服务投标方案
- 彩色沥青混凝土路面应用技术规程
- 食品安全自查、从业人员健康管理、进货查验记录、食品安全事故处置等保证食品安全的规章制度
评论
0/150
提交评论