WEB开发网
开发学院手机开发Android 开发 Android实战Service BroadcastReceiver与AlarmMan... 阅读

Android实战Service BroadcastReceiver与AlarmManager

 2010-08-22 04:48:00 来源:WEB开发网   
核心提示:Android实战Service BroadcastReceiver与AlarmManager-首届Google暑期大学生博客分享大赛——2010 Andriod篇接触Android也有半年了,小作品也发布了几个,Android实战Service BroadcastReceiver与AlarmManager,但是其中都

Android实战Service BroadcastReceiver与AlarmManager

---------首届Google暑期大学生博客分享大赛——2010 Andriod篇

接触Android也有半年了,小作品也发布了几个,但是其中都没有用到Servcie,在这一点觉得自己还是有所不足的。目前正在做的这个应用要使用到Service,所以就当是补补课了。

应用的目标很简单,用户设定一个时间,到时后停止音乐的播放。所以我们需要使用Service来保持在Activity结束后继续维持计时。当用户设定某一时间后启动一个Service,之后所有操作由Service驱动,Activity界面就可以关闭了,在Service中我们要使用 AlarmService来实现计时,当时间到时AlarmManager会发送一个广播,你需要一个BroadcastReceiver来处理这个广播完成时间到时时要完成的操作。

如果说正在看这篇文章的你还不知道什么是Service或BroadcastReceiver的话,您需要自己另找资料学习一下了,我只能简单说 Service是一个后台的应用程序,它没有显示的界面所以也就不能与用户交互,但是它还是能够通信的。Service有两种启动的方式一个使用 Context.startService()启动,另一个则是使用Context.bindService()来启动,两者存在这区别。而 BroadCastReceiver就是一个收音机,这个BroadCastReceiver会响应一个有特定标识的消息。我也只能简单的说这一点,更多的内容你可以自己在Google上搜索一些关于Service和BroadcastReceiver的资料吧。

首先是要做的是一个Service,你需要继承Service类并实现它的onCreate(),onStart(),onDestroy(),onBind()方法,其中onBind()方法是必须实现的。

实例代码如下

package com.shinestudio.sleepMusic.service;

import java.util.Calendar;

//......

import com.shinestudio.sleepMusic.AlarmReceiver;

import com.shinestudio.sleepMusic.StartActivity;

public class SleepMusicService extends Service {

private static String TAG = "sleepMusicService";

private static SleepMusicService sms = null;

private static int NOTIFICATION_ID = 0x1209;

private String settingTime;

1 2 3 4 5  下一页

Tags:Android 实战 Service

编辑录入:coldstar [复制链接] [打 印]
赞助商链接