• android学习日记26--AIDL之进程间的通信


    1、AIDL介绍
      AIDL:Android Interface Definition Language,即Android接口定义语言。
      由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。
    在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,
    并且有序的通过进程边界。这点有点像JAVA 里的RMI远程调用接口。
    AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信
    (interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,
    就可以使用AIDL生成可序列化的参数。

    2、使用AIDL步骤
      建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下:
    a、在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。
    b、如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。
    c、建立一个服务类(Service的子类)。
    d、实现由aidl文件生成的Java接口。
    e、在AndroidManifest.xml文件中配置AIDL服务,尤其要注意的是,<action>标签中android:name的属性值就是客户端要引用该服务的ID,也就是Intent类的参数值。

    3、使用AIDL实例

    参考http://blog.csdn.net/liuhe688/article/details/6400385

  • 相关阅读:
    Ant
    责任链模式
    日志logback
    知识点
    三个实例演示 Java Thread Dump 日志分析
    IDEA运行编译后配置文件无法找到,或配置文件修改后无效的问题
    IDEA创建MAVEN WEB工程
    多线程源码分析ThreadPoolExecutor
    解决
    微博关系服务与Redis的故事
  • 原文地址:https://www.cnblogs.com/aiguozhe/p/3674145.html
Copyright © 2020-2023  润新知