要理解android中的AIDL,我想要一个真实的例子,这意味着我们需要在什么样的开发场景中使用AIDL。
通过阅读机器人文档..。这给我带来了困惑和许多问题,所以我很难读懂整个医生,有人能帮我吗?
中正在谈论什么样的服务。
发布于 2011-12-21 14:30:33
AIDL用于粘合剂。Binder是一种在Android服务上/从Android服务中执行RPC调用的机制。
什么时候使用AIDL?当你需要服务的时候。你什么时候需要服务?如果希望在另一个应用程序中共享数据和控件,则需要使用AIDL作为接口的服务。(仅在共享数据时使用内容提供者)。
当模型在MVC模式中滚动时,可以在应用程序中使用服务。
发布于 2014-08-20 22:32:33
AIDL是Android接口定义语言。这基本上允许您执行IPC调用。
使用:在某些情况下,一个进程需要与另一个进程交谈才能获得特定的信息。
示例:进程--需要呼叫状态信息来确定是否需要更改呼叫类型(例如,音频到视频呼叫,反之亦然)。您可能会从某些侦听器获得呼叫状态,但是要将呼叫类型从音频更改为视频,Process A需要一个挂钩来更改。这种“钩子”或更改呼叫的方式通常是电话类的一部分,这些类是电话流程的一部分。因此,为了从电话处理中获得这样的信息,您可以编写一个电话服务(它作为android电话进程的一部分运行),它允许您查询或更改呼叫类型。由于Process A(Client)正在使用与电话流程通信以更改调用类型的远程服务,因此它需要有一个接口来与服务进行通信。由于电话服务是提供者,而Process A(客户端)是用户,他们都需要就他们能够理解和遵守的接口(协议)达成一致。这种接口是AIDL,它允许您(通过远程服务)与电话流程进行交谈并完成一些工作。
简单地说,AIDL是一个“协议”客户得到的,它告诉它如何与服务交谈。服务本身将拥有该协议的副本(因为它是为其客户发布的)。然后,服务将实现关于当请求到达或有人与其交谈时它如何处理的详细信息。
因此,通过服务处理请求更改呼叫,服务获得请求,它与电话进程(因为它是其中的一部分)对话,并更改对视频的调用。
需要注意的一点是,AIDL只对多线程环境是必需的。如果你不需要处理多线程的拱形,你可以取消绑定。
发布于 2015-01-25 09:43:32
另一个真实的例子是Google许可证使用AIDL。
https://stackoverflow.com/questions/8591281
复制相似问题