实验7 BindService 模拟通信


课程名称


基于Android平台移动互联网开发


实验日期


2016-5-2


实验项目名称


BindService模拟通信


实验地点


S3010


实验类型


□验证型    √设计型    □综合型


学  时


一、实验目的及要求(本实验所涉及并要求掌握的知识点)


1)   实现从启动端传递一个数据至BindService端;

2)   实现使用BindService服务播放项目源文件中的音乐;

3)   实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小。

4)   实现在启动端通过“暂停”按钮控制音频暂停播放。


二、实验环境(本实验所使用的硬件设备和相关软件)


(1)PC机

(2)操作系统:Windows XP

(3)软件: Eclipse, JDK1.6,Android SDK,ADT


三、实验内容及步骤


1.导入工程

2.为布局文件mediaplayer 添加一个SeekBar控件。

3.完善activity类。


四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)


代码:

一、

1、启动BindService

Intent intent=new Intent(MainActivity.this,MyService.class);

bindService(intent, connection, Service.BIND_AUTO_CREATE);

2、获取传递音量值,控制音量

//获取音量值

private MyBinder binder=new MyBinder();

public class MyBinder extends Binder{

public int getVolume(){

return AM.getStreamVolume(AM.STREAM_MUSIC);

}

}

@Override

public IBinder onBind(Intent arg0) {

// TODO Auto-generated method stub

return binder;

}

@Override

public void onCreate() {

super.onCreate();

AM=(AudioManager)getSystemService(Context.AUDIO_SERVICE);

//获取当前系统音量值和最大音量值

audioManager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);

maxVL=audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);       sBar.setMax(maxVL);

//设置监听事件

sBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

@Override

public void onStopTrackingTouch(SeekBar arg0) {

// TODO Auto-generated method stub

}

@Override

public void onStartTrackingTouch(SeekBar arg0) {

// TODO Auto-generated method stub

}

@Override

public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {

// TODO Auto-generated method stub

currentVL=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

sBar.setProgress(currentVL);

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,arg1, 0);

}

});

3、暂停播放音乐

pauseBtn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

//stopService(intent);

//mediaPlayer.stop();

currentVL=0;

sBar.setProgress(0);

Toast.makeText(TMediaplayer.this, "停止播放", Toast.LENGTH_SHORT).show();

}

});

4、退出

exitBtn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

stopService(intent);

intent.setClass(TMediaplayer.this,LoginActivity.class);

startActivity(intent);

}

});

运行结果:(截图)

一、


五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)


通过这次实验,基本了解了BindService的运用,可以实现通过SeekBar控件来控制音量,并且可以暂停音乐播放以及退出当前界面。但是第一次点击暂停播放音乐,可以使音量值保持当前音量值,第二次点击停止播放音乐,音量值会置为0,需要拖动滑块才能继续播放音乐。代码还需进一步的改善。


实验评语


 


实验成绩


 


指导教师签名:              年   月   日

时间: 2024-12-21 23:24:20

实验7 BindService 模拟通信的相关文章

【安卓】实验7 BindService模拟通信

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016.4.30 实验项目名称 实验7 BindService模拟通信 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 2学时 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 目的:实现启动端和BindService之间的双向通信 要求:1.实现从启动端传递一个数据至BindService端: 2.实现使用BindService服务播放项目源文件中的音乐: 3.实现在启动端通过“增加

【Android】实验7 BindService模拟通信 截止提交日期2016.5.3

实验7 BindService模拟通信 [目的] 实现启动端和BindService之间的双向通信 [要求] 1)   实现从启动端传递一个数据至BindService端: 2)   实现使用BindService服务播放项目源文件中的音乐: 3)   实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小. 4)   实现在启动端通过“暂停”按钮控制音频暂停播放. [原理] 参考教案,理解BindService和启动端的通信原理 AudioManager的理解 AudioManager类位

实验七 BindService模拟通信

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016年4月22日 实验项目名称 BindService模拟通信 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 2 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 1. 实现启动端和BindService之间的双向通信: 2. 实现从启动端传递一个数据至BindService端: 3. 实现使用BindService服务播放项目源文件中的音乐: 4. 实现在启动端通过“增加”和“降

实验7 BindService模拟通信

[目的] 实现启动端和BindService之间的双向通信 [要求] 1) 实现从启动端传递一个数据至BindService端: 2) 实现使用BindService服务播放项目源文件中的音乐: 3) 实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小. 4) 实现在启动端通过“暂停”按钮控制音频暂停播放. [实验环境] 1)PC机 2)操作系统:Windows XP 3)软件: Eclipse, JDK1.6,Android SDK,ADT [实验内容及步骤] 1)设计好音乐设置的xm

实验7

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016年4月22日 实验项目名称 BindService模拟通信 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 2 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 1.目的:实现启动端和BindService之间的双向通信 2.要求:实现从启动端传递一个数据至BindService端: 实现使用BindService服务播放项目源文件中的音乐: 实现在启动端通过“增加”和“降低”两

实验7 201306114104彭得源

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 16/03/25 实验项目名称 实验7 实验地点 S3010 实验类型 □验证型    √设计型    □综合型 学  时 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 实现启动端和BindService之间的双向通信 1)   实现从启动端传递一个数据至BindService端: 2)   实现使用BindService服务播放项目源文件中的音乐: 3)   实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小.

CCNP路由实验之十七 广域网技术之一

?? CCNP路由实验之十七广域网技术之一 广域网(WAN,Wide Area Network)也称远程网(long haul network ).通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络.广域网的通信子网可以利用公用分组交换网.卫星通信网和无线分组交换网,将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的.如因特网(Internet)是世界范围内最大的广域网.广域网WAN一般最多只包含O

20182311 2019-2020-1 《数据结构与面向对象程序设计》实验五报告

20182311 2019-2020-1 <数据结构与面向对象程序设计>实验五报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 冷冲 学号:20182311 实验教师:王志强 实验日期:2019年10月16日 必修/选修: 必修 1.实验内容 1.Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblogs.c

如何使用GNS3和Cisco IOU搭建路由交换实验-IOU篇

前面介绍了GNS3的概念,安装,配置和使用,本篇将介绍怎么利用GNS3配置IOU从而实现使用GNS3和Cisco IOU搭建路由交换实验. 由于本篇篇幅较长,所以先过一下大纲: 1. IOU模拟环境介绍 2. IOU软件环境的准备 3. VMware虚拟机的安装.导入和配置 4. IOU镜像的上传 5. GNS3的配置 6. IOU模拟环境的实现 IOU模拟环境介绍 IOU即IOS running in Unix,最初是由思科内部人员开发来测试IOS的平台,后来流传到互联网经网友改进有了后来的W