Android进程间的通信通过轻量级的RPC(Remote Procedure Call远程进程调用)和ADIL(Android Interface Definination Language Android接口定义语言)规范实现的。

Android通过自己的接口定义语言,使用户很方便地定义出一个接口作为规范,通过一个远程Service为代理 ,客户端在绑定该远程Service过程中获取远程对象,进而使用该对象。

首先使用AIDL语言定义服务接口,其扩展名为.aidl,该文件会被自动译成同名的Java文件,存放在gen目录下,用户不能对该文件进行修改,如:

package com.demo.service;//包的声明

interface ITestService{

  String getSome(String str);

}

该文件定义的接口和Java中定义接口的方式类似,然后在定义服务组件用以实现服务接口

public class TestService extends Service{

  private finalITestService.stub mBind = newITestService.stub(){

    publicString getSome(String str) throws RemoteExcption{

      return "Hello";

    }

  };//定义内部类,实现了服务接口的子类,通过stub方法,在gen目录下自动生成的服务接口的Java文件中可以找到stub

  @override

  public IBinder onBind(Intent intent){

    super.onBind(intent);
  }

}

最后编写客户端Activity,绑定定义好的服务端的服务,就可以调用服务接口中定义的方法,实现进程间的通信。

以上总结的并不完善,待继续研究之后在再补充。

更多相关文章

  1. android api Demo之自定义Animation,实现3D旋转效果
  2. 自定义gradle插件
  3. Android 自定义Menu
  4. MPAndroidChart项目实战(六)——自定义1MPAndroidChart滑动冲突解
  5. Android深入浅出系列课程---Lesson3 AAF110427_进程生命周期Proc
  6. Android进程so注入Hook java方法
  7. Android 自定义URL Scheme

随机推荐

  1. Android(安卓)EditText 通过TextWatcher
  2. Android四大组件:BroadcastReceiver史上最
  3. Android(安卓)APK 签名(图)
  4. Android(安卓)webview数据获取 webview抓
  5. android activity 跳转与值
  6. Android系统APP安装流程
  7. Android(安卓)开源框架ActionBarSherlock
  8. Android(安卓)LayoutInflater 详解
  9. TheType "xx" is already defined
  10. Android编程: 界面组成、事件监听器