android大作业音乐播放器Word格式.docx
- 文档编号:8508479
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:22
- 大小:556.15KB
android大作业音乐播放器Word格式.docx
《android大作业音乐播放器Word格式.docx》由会员分享,可在线阅读,更多相关《android大作业音乐播放器Word格式.docx(22页珍藏版)》请在冰点文库上搜索。
四、软件实现
(一)、开发环境的搭建与配置
1.
下载JDK
JDK即Java
Development
Kit(Java开发工具包),包括JAVA运行环境,基础类库和JAVA工具,是JAVA运行的基础。
2.
下载Eclipse
Eclipse是开发JAVA程序的软件工具。
3.
下载Android
SDK
SDK即Software
Kit(软件开发工具包)。
Android
SDK
指的是Android专属的软件开发工具包。
4.
下载ADT
ADT,即Android
Tools(Android开发工具),是在eclipse中开发android应用程序的插件。
5.
安装JDK
运行下载好的jdk-7u25-windows-x64.exe,按提示一步步走。
6.
测试是否安装成功
安装完成之后,可以用下述方法检查JDK是否安装成功:
打开cmd窗口,输入java
-version
。
7.
添加环境变量
操作步骤:
计算机->
属性->
高级系统设置->
环境变量->
系统变量->
Path->
编辑
添加JDK的bin目录的路径。
8.
安装Android
以前SDK直接下载完,在Eclipse里配置路径就可以了,现在貌似变成了一个管理器(SDK
Manager),用来管理下载更新,双击之前下载的installer_r22.0.1-windows.exe。
9.
安装SDK
Manager
10.安装Platform
仅仅SDK
Tools是不够的,我们至少还需要一个Android平台和最新的SDK
平台工具。
启动Android
Manager,如下图,勾选Android
Platform-tools和Android
Build-tools,Android
4.2.2文件夹,Extras下的Android
Support
Library。
11.添加环境变量
新建
变量名:
ANDROID_SDK_HOME
添加SDK目录的路径。
12.
安装Eclipse,选择工作空间。
13.
配置ADT
点击Help->
Install
new
Software,然后Add->
Archive->
找到我们下载好的ADT-22.0.1.zip,同时给个名称,如ADT
Plugin
14.
配置SDK
(二)、负责的主要功能和代码
1、欢迎界面
欢迎界面为显示App的logo,点开App图标后出现,1.5秒后自动转入列表界面
publicclassWelcomeActivityextendsActivity//定义WelcomeActivity类
{
@Override
protectedvoidonCreate(BundlesavedInstanceState)//Activity生命周期
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
newHandler().postDelayed(newRunnable(){
publicvoidrun(){
Intentintent=newIntent(WelcomeActivity.this,MusicListActivity.class);
//初始化
startActivity(intent);
WelcomeActivity.this.finish();
}
},1500);
//欢迎界面开始后1.5秒后自动进入列表界面
2、关于界面
关于界面用于显示APP的功能、开发者、版本号等主要信息,主要代码如下:
<
LinearLayout//线性布局xmlns:
android="
android:
orientation="
vertical"
//垂直布局
layout_width="
match_parent"
//设置文本宽度
layout_height="
>
//设置文本高度
LinearLayout
wrap_content"
gravity="
center"
//居中
background="
@drawable/actionbar_background"
TextView
textColor="
#fff"
//设置文本颜色
text="
Welcometouse"
layout_marginTop="
30dp"
/>
//设置文本距离顶部距离
SmartMusic"
textSize="
30sp"
//设置文本大小
layout_marginBottom="
//设置文本距离底部距离
/LinearLayout>
Descriptions"
24sp"
#000"
layout_gravity="
center_horizontal"
layout_margin="
20dp"
@string/description"
10dp"
Members"
单珺瑜、王鑫玉、潘磊"
EmailMe"
panlei106@"
5dp"
autoLink="
email"
版本号:
1.0"
16sp"
#ffba1414"
3、MusicService功能
MusicService用于实现音乐的后台播放功能
publicclassMusicService//定义一个MusicService类
extendsService{
privateMediaPlayermediaPlayer;
privateintposition;
privateList<
MusicInfo>
musicInfoList;
privateMusicInfomusicInfo;
privateintrepeatState;
privateSharedPreferencessharedPreferences;
publicvoidonCreate()//Service的生命周期
{
super.onCreate();
mediaPlayer=newMediaPlayer();
mediaPlayer.setOnCompletionListener(newMusicPlayCompleteListener());
sharedPreferences=getSharedPreferences(AppConstant.APP_DATE,MODE_PRIVATE);
//MusicInfomusicInfo=musicInfoList.get(position);
//playMusic(musicInfo);
//Toast.makeText(this,"
servicestart"
Toast.LENGTH_SHORT).show();
publicIBinderonBind(Intentintent){
returnnull;
publicintonStartCommand(Intentintent,intflags,intstartId)//Service生命周期
repeatState=sharedPreferences.getInt("
repeatState"
AppConstant.allRepeat);
//定义歌曲列表
position=intent.getIntExtra("
position"
0);
//定义位置变量
SharedPreferences.Editoreditor=sharedPreferences.edit();
editor.putInt("
lastPosition"
position);
mit();
Log.i("
repeatState---->
"
repeatState+"
);
musicInfoList=(List)intent.getCharSequenceArrayListExtra("
musicInfoList"
musicInfo=musicInfoList.get(position);
if(musicInfo!
=null){
intMSG=intent.getIntExtra("
MSG"
MSG--->
MSG+"
switch(MSG){
caseAppConstant.MEDIA_PLAY:
playMusic(musicInfo);
//播放音乐
break;
caseAppConstant.MEDIA_PAUSE:
pauseMusic();
//停止音乐
caseAppConstant.MEDIA_NEXT:
//播放下一首音乐
caseAppConstant.MEDIA_SEEKTO:
intprogress=intent.getIntExtra("
progress"
mediaPlayer.seekTo(progress);
continueMusic();
//根据用户要求在进度条中寻找用户要求进度,再进行播放
caseAppConstant.MEDIA_CONTINUE:
//继续播放音乐
posituon--->
position+"
musicInfoList--->
musicInfo.toString());
returnSTART_NOT_STICKY;
publicvoidonDestroy()//Service的生命周期
super.onDestroy();
mediaPlayer.release();
publicvoidplayMusic(MusicInfomusicInfo){
mediaPlayer.reset();
try{
mediaPlayer.setDataSource(musicInfo.getMusicPath());
mediaPlayer.prepare();
mediaPlayer.start();
}catch(Exceptione){
e.printStackTrace();
publicvoidpauseMusic(){
mediaPlayer.pause();
}//从暂停位置停止播放音乐
publicvoidstopMusic(){
mediaPlayer.stop();
}//从暂停的音乐停止播放音乐
publicvoidcontinueMusic(){mediaPlayer.start();
publicclassMusicPlayCompleteListenerimplementsMediaPlayer.OnCompletionListener{
publicvoidonCompletion(MediaPlayermp){
switch(repeatState){
caseAppConstant.allRepeat:
//实现列表循环播放
if(position==musicInfoList.size()-1){
position=0;
}else{
position+=1;
caseAppConstant.randomRepeat:
//实现随机播放
position=(int)((musicInfoList.size()-1)*Math.random());
caseAppConstant.singleRepeat:
//实现单曲循环播放
IntentsendIntent=newIntent(AppConstant.UPDATE_VIEW);
//发送广播
sendIntent.putExtra("
sendBroadcast(sendIntent);
//Log.i("
broadcast---->
"
发送成功"
五、软件测试
将Android手机用USB与电脑相连,打开Eclipse在项目上右键-->
运行方式-->
androidapplication即可以直接运行进行测试。
1、进入界面的测试:
点击App后直接跳转至进入界面,1.5秒后自动跳转至歌单列表界面
2、歌单界面的测试
a、歌单界面用以显示歌曲列表及其歌曲作者,界面下方显示上次播放的歌曲信息。
b、屏幕左上方为菜单,通过滑动屏幕即可展开菜单列表,可以实现与关于界面的转换
3、我的收藏界面
我的收藏界面用于显示用户收藏的歌曲列表
4、播放界面的测试
界面左上角是返回键,点击可以跳转至歌单列表界面;
界面上方用以显示歌曲的名称,作者姓名;
界面中间部分用以显示歌曲的歌词,并随着歌曲进度而滑动,正在演唱的歌词变红;
歌词下方是进度条,两侧显示歌曲已经播放时间和歌曲总长,用户可以随意拉动进度条以调整歌曲进度,当进度条到达最后时,自动跳转至下一首;
界面最下方是功能键,依次为:
上一首、暂停(播放)、下一首和播放形式,点击上一首按钮即可跳转至上一首歌曲界面,点击暂停按钮即可歌曲暂停且暂停按钮变成播放按钮,点击下一首按钮即可跳转至下一首歌曲界面,点击播放形式按钮可依次改变至随机播放、列表循环和单曲循环,按钮也会依次改变。
5、关于界面的测试
关于界面用于显示APP的功能、开发者、版本号等主要信息
六、软件总结
本次实验旨在利用JAVA编程,实现音乐播放器的基本功能。
这次的软件设计题目,是非常贴近我们生活实际内容,这一类的应用软件大大的娱乐和方便了我们的课余生活,但是亲自动手设计一个音乐播放器对我们来说却有一定的难度。
随着我们对于这方面的学习,从最初的需求分析、搜集资料,到中期的代码编写和检测完善,再到后面的软件演示和文档编写,我们真正学到了不少使用的技术。
本次实验我们小组三人明确分工,一人专门攻克核心代码,一人负责任务量较大、难度较轻的次核心代码,一人负责各种UI设计以及较轻松的代码;
同时三人又通力合作,实验初期一起讨论课程的需求分析、共同制定概要设计、制定分工计划,实验中期针对每个人出现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 作业 音乐 播放