实验7 BindService模拟通信

实验报告

课程名称

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

实验日期

   2016/5/2

实验项目名称

实验7 BindService模拟通信

实验地点

S3009

实验类型

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

学  时

2

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

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

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

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

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

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

(1)PC机

(2)操作系统:Windows XP

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

三、实验内容及步骤

1)  详细写出自己所做实验的步骤和内容;

2)  详细记录实验过程中发现的问题以及解决问题的方法;

3)  给出程序运行过程中各个页面的截图;

4)  提交文件包括:实验报告、源代码、可运行的安装程序,所有文件打包压缩;

5)  压缩包命名格式:专业+学号+姓名+实验7.rar

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

代码:

package com.example.newseven;

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.app.Activity;

import android.app.Service;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.CompoundButton;

import android.widget.CompoundButton.OnCheckedChangeListener;

import android.widget.ToggleButton;

public class MainActivity extends Activity {

  

  

   private Button btnstart, btnshang, btnxia,btnexit;

    private ToggleButton tbMute=null;

    private MediaPlayer mediaPlayer=null; //声频

    private AudioManager audioManager=null; //音频

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

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

        btnstart=(Button)findViewById(R.id.btnstart);

        btnshang=(Button)findViewById(R.id.btnshang);

        btnxia=(Button)findViewById(R.id.btnxia);

        btnexit=(Button)findViewById(R.id.exit);

       

        btnstart.setOnClickListener(new OnClickListener() {

         

          @Override

          public void onClick(View arg0) {

              // TODO Auto-generated method stub

              mediaPlayer=MediaPlayer.create(MainActivity.this, R.raw.music);

                mediaPlayer.setLooping(true);//设置循环播放

                mediaPlayer.start();//播放声音   

          }

       });

       

        btnshang.setOnClickListener(new OnClickListener() {

         

          @Override

          public void onClick(View arg0) {

              // TODO Auto-generated method stub

               audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,AudioManager.FLAG_SHOW_UI);    //调高声音

          }

       });

        btnxia.setOnClickListener(new OnClickListener() {

  

          @Override

          public void onClick(View arg0) {

              // TODO Auto-generated method stub

             audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,AudioManager.FLAG_SHOW_UI);//调低声音

          }

        });

       

        tbMute=(ToggleButton)findViewById(R.id.tbMute);

        tbMute.setOnCheckedChangeListener(new OnCheckedChangeListener(){

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                audioManager.setStreamMute(AudioManager.STREAM_MUSIC, !isChecked); //设置是否静音

            }

        });

       

        btnexit.setOnClickListener(new OnClickListener() {

         

          @Override

          public void onClick(View arg0) {

              // TODO Auto-generated method stub

              System.exit(0);

          }

       });

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

   

}

运行结果:(截图)

         

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

    由于之前没有在数独游戏中连续的完成试验步骤,所以很多时候都不会直接在之前那个程序上继续做,所以在完成试验的时候会浪费更多的时间。而且在课堂上听了之后是会的,可是当自己回去做又感觉不知道要怎样做。

原文地址:https://www.cnblogs.com/simei-31/p/5453527.html