Android-Service组件及demo学习

一、Service简述

 在Android中,Service是一个用来执行长时间运行且没有用户界面的操作的组件。它可以在后台执行任务,即使用户切换到其他应用程序也不会被中断。Service通常用于执行不需要与用户交互的操作,如下载文件、播放音乐等。

二、点击事件-播放音乐服务demo

1.MusicPlayService类的创建

创建空白项目ServiceTest后,在app/src/main/java/com.example.servicetest路径下新建Java class并命名为MusicPlayService。与MainActivity类的代码结构相似,MusicPlayService继承自Service类,重写onCreate()、onStartCommand、onDestroy()和onBind(Intent intent)方法。

package com.example.servicetest;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.widget.Toast;

public class MusicPlayService extends Service {
    private MediaPlayer mediaPlayer;  // 私有变量

    @Override
    public void onCreate() {
        super.onCreate();

        // 创建MediaPlayer对象,并设置音乐资源
        mediaPlayer = MediaPlayer.create(this, R.raw.example_music); // 假设sample_music.mp3文件在res/raw/目录下
        mediaPlayer.setLooping(true); // 设置循环播放

        Toast.makeText(this, "Service Created", Toast.LENGTH_SHORT).show();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {   // Service的启动
        if (!mediaPlayer.isPlaying()) {
            mediaPlayer.start(); // 开始播放
            Toast.makeText(this, "Music Playing", Toast.LENGTH_SHORT).show();
        }
        return START_STICKY;  // 如果希望Service在被杀死后自动重启,则返回START_STICKY
    }

    @Override
    public void onDestroy() {
        if (mediaPlayer.isPlaying()) {
            mediaPlayer.stop(); // 停止播放
        }
        mediaPlayer.release(); // 释放资源空间
        Toast.makeText(this, "Music Stopped", Toast.LENGTH_SHORT).show();
        super.onDestroy();
    }

    @Override
    p
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值