Android 使用 aidl 文件创建服务示例
2010-03-04 03:26:00 来源:WEB开发网android中的服务与其他软件的服务可能有些不同,它用来实现在后台执行长期的任务,并且与前台界面解耦.现在来实现一个HelloWorld级的服务以及使用这个服务,创建一个服务的步骤如下:
1.编写aidl文件,在这个文件中提供了服务所提供的方法的接口,文件的扩展名为aidl,在我们的示例中命名为IDataTimeService.aidl文件的内容为如下所示:
Java代码
package com.services.demo2;
// Declare the interface.
interface IDataTimeService {
String getForecastPage();
}
package com.services.demo2;
// Declare the interface.
interface IDataTimeService {
String getForecastPage();
}
2.编写服务的实现类,在这个示例中为DataTimeService.java,内容如下:
Java代码
public class DataTimeService extends Service{
public static final String BROADCAST_ACTION = "com.services.demo2.DataTimeServiceEvent";
/**
使用上面定义的字符串常量创建一个Intent的实例,如果服务在运行的过程中发生的事件都可以通过Service的
sendBroadcast(broadcast)方法来发送一个广播消息通知Activity,然后有Activity注册的接收者进行处理;
*/
private Intent broadcast = new Intent(BROADCAST_ACTION);
sendBroadcast(broadcast);
private final IDataTimeService.Stub binder = new IDataTimeService.Stub() {
public String getForecastPage() {
return (getForecastPageImpl());
}
};
synchronized private String getForecastPageImpl() {
Date date=new Date();
return (date.toLocaleString());
}
@Override
public IBinder onBind(Intent intent) {
return (binder);
}
}
public class DataTimeService extends Service{
public static final String BROADCAST_ACTION = "com.services.demo2.DataTimeServiceEvent";
/**
使用上面定义的字符串常量创建一个Intent的实例,如果服务在运行的过程中发生的事件都可以通过Service的
更多精彩
赞助商链接