1.在应用1中定义自己的aidl文件。
package com.test.eric.AIDL;
interface testAIDL {
void fun();
}
2.在应用1中写service,实现aidl接口,复写onbind方法。
public class MyService extends Service {
@Override
public IBinder onBind(Intent t) {
return mBinder;
}
private final testAIDL.Stub mBinder = new testAIDL.Stub() {
@Override
public void fun() throws RemoteException
{
Log.d(TAG, "------");
}
};
}
3.在应用2中将应用1的aidl接口文件拷过去,注意包名要一致。
package com.test.eric.AIDL;
interface testAIDL {
void fun();
}
4.在应用2中定义实现serviceConnection接口,绑定应用1的service。通过Ibinder对象访问应用1中的aidl实现方法。
public class myActivity extends Activity {
private Button btnOk;
testAIDL mService;
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className,
IBinder service) {
mService = testAIDL.Stub.asInterface(service);
}
public void onServiceDisconnected(ComponentName className) {
}
};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
btnOk = (Button)findViewById(R.id.btn_ok);
Intent intent = new Intent(myActivity.this, MyService.class);
intent.putExtras(args);
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
btnOk.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mService.fun();
}
});
}
}
注意点:
两个应用的aidl的包名要相同
分享到:
相关推荐
综上所述,AIDL是Android平台中实现进程间通信的重要手段,通过合理的使用,可以构建出高效、稳定、可扩展的应用程序。通过阅读和理解给定的`MyTestAIDL`代码资源,开发者可以更好地掌握AIDL的工作方式,为今后的...
Android进程间通信 AIDL Service 一、服务端结构 服务端需要处理的有: 1.处理对象,对象内方法,注意:AIDL 只能对函数起作用; 2.处理服务; 3.配置文件; 二、客户端 配置 1.对象,切记,与服务端的对象完全一致...
在Android系统中,进程间通信(Inter-Process Communication, 简称IPC)是一种关键的技术,使得不同进程...通过理解并实践`AndroidAIDLClient`和`AndroidAIDL`这两个示例,你可以更深入地掌握Android的进程间通信技术。
在Android系统中,进程间通信...总之,Android Aidl是实现不同进程间通信的重要手段,通过定义接口和服务,可以方便地实现跨进程调用,提升应用的功能性和交互性。理解和掌握Aidl对于开发复杂的Android应用至关重要。
在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序之间数据交换的关键技术。AIDL(Android Interface Definition Language)是Android提供的一个工具,用于在不同进程间定义和...
AIDL(Android Interface Definition Language)是Android提供的一种用于实现进程间通信的工具,它允许开发者定义接口,使得服务能够被其他应用调用,即便这些应用运行在不同的进程中。** ### AIDL简介 AIDL是一种...
标题“android aidl跨进程通信”指的是通过AIDL在Android上进行不同进程间的数据交换和功能调用的过程。在Android中,每个应用默认运行在自己的进程中,当需要不同应用间共享数据或调用对方的功能时,就需要借助IPC...
本篇文章将深入探讨如何在Android中使用AIDL来实现进程间通信。 首先,理解AIDL的基本概念。AIDL是一种接口定义语言,类似于Java中的接口,但它的目的是跨越进程边界。通过AIDL,我们可以定义一个接口,该接口会被...
### Android AIDL 进程间通信详解 #### 一、AIDL 概述 AIDL(Android Interface Definition Language)是Android平台提供的一种用于进程间通信(Inter-Process Communication, IPC)的技术,它允许应用程序组件之间...
AIDL(Android Interface Definition Language)是Android提供的一种工具,用于方便开发者实现进程间通信。这篇博客“使用AIDL实现进程间通信”将深入探讨如何利用AIDL进行跨进程的交互。 首先,我们要理解AIDL的...
在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序组件之间交互的关键技术。Android的AIDL(Android Interface Definition Language)就是专为处理IPC而设计的一种接口定义语言,...
**AIDL(Android Interface ...总结,AIDL是Android中实现进程间通信的重要工具,它简化了跨进程服务调用的复杂性,提高了应用的交互能力。通过学习和掌握AIDL,开发者可以构建更健壮、功能更丰富的Android应用程序。
总结来说,AIDL是Android系统中用于进程间通信的重要工具,通过它我们可以定义接口并在不同的进程中调用。服务端通过实现AIDL接口并返回`Binder`实例,客户端则通过绑定服务来获取接口并调用方法。理解并熟练掌握...
使用AIDL实现进程间通信 两个工程即两个APP,实现数据共享 APP1中有个service 不停的对某一个数进行++操作, APP2通过AIDL 获取APP1的Service中的这个值(通过回调) 当然要使用AIDLAPP1中也要做相应处理
本教程将深入探讨如何使用AIDL和Binder连接池在两个Android应用之间实现进程间通信。 **AIDL基础** AIDL是一种声明式的语言,用于定义服务接口,使得客户端和服务器端可以在不同的进程中调用对方的方法。在Android...
在这个"Android AIDL跨进程通信"的示例中,我们有两个项目,一个是服务器端(Serve),另一个是客户端(Client),它们共同演示了如何通过AIDL实现实现进程间的数据交换。 首先,让我们详细了解AIDL的工作原理。...