美文网首页
我对AIDL用法的理解

我对AIDL用法的理解

作者: 海容天天 | 来源:发表于2016-11-21 21:14 被阅读0次

AIDL是进程间通信的一种方法.通常情况下,不同的应用运行在linux分配的不同的进程中,两者不能互相交流(在一个应用中调用另一个应用的方法,这是为了安全的考虑),但却有这样的需求,比如付款时,需要打开支付宝的服务.AIDL解决了这样的需求.如果一个应用想让另一个应用可以调用它的方法,他就需要定义一个.aidl接口文件(就是java的接口,但没有权限修饰符和后缀名是.aidl),把想让其他应用访问的方法定义在aidl文件中.这样之后,安卓项目gen目录中就会多出一个同名的包,包中有一个同名的java文件,这个同名的java文件中有一个继承了Binder,实现了该接口的抽象内部类stub,在项目的某个类中继承这个类,重写需要暴露的方法.这个应用要做的事情就做完了.

接下来就是想要调用别的应用方法的安卓项目要做的事了.首先在本项目中创建和被调用应用中aidl文件所处的包的包名相同的包,把被调用的应用的aidl文件拷进去,本项目的gen目录中会发生和上面所说的一样的事.在该接口中有一个asService()方法,可以传入一个IBinder对象(这个binder必须是被调用的应用传出来的继承了IBinder实现了stub接口的类的实例,得到的方法有,利用隐式意图绑定别人的服务,通过反射暴力调用其方法)得到一个该接口的子类对象,就可以用这个对象调用其它应用中实现的这个接口中的抽象方法.

相关文章

  • 我对AIDL用法的理解

    AIDL是进程间通信的一种方法.通常情况下,不同的应用运行在linux分配的不同的进程中,两者不能互相交流(在一个...

  • AIDL

    Android中AIDL的基本用法Android 中AIDL的使用与理解Android AIDL使用详解彻底明白A...

  • 谈谈我对Aidl的理解

    首先当客户端BindService的时候,服务器端会先执行onCreate方法,在onCreate中执行了添加Bo...

  • Android温故而知新 - AIDL

    这篇文章让我们一起来复习一下aidl aidl的简单用法 aidl的用法是很简单的。首先创建IDemoAidlIn...

  • 谈谈对AIDL的理解

    最近一些在准备各种校招面试,在安卓面试的时候,总会被问到AIDL,跨进程通信的知识,由于平时基本没有AIDL跨进程...

  • AIDL用法与分析

    目录 AIDL用法服务端客户端 AIDL分析2.1 AIDL文件结构2.2 一些概念2.3 AIDL的UML图2....

  • IPC之AIDL分析

    AIDL用法及代码分析 AIDL为安卓接口定义语言的简称,作用是利用binder机制,实现IPC。 1、AIDL用...

  • Android进程间通信,AIDL工作原理

    1.前言 最近看了AIDL的使用方法,为了加深对AIDL的理解,所以有了手动去编写AIDL生成的Java文件。不需...

  • Android源码分析——从AIDL了解Binder机制

    以AIDL为入口,探究Binder机制的原理 从AIDL了解Binder 前面简单学习了一下AIDL的用法,接下来...

  • AIDL用法

    本文依旧参考别人文章,只是用自己的语言重复一遍,只做加深印象和方便查阅之用原文地址 服务端代码编写 在创建aidl...

网友评论

      本文标题:我对AIDL用法的理解

      本文链接:https://www.haomeiwen.com/subject/amaupttx.html