`
kiddsunhaibo1
  • 浏览: 98439 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

android aidl 主进程子进程间数据相互传递

阅读更多
android中进程间的通信对与大量的接口的调用的时候,一般是子进程调用主进程的方法,但是主进程主动调用子进程的方法,一直没找到相关的资料,现在项目的需要,与同事研究出来了,直接上代码:
在主进程中实现如下的aidl的代码
package com.sunhb.main.aidl;

import com.sunhb.main.aidl.IClient;

interface IMain
{
   void regesiterClient(IClient iclient);
}
这个是在主进程中实现

package com.sunhb.main.aidl;

interface IClient
{
  void initClient();
}
在子进程中实现

在子进程中绑定连接的时候
iMain = IMain.Stub.asInterface(service);
            try
            {
                iMain.regesiterClient(new ClientImpl());
            }
            catch (RemoteException e)
            {
                e.printStackTrace();
            }

这个时候在主进程中
class MainImpl extends IMain.Stub
    {

        @Override
        public void regesiterClient(IClient iclient)
            throws RemoteException
        {
            System.out.println("-------------------");
            TextService.this.iClient = iclient;
            TextService.this.iClient.initClient();
        }
       
    }

这样就实现主进程主动的调用子进程的方法
分享到:
评论
1 楼 uinico 2014-02-16  
有没有完整的例子啊,这个IClient和aidl中怎么定义呢?我怎么定义都不成功。

相关推荐

    android aidl 不同进程间通信

    在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序之间数据交换的关键技术。Android Aidl(Android Interface Definition Language)是Android提供的一种强大的IPC机制,它允许两...

    Android使用AIDL实现进程间通信

    在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序之间数据交换的关键技术。Android提供多种IPC方式,其中AIDL(Android Interface Definition Language)是一种强大的工具,用于...

    Android aidl实现传递对象

    而Android Interface Definition Language(AIDL)是Google提供的一种用于处理进程间通信的语言,它允许应用程序之间透明地交换数据。当我们需要在不同的应用之间传递复杂的对象时,AIDL就显得尤为重要。本文将深入...

    Android aidl 实现进程间通信

    由于进程间的数据传递需要通过Binder机制,所有参数和返回值都必须是Android支持的序列化类型,如基本类型、String、Parcelable或Serializable。如果需要传递自定义对象,那么该类需要实现`Parcelable`或`...

    AIDL List传递 String传递(android studio)

    总的来说,这个"AIDL List传递 String传递(android studio)"的示例为我们展示了如何在Android Studio中利用AIDL实现在不同进程间传递List数据和String数据。理解并掌握AIDL的使用,对于开发涉及多进程通信的复杂...

    Android多进程通讯AIDL传递Parcelable对象

    AIDL(Android Interface Definition Language)是Android提供的一种接口定义语言,用于支持跨进程调用方法,从而实现多进程间的通信。 AIDL的基本原理是将接口定义为一个.aidl文件,系统会自动生成对应的Java代码...

    android aidl 复杂数据类型 传图片

    在实际项目中,考虑到性能和安全,通常会结合以上策略,例如先将Bitmap转换为流,然后通过Binder机制在进程间传输。 接下来,我们要实现这个接口。在生成的Java类中,系统会自动生成一个Binder对象,我们可以在这个...

    利用AIDL进程间传输图片例子

    在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序之间数据交换的关键技术。AIDL(Android Interface Definition Language)是Android提供的一种工具,用于方便开发者定义和实现...

    android aidl跨进程通信

    标题“android aidl跨进程通信”指的是通过AIDL在Android上进行不同进程间的数据交换和功能调用的过程。在Android中,每个应用默认运行在自己的进程中,当需要不同应用间共享数据或调用对方的功能时,就需要借助IPC...

    Android 使用AIDL跨进程通信--传递自定义对象

    `IRemoteBinder.aidl`可能定义了一个接口,该接口包含了处理跨进程通信的方法,而`Book.aidl`则可能定义了一个自定义的数据类型`Book`,这个类型将在进程间传递。 `IRemoteBinder.aidl`可能会这样写: ```aidl ...

    AndroidAIDL

    总结,AIDL是Android系统提供的一种高效、灵活的进程间通信方式,它简化了跨进程通信的复杂性,让开发者可以方便地在服务和客户端之间传递数据和调用方法。掌握AIDL的使用,对于开发大型的、需要多进程协作的Android...

    Android之通过AIDL机制实现进程间的通讯实例

    在Android系统中,进程间通信(Inter-Process Communication, 简称IPC)是一种关键的技术,使得不同进程之间能够共享数据和协调工作。AIDL(Android Interface Definition Language)是Android提供的一种工具,用于...

    android studio下使用aidl接口传递自定义对象

    AIDL提供了一种机制,使得Android应用能够跨进程传递数据,包括自定义对象。本文将深入探讨如何在Android Studio环境下,利用AIDL接口来传递自定义对象。 首先,了解AIDL的基本概念。AIDL是一种接口定义语言,它...

    Android aidl 开机自启 app进程间通讯

    在Android系统中,进程间的通信(Inter-Process Communication, 简称IPC)是一项重要的技术,使得不同应用程序之间能够共享数据和服务。本篇主要探讨如何使用Android的aidl(Android Interface Definition Language...

    Android AIDL通信之对象与普通数据

    在Android系统中,AIDL(Android Interface Definition Language)是一种强大的工具,用于实现应用程序间的进程间通信(IPC,Inter-Process Communication)。AIDL使得一个应用能够暴露其服务给其他应用调用,即使...

    Android AIDL demo (Android Studio)

    本教程将详细讲解如何在Android Studio中创建并使用AIDL,以便不同进程间的组件能够相互调用方法,共享数据。 首先,让我们了解AIDL的基本概念。AIDL允许开发者定义一个接口,这个接口可以被Android系统用来生成...

    Android aidl Binder框架浅析

    通过aidl,我们可以方便地定义接口,实现进程间的交互,使得Android应用能够灵活地扩展其功能,与其他应用或系统组件协同工作。同时,理解Binder的工作流程也有助于优化性能,避免不必要的资源消耗。在实际项目中,...

    Android使用AIDL实现跨进程通信

    在Android系统中,进程间的通信(Inter-Process Communication, 简称IPC)是一个重要的功能,它允许不同的应用程序之间共享数据和服务。AIDL(Android Interface Definition Language)是Android提供的一种工具,...

    Android AIDL进程间通信例子代码

    在Android系统中,进程间通信(Inter-Process Communication, 简称IPC)是一种关键的技术,使得不同进程间的组件能够相互通信、共享数据。AIDL(Android Interface Definition Language)是Android提供的一种特殊...

Global site tag (gtag.js) - Google Analytics