android 简易音乐播放器
功能
本次移动开发项目要求完成的功能是在音乐播放器原先有的播放暂停功能基础上再添加切换上一首下一首歌曲的功能
运行效果
编程思想
音乐播放器主要是运行了android中的BroadcastReceiver进行广播传递信息
发送广播的核心点在于传入和使用sendBroadtcast,通过intent将数据发送给receiver,由receiver进行操作
广播的使用如下:
/* 使用intent传递数据 */
Intent intent = new Intent();
intent.setAction("MyAction");
intent.putExtra("message", "the usage of Broadcast");
sendBroadcast(intent);
/* 使用receiver接收数据,按照接收到的action来进行操作 */
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra("message");
...... 所要进行的操作 ......
}
核心代码
MainActivity.java
package com.example.mymusicbox;
import androidx.appcompat.app.AppCompatActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
// 获取界面中显示歌曲标题、作者文本框
TextView title, author;
// 播放/暂停、停止按钮
ImageButton play, stop;
Button pre, next;
ActivityReceiver activityReceiver;
public static final String CTL_ACTION =
"org.crazyit.action.CTL_ACTION";
public static final String UPDATE_ACTION =
"org.crazyit.action.UPDATE_ACTION";
// 定义音乐的播放状态,0x11代表没有播放;0x12代表正在播放;0x13代表暂停
int status = 0x11;
String[] titleStrs = new String[] {
"music1", "music2", "music3" };
String[] authorStrs = new String[] {
"歌手1", "歌手2", "歌手3" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取程序界面界面中的两个按钮
play = this.findViewById(R.id.play);
stop = this.findViewById(R.id.stop);
title = findViewById(R.id.title);
author = findViewById(R.id.author);
pre = findViewById(R.id.pre