




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、洛 阳 理 工 学 院手机软件开发实训报告专 业 计算机应用技术 班 级 z140552 学 号 z14055235 姓 名 杨硕 完成日期 实 训/ 实 验 内 容 与 要 求 一、 实训内容通过实现一个完整的软件,体验软件项目开发的工作流程,加深对相关理论知识的理解,提高实际分析设计能力。二、实验要求根据提供的参考程序,学习其中的设计思路和编程技巧在此基础上进行功能的扩展,完成一个有实用价值的软件。指导教师: 郑卫东 年 月 日指 导 教 师 评 语 成绩: 指导教师:_ 年 月 日洛 阳 理 工 学 院 技 能 训 练 / 实 验 专 用 周 报 告音乐播放器一、需求分析及主要功能描述需
2、求分析:在广大安卓手机用户的前提下,java走android路线也像web路线有很好的前途,个人立志在java领域能熟悉有关java的所有技术,然后择其一发展。此次毕业设计是一个基于android在线音乐播放器,主要用于综合android技术,熟练使用各种组件,以及一个完整android项目所碰到的难题。随着社会迅速的发展,人们有忙不完的工作,如何在忙碌中享受生活,智能手机的普遍使得听音乐成为了一个不错的舒缓选择;在这样的背景下我制做了一款集本地和在线播放,下载和歌词显示以及播放模式于一体的基于android系统的音乐播放器。同时也锻炼了自己的专业技能,对大学三年也有个满意的答卷。主要功能:本
3、地播放即播放音乐、歌曲下载、歌词滚动显示可以帮你学习记歌词、收藏音乐能方便你下次继续听。二、设计 程序开始进入欢迎界面播放界面本地列表界面网络歌曲界面是否选中歌曲?是否点击暂停/播放是否显示全部音乐?状态不变是否下载? 暂停/播放 播放列表是否点击下一首/上一首是否点击播放列表选项?下载并进入下载界面播放下一首/上一首 音乐播放 程序结束三、具体实现 1.播放模式 private Random random=new Random(); Override public void onCompletion(MediaPlayer arg0) switch (play_mode) case ORDE
4、R_PLAY: next();/顺序播放 break; case RANDOM_PLAY: play(random.nextInt(mp3Infos.size();/随机播放 break; case SINGLE_PLAY: play(currentPosition);/单曲循环 default: break; 安在手机上的截图如下: 2.网络歌曲的下载,代码如下:mp3url="protected void downloadMusic(final SearchResult searchResult,final String url,final Handler handler) mT
5、hreadPool.execute(new Runnable() Overridepublic void run() File musicDirFile=new File(Environment.getExternalStorageDirectory()+Contant.DIR_MUSIC);if(!musicDirFile.exists()musicDirFile.mkdirs();String mp3url=url;System.out.println("mp3url:"+mp3url);String target=musicDirFile+"/"+
6、searchResult.getMusicname()+".mp3"File filetarget=new File(target);if(filetarget.exists()handler.obtainMessage(MUSIC_EXISTS).sendToTarget();return;else try URL url=new URL(mp3url);HttpURLConnection connection=(HttpURLConnection)url.openConnection();InputStream inputStream=connection.getInp
7、utStream();FileOutputStream fileOutputStream=new FileOutputStream(filetarget);byte b=new byte1024;int j=0;while(j=inputStream.read(b)!=-1)fileOutputStream.write(b, 0, j);fileOutputStream.flush();fileOutputStream.close();handler.obtainMessage(SUCCESS_MP3,target).sendToTarget(); catch (Exception e) e.
8、printStackTrace();handler.obtainMessage(SUCCESS_MP3).sendToTarget(););下面是效果图:3.歌词滚动,滚动歌词可以帮你记忆歌词。实现代码如下:onDraw(Canvas canvas) super.onDraw(canvas);currentPaint.setColor(Color.YELLOW);notCurrentPaint.setColor(Color.WHITE);currentPaint.setTextSize(TEXT_SIZE); / 设置字体大小currentPaint.setTypeface(Typeface.
9、SERIF); / 设置字体样式notCurrentPaint.setTextSize(textSize);notCurrentPaint.setTypeface(Typeface.DEFAULT);setText("");canvas.drawText(mLrcList.get(index).getLrcStr(), width / 2,height / 2, currentPaint);float tempY = height / 2;/ 画出本句之前句for (int i = index - 1; i >= 0; i-) / 向上推移tempY = tempY
10、- textHeight;canvas.drawText(mLrcList.get(i).getLrcStr(), width / 2, tempY,notCurrentPaint);tempY = height / 2;/ 画出本句之后的句子for (int i = index + 1; i < mLrcList.size(); i+) / 往下推移tempY = tempY + textHeight;canvas.drawText(mLrcList.get(i).getLrcStr(), width / 2, tempY,notCurrentPaint);4.收藏歌曲case R.i
11、d.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(); default:break;效果图如下:4、 实验心得从确定实训所设计的系统名字到最后实现和开发出这个系统:从什么都不会到一个个了解。通过同学的帮助,自己通过网络的查询慢慢的把一个个问题解决,一个个错位找出并纠正。在说长不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论