WEB开发网
开发学院手机开发Android 开发 Android 使用 aidl 文件创建服务示例 阅读

Android 使用 aidl 文件创建服务示例

 2010-03-04 03:26:00 来源:WEB开发网   
核心提示:android中的服务与其他软件的服务可能有些不同,它用来实现在后台执行长期的任务,并且与前台界面解耦.现在来实现一个HelloWorld级的服务以及使用这个服务,创建一个服务的步骤如下:1.编写aidl文件,在这个文件中提供了服务所提供的方法的接口,文件的扩展名为aidl,在我们的示例中命名为IDataTimeSer

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的

1 2 3  下一页

Tags:Android 使用 aidl

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