Android小程序-乐学成语背景音乐(五)
目标效果:
第五个帮助页面改为设置页面,添加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>
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(); }
}
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));}}});}
}
<service android:name="com.example.musicservice.AndioService"></service>
Android小程序-乐学成语背景音乐(五)相关推荐
- Android小程序-乐学成语游戏(四)
目标效果: 游戏页面有几个小游戏,因为时间原因只做了第一个猜成语,是用的选择题方式,十道题以内答对六题算闯关成功. 1.新建GameActivity.java页面和activity_game ...
- Android 小程序APP成语字典课程设计
内容及要求: 1.设计一个成语字典APP,要求此APP能够在手机上准确的看到成语的释义,并且能正确跳转. 2.设计主要的显示页面布局. 3.实现成语字典中添加成语的功能,删除成语的功能. 4.在 ...
- android简单小程序学成语,分享3个成语游戏小程序,让你学习游戏两不误
原标题:分享3个成语游戏小程序,让你学习游戏两不误 1.杜甫教成语 杜甫教成语,一个轻松简单的学成语小程序,是一个猜字型的小程序,是一个考验我们的成语词库深度的小程序.杜甫教成语其实是一个既可以玩游戏 ...
- 用eclipse开发android小程序,【转】Eclipse 开发Android小程序遇到的问题总结
用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等- 1.ERROR: Ap ...
- android小程序:计算圆面积
网络111 葛鹏 此程序主要实现的功能是输入圆的半径,点击计算按钮,程序便会自动计算出圆的面积. 知识点: 1.为什么要选择android. 2.了解各控件的用处. 3.避免在代码中死记硬背,注意灵活 ...
- 微信小程序在线成语接龙答题有奖1.5.1版源码
简介: 微信小程序在线成语接龙答题有奖源码是一款搭建在微擎上使用的 成语接龙答题有奖红包,可配合流量主推广,广告变现,后台含有区间余额区间奖励配置,自定义金额提现配置: 题库后台自己输入就可以. 开通 ...
- 纯css svg 改变图片颜色 ios android 小程序
本文出自: http://blog.csdn.net/wyk304443164 使用的是 filter drop-shadow 如果你只想兼容 Chrome 那么请看: http://www.zhan ...
- 做最漂亮的玩Android小程序第三版
做最漂亮的[玩Android小程序]V3.0 相较于第二个版本的更新: 整体重构了API请求.因为写这个小程序的时间比较早了,那个时候的玩安卓开放API还未支持HTTPS,导致无法上线小程序,所以为了 ...
- 微信小程序学习:(五)swiper塌陷问题解决
微信小程序学习:(五)swiper塌陷问题解决 github地址: https://github.com/leoricding/- (一)问题分析 需求:实现tab切换,内容切换:内容切换,tab也切 ...
最新文章
- 【jdbc】兴唐第三十一节课之修改数据和查询数据(使用自己写的DBUtil)
- C翻译汇编语言,[求助]求人帮忙把汇编语言程序翻译成C或者C++
- 细说firewalld和iptables
- ubuntu openstack spice
- nginx+uwsgi部署Django
- 第四季-专题9-Linux驱动开发前奏
- 你还在抱怨开发工具,为什么不动手优化? | 人物志
- pc端字体大小自适应几种方法
- 网络安全综合实验(eNSP)(DHCP、OSPF、NAT、防火墙、ACL)
- 认识 KEGG PATHWAY 数据库
- 高动态范围图像(HDR)处理
- python中的snip用法_简单说说SNIP
- SuperMap iMobel for Android 基础环境搭建
- C语言,C++,C#发展的回顾与展望
- 神经系统的组成结构图谱,神经系统的基本结构图
- 华为RH2288 V3安装 linux 龙蜥anolis系统安装
- ChinaVis2019中国可视化与可视分析大会成都站(7.21-7.24)
- 【虚幻引擎】实现类LOL缓慢扣血血条
- html显示用户ipv6地址,IPv6地址查询
- 深度学习模型的训练(大总结)