目标效果:

第五个帮助页面改为设置页面,添加switch控件,播放背景音乐。

1.创建SetActivity.java页面和activity_set.xml页面,activity_set.xml页面放置一个switch控件。

activity_set.xml页面:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/bg_animal"tools:context=".SetActivity" ><Switchandroid:id="@+id/switchMusic"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:layout_marginRight="60dp"android:layout_marginTop="60dp"android:text="背景音乐"android:textOff="关"android:textOn="开" /></RelativeLayout>
2.创建AndioService.java页面,作为服务页面。
AndioService.java页面:

package com.example.musicservice;import cn.edu.bztc.happyidion.activity.R;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.IBinder;public class AndioService extends Service{//重写onCreate(),onStartCommand(),onDestroy()方法。private MediaPlayer mediaPlayer;@Overridepublic IBinder onBind(Intent arg0) {return null;}//服务第一次创建时调用@Overridepublic void onCreate() {super.onCreate();mediaPlayer=MediaPlayer.create(this,R.raw.mountainwater);mediaPlayer.setLooping(true);//是否循环播放mediaPlayer.setOnCompletionListener(new OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer arg0) {stopSelf();}});}//每次服务启动时调用@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {if (!mediaPlayer.isPlaying()) {new Thread(){    //子线程@Overridepublic void run() {super.run();mediaPlayer.start();}}.start();}return super.onStartCommand(intent, flags, startId);}//服务销毁时调用,回收不再是用的资源@Overridepublic void onDestroy() {super.onDestroy();if(mediaPlayer.isPlaying()){mediaPlayer.stop();}mediaPlayer.release();      }
}
3.SetActivity.java页面判断switch控件状态进行调用service。
SetActivity.java页面:
package cn.edu.bztc.happyidion.activity;
import com.example.musicservice.AndioService;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Switch;public class SetActivity extends Activity {private Switch switchMusic;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_set);switchMusic=(Switch) findViewById(R.id.switchMusic);switchMusic.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton compoundButton, boolean checked) {if(checked){//开始服务startService(new Intent(SetActivity.this,AndioService.class));}else{//停止服务stopService(new Intent(SetActivity.this,AndioService.class));}}});}
}
4.服务必须在AndroidManifest.xml页面进行注册。
</application>标签内:
<service android:name="com.example.musicservice.AndioService"></service>
5.源码分享: 点击打开链接
6.运行就会有目标效果了。

Android小程序-乐学成语背景音乐(五)相关推荐

  1. Android小程序-乐学成语游戏(四)

    目标效果:      游戏页面有几个小游戏,因为时间原因只做了第一个猜成语,是用的选择题方式,十道题以内答对六题算闯关成功. 1.新建GameActivity.java页面和activity_game ...

  2. Android 小程序APP成语字典课程设计

     内容及要求: 1.设计一个成语字典APP,要求此APP能够在手机上准确的看到成语的释义,并且能正确跳转. 2.设计主要的显示页面布局. 3.实现成语字典中添加成语的功能,删除成语的功能. 4.在 ...

  3. android简单小程序学成语,分享3个成语游戏小程序,让你学习游戏两不误

    原标题:分享3个成语游戏小程序,让你学习游戏两不误 1.杜甫教成语 杜甫教成语,一个轻松简单的学成语小程序,是一个猜字型的小程序,是一个考验我们的成语词库深度的小程序.杜甫教成语其实是一个既可以玩游戏 ...

  4. 用eclipse开发android小程序,【转】Eclipse 开发Android小程序遇到的问题总结

    用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等- 1.ERROR: Ap ...

  5. android小程序:计算圆面积

    网络111 葛鹏 此程序主要实现的功能是输入圆的半径,点击计算按钮,程序便会自动计算出圆的面积. 知识点: 1.为什么要选择android. 2.了解各控件的用处. 3.避免在代码中死记硬背,注意灵活 ...

  6. 微信小程序在线成语接龙答题有奖1.5.1版源码

    简介: 微信小程序在线成语接龙答题有奖源码是一款搭建在微擎上使用的 成语接龙答题有奖红包,可配合流量主推广,广告变现,后台含有区间余额区间奖励配置,自定义金额提现配置: 题库后台自己输入就可以. 开通 ...

  7. 纯css svg 改变图片颜色 ios android 小程序

    本文出自: http://blog.csdn.net/wyk304443164 使用的是 filter drop-shadow 如果你只想兼容 Chrome 那么请看: http://www.zhan ...

  8. 做最漂亮的玩Android小程序第三版

    做最漂亮的[玩Android小程序]V3.0 相较于第二个版本的更新: 整体重构了API请求.因为写这个小程序的时间比较早了,那个时候的玩安卓开放API还未支持HTTPS,导致无法上线小程序,所以为了 ...

  9. 微信小程序学习:(五)swiper塌陷问题解决

    微信小程序学习:(五)swiper塌陷问题解决 github地址: https://github.com/leoricding/- (一)问题分析 需求:实现tab切换,内容切换:内容切换,tab也切 ...

最新文章

  1. 【jdbc】兴唐第三十一节课之修改数据和查询数据(使用自己写的DBUtil)
  2. C翻译汇编语言,[求助]求人帮忙把汇编语言程序翻译成C或者C++
  3. 细说firewalld和iptables
  4. ubuntu openstack spice
  5. nginx+uwsgi部署Django
  6. 第四季-专题9-Linux驱动开发前奏
  7. 你还在抱怨开发工具,为什么不动手优化? | 人物志
  8. pc端字体大小自适应几种方法
  9. 网络安全综合实验(eNSP)(DHCP、OSPF、NAT、防火墙、ACL)
  10. 认识 KEGG PATHWAY 数据库
  11. 高动态范围图像(HDR)处理
  12. python中的snip用法_简单说说SNIP
  13. SuperMap iMobel for Android 基础环境搭建
  14. C语言,C++,C#发展的回顾与展望
  15. 神经系统的组成结构图谱,神经系统的基本结构图
  16. 华为RH2288 V3安装 linux 龙蜥anolis系统安装
  17. ChinaVis2019中国可视化与可视分析大会成都站(7.21-7.24)
  18. 【虚幻引擎】实现类LOL缓慢扣血血条
  19. html显示用户ipv6地址,IPv6地址查询
  20. 深度学习模型的训练(大总结)

热门文章

  1. 外贸人如何快速学好英语
  2. 运用特征脸方法的基于Opencv的猫脸检测实现
  3. scum官方服务器维护时间,在等公测的这段时间里聊聊最近很火的scum吧
  4. mysql 多主多从
  5. JAVA ImageIO图片处理后变色
  6. 沙滩啤酒win7主题【rmzt】
  7. 因《C程序设计伴侣》的争执,谈谭浩强《C程序设计》的批评
  8. 服务器无限刷石机推荐,【红石技巧】-世界上最快的刷石机
  9. 【航天信息开票软件V3.0金税盘版安装恢复过程】有坑有心得
  10. 74HC165应用介绍