Android studio给备忘录添加背景音乐
Android studio给备忘录添加背景音乐
目录
- Android studio给备忘录添加背景音乐
- 一、音乐导入
- 二、代码
- (1)AndroidMainfest.xml
- (2)MyIntentService类
- (3)EditActivity
- 三、演示
一、音乐导入
在project/app/src/main/res/raw目录下添加音乐(命名要是英文的)
二、代码
(1)AndroidMainfest.xml
在AndroidMainfest.xml中的代码
<serviceandroid:name=".MyIntentService"android:exported="false" /><activity android:name=".EditActivity" /><activity android:name=".Alarm.EditAlarmActivity" /><activity android:name=".Alarm.AlarmActivity" /><receiver android:name=".Alarm.AlarmReceiver" /><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>
在图示这个地方编辑以上代码
(2)MyIntentService类
package com.example.notebook;import android.app.IntentService;
import android.content.Intent;
import android.media.MediaPlayer;public class MyIntentService extends IntentService {// TODO: Rename actions, choose action names that describe tasks that this// IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMSpublic static final String ACTION_FOO = "com.example.notebook.action.FOO";public static final String ACTION_BAZ = "com.example.notebook.action.BAZ";// action声明 这里有五个背景音乐public static final String ACTION_MUSIC_1 = "com.example.notebook.action.music1";public static final String ACTION_MUSIC_2 = "com.example.notebook.action.music2";public static final String ACTION_MUSIC_3 = "com.example.notebook.action.music3";public static final String ACTION_MUSIC_4 = "com.example.notebook.action.music4";public static final String ACTION_MUSIC_5 = "com.example.notebook.action.music5";public static final String ACTION_MUSIC_6 = "com.example.notebook.action.music6";// TODO: Rename parameterspublic static final String EXTRA_PARAM1 = "com.example.notebook.extra.PARAM1";public static final String EXTRA_PARAM2 = "com.example.notebook.extra.PARAM2";// 声明MediaPlayer对象private static MediaPlayer mediaPlayer;public MyIntentService() {super("MyIntentService");}@Overrideprotected void onHandleIntent(Intent intent) {final String action = intent.getAction();if (intent != null) {if (ACTION_FOO.equals(action)) {final String param1 = intent.getStringExtra(EXTRA_PARAM1);final String param2 = intent.getStringExtra(EXTRA_PARAM2);handleActionFoo(param1, param2);} else if (ACTION_BAZ.equals(action)) {final String param1 = intent.getStringExtra(EXTRA_PARAM1);final String param2 = intent.getStringExtra(EXTRA_PARAM2);handleActionBaz(param1, param2);}// 根据intent设置的action来执行对应服务的操作if (ACTION_MUSIC_1.equals(action)){handleActionMusic1();}else if (ACTION_MUSIC_2.equals(action)){handleActionMusic2();}else if (ACTION_MUSIC_3.equals(action)){handleActionMusic3();}else if (ACTION_MUSIC_4.equals(action)){handleActionMusic4();}else if (ACTION_MUSIC_5.equals(action)){handleActionMusic5();}else if (ACTION_MUSIC_6.equals(action)){handleActionMusic6();}}}/*** 该服务执行的操作用来播放背景音乐*/private void handleActionMusic1() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.run);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic2() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.dream_wedding);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic3() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.be_quiet);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic4() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.girly_heart);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic5() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.sword_fairy);mediaPlayer.setLooping(true);mediaPlayer.start();}private void handleActionMusic6() {if(mediaPlayer != null) mediaPlayer.stop();// 根据音乐资源文件创建MediaPlayer对象 设置循环播放属性 开始播放mediaPlayer = MediaPlayer.create(this, R.raw.perfect_encounter);mediaPlayer.setLooping(true);mediaPlayer.start();}/*** Handle action Foo in the provided background thread with the provided* parameters.*/private void handleActionFoo(String param1, String param2) {// TODO: Handle action Foothrow new UnsupportedOperationException("Not yet implemented");}/*** Handle action Baz in the provided background thread with the provided* parameters.*/private void handleActionBaz(String param1, String param2) {// TODO: Handle action Bazthrow new UnsupportedOperationException("Not yet implemented");}
}
(3)EditActivity
public boolean onOptionsItemSelected(MenuItem item) {final String[] colors={"护眼色", "紫罗兰", "道奇蓝","碧绿色","热情粉","纯白色"};final String[] musics={"奔跑吧","梦中的婚礼","安静","少女的心","剑仙","完美的邂逅"};switch (item.getItemId()){case R.id.delete:new AlertDialog.Builder(EditActivity.this).setMessage("确定删除当前便签吗?").setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {if(openMode==4){intent.putExtra("mode",-1); //新笔记,返回-1,什么也不做}else {intent.putExtra("mode",2); //已经存在的笔记,用于返回操作intent.putExtra("id",id);}setResult(RESULT_OK,intent);finish();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}}).create().show();break;case R.id.read:Drawable drawable = item.getIcon(); //图标颜色变换if(isRead){drawable.setColorFilter(null); //消除上一级的改变drawable.setColorFilter(getResources().getColor(R.color.greyC), PorterDuff.Mode.SRC_IN);toast1.setText("您已进入编辑模式");toast2.show();editText.setFocusableInTouchMode(true);editText.setFocusable(true);isRead = false;}else{drawable.setColorFilter(null);drawable.setColorFilter(getResources().getColor(R.color.p), PorterDuff.Mode.SRC_IN);toast1.setText("您已进入阅读模式");toast1.show();InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);editText.setFocusableInTouchMode(false);editText.setFocusable(false);isRead = true;}break;case R.id.change:new AlertDialog.Builder(EditActivity.this).setTitle("选择一个背景色").setIcon(R.drawable.tomato).setItems(colors, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {switch (which){case 0:MainActivity.curId = 0;break;case 1:MainActivity.curId = 1;break;case 2:MainActivity.curId = 2;break;case 3:MainActivity.curId = 3;break;case 4:MainActivity.curId = 4;break;case 5:MainActivity.curId = 5;break;default:break;}getWindow().setBackgroundDrawableResource(curColor[MainActivity.curId]);}}).create().show();break;case R.id.music:new AlertDialog.Builder(EditActivity.this).setTitle("选择一个背景音乐").setIcon(R.drawable.music_collection).setItems(musics, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {switch (which){case 0:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_1 = MyIntentService.ACTION_MUSIC_1;// 设置actionintentMusic.setAction(action_1);startService(intentMusic);break;case 1:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_2 = MyIntentService.ACTION_MUSIC_2;// 设置actionintentMusic.setAction(action_2);startService(intentMusic);break;case 2:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_3 = MyIntentService.ACTION_MUSIC_3;// 设置actionintentMusic.setAction(action_3);startService(intentMusic);break;case 3:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_4 = MyIntentService.ACTION_MUSIC_4;// 设置actionintentMusic.setAction(action_4);startService(intentMusic);break;case 4:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_5 = MyIntentService.ACTION_MUSIC_5;// 设置actionintentMusic.setAction(action_5);startService(intentMusic);break;case 5:// 启动服务播放背景音乐intentMusic = new Intent(EditActivity.this, MyIntentService.class);String action_6 = MyIntentService.ACTION_MUSIC_6;// 设置actionintentMusic.setAction(action_6);startService(intentMusic);break;}}}).create().show();break;}return super.onOptionsItemSelected(item);}
三、演示
↑音乐播放按钮
↑音乐演示
作者:董媛媛
原文链接:https://blog.csdn.net/qq_45911965/article/details/121885529?spm=1001.2014.3001.5501
Android studio给备忘录添加背景音乐相关推荐
- amdroid studio给备忘录添加背景音乐
(1)在project/app/src/main/res/raw目录下添加音乐(命名要是英文的) (2)在AndroidMainfest.xml中的代码 <serviceandroid:name ...
- 基于Android studio的备忘录app设计
系统使用Android studio开发平台开发,使用sqlite数据库进行数据存储. 功能如下: 注册登录 管理备忘信息(增删查改) 根据备忘录创建时间快速查询 基于Android studio的备 ...
- Android Studio 三种添加插件的方式,androidstudio
前几篇blog我们介绍了如何安装和配置Android Studio,这篇Blog我们来聊聊如何给Android Studio添加插件,添加插件的路径有三种,我把他们分类如下: 点击设置小按钮 点击[P ...
- android phpmyadmin,从android studio向phpmyadmin添加数据时出现问题
我是安卓的初学者. 但是我在将android studio中的数据添加到phpMyAdmin时遇到了问题. 我找到了一个准备好的代码,但是由于某种原因,当我点击按钮时,应用程序崩溃了. 我认为问题出在 ...
- Android Studio中如何添加Vector Asset
一.Vector Asset简介: Vector Asset中文名为矢量资源,在android studio中可以直接使用,当我们需要一些起导向作用的图片的时候,我们就可以直接调用Vector Ass ...
- bugly android studio,android studio 中怎么添加 bugly
满意答案 akoylw 2017.02.20 采纳率:59% 等级:9 已帮助:63人 Module的buid.gradle文件中添加依赖和属性配置: android { defaultConf ...
- Android Studio工程中添加Admob广告条代码详解
前言: 纵观国内的广告平台,比如多盟,万普,百度,腾讯,或者别的一些广告平台,真是应接不暇,但是具体接入那就自己判断了,经过一番折腾,最终还是选择了谷歌平台,理应是稳定,可靠,安全,收入颇高,但是登录 ...
- android studio jar 包添加 的 三种方法
转载时请记得标明源地址:https://my.oschina.net/lijindou/blog/717000 本人博客地址: http://my.oschina.net/lijindou/blog ...
- android studio annotations,AndroidStudio 添加AndroidAnnotations -电脑资料
1.在project的gradle文件中dependencies { classpath 'com.android.tools.build:gradle:1.0.0' classpath 'com.n ...
最新文章
- Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to
- 2021春季学期-创新设计与实践-Lesson3
- jQuery弹出窗口浏览图片
- 宝塔同时安装苹果cms海洋cms_★苹果cms常见问题有哪些?100个常见问题的解决方法...
- 关于使用AIR开发移动APP 的技术解决方案 笔记
- 【机器视觉】 dev_show_tool算子
- 「2018山东一轮集训」Game
- huffman算法c语言实验报告,huffman二叉树实验报告--数据结构(c语言).doc
- php 模板 自己,php自己写了一个模板
- Visio 2013打开自动关闭,闪退的解决办法
- STK航空仿真(五):坐标系
- 使用Python脚本将酷狗音乐的缓存文件修改为可播放
- 解决WPS word论文英文摘要不对齐的问题
- [windows] win7建立wifi 实现网络共享
- 不能忘记陪我们长大的100部电影
- 【Linux】git提交三把斧
- Unity之新版输入系统InputSystem如何自定义InputActions
- Java应用系列之Pinyin4j简单使用教程
- 如何解决:ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
- 平衡二叉树(Java)
热门文章
- linux安装wl工具,【驱动】博通wl驱动的三种安装方法
- Unity3d C#实现程序的加密狗验证功能(PC)
- 何时使用领域驱动设计(DDD)
- pytorch中x.norm(p=2,dim=1,keepdim=True)的理解
- Android双系统之基本问题研究
- FFmpeg封装ADTS为MP4
- 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/06/28
- 中国数学的先行者—孙光远先生
- 编程语言只是一个工具
- IE6调试JS_se7en3_新浪博客