AIDL ——基础概念
来源:互联网 发布:浪潮服务器安装centos 编辑:程序博客网 时间:2024/05/17 22:11
转自http://blog.csdn.net/wds1181977/article/details/51330309
通常每个应用程序都在他自己的进程内运行,但有时需要在进程之间传递对象(IPC通信)。此时可以通过应用程序UI的方式写一个运行在不同进程中的service。在Android平台中,一个进程通常不能访问其他进程中的内存区域。所以它们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨边界访问。而要完成这些需要AIDL机制。
AIDL(Android接口描述语言)是一个IDL语言,它可以生成一段代码,可以是一个在Android设备上运行的两个进程使用内部通信进程进行交互。如果你想在一个进程中(例如在一个Activity中)访问另一个进程中(例如service)某个对象的方法,你就可以使用AIDL来生成这样的代码来伪装传递各种参数。
要使用AIDL,service需要以AIDL文件的方式提供服务接口,AIDL工具将生成一个相应的Java接口,并且在生成的服务器接口中包含一个功能调用的stub()服务桩类。service的onBind方法会返回实现类的对象,之后你就可以使用它了。
在AIDL文件中支持的数据类型包括:
- 基本数据类型
- String和CharSequence
- List:只支持ArrayList,里面的元素都必须被AIDL支持
- Map:只支持HashMap,里面的元素必须被AIDL 支持
- 实现Parcelable接口的对象
- 所有AIDL接口
0 0
- AIDL ——基础概念
- Android基础——AIDL总结篇
- 基础—概念篇
- Android基础——AIDL进程间通信
- Android——AIDL基础实现demo以及原理探究
- 数论——基础概念
- JavaSE 基础回顾——基础概念
- AIDL详解之AIDL基础
- 【Java基础】——IO:概念原理
- pmp学习1——基础概念
- 大数据处理利器——基础概念
- C++设计模式——基础概念
- Maven基础——核心概念篇
- java——函数的基础概念
- 分布式学习——基础概念篇
- LayoutParams——基础概念与使用
- 对象——基础概念第一层
- 从零开始学习OpenGL——基础概念
- Linux RTC驱动模型分析之rtc-sysfs.c
- gdb查看栈帧信息
- 涂鸦移动面试总结
- JAVA基础(002_forEach的实现原理)
- 三个工厂模式(Simple Factory & Factory Method & Abstract Factory)
- AIDL ——基础概念
- iOS前后端分离Swagger使用 swagger ISO8016报错
- boost之路 十三 容器
- Redis的持久化方式
- C. K-special Tables【构造】水
- Block简单介绍
- QT中mysql数据库的使用
- 直观判断图像是否可以被实时处理
- uva10883 - Supermean-杨辉三角+log应用