进程间通信---AIDL的使用实例

本文详细介绍了如何使用AIDL进行进程间通信,包括创建IRemoteService.aidl,实现IService接口,配置服务供其他进程调用,以及在客户端进行调用的步骤。在ClientDemo工程中,通过拷贝aidl文件并删除其他内容,然后在MainActivity中绑定服务,实现了简单AIDL通信。注意,由于绑定服务需要时间,可能会出现短暂的空Log现象。
摘要由CSDN通过智能技术生成
AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数。本文简单介绍AIDL的使用。

1.新建IRemoteService.aidl

package com.tang.remoteservicedemo;
interface IRemoteService {
 String getInfo();
}
从内容中也可以看出,这东西类似一个接口。既然定义了这么一个玩意,那么我们就要去实现它。

2.新建IService“实现”IRemoteService“接口”

package com.tang.remoteservicedemo;

import java.util.Date;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;

public class IService extends Service
{
	private IBinder iBinder = new IRemoteService.Stub() {
		@Override
		public String getInfo() throws RemoteException {
			// TODO Auto-generated method stub
			return new Date(System.currentTime
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值