最新文章列表

Android面试题目之(八) AIDL的设计原理

1. 首先从抽象层次上来讲。AIDL实际上是在玩远程代理。远程代理对象,完成进程间通信:     2. 下面这个图展示了BinderProxy,Binder 和IBinder的关系。值得注意的是,其中Binder的transaction方法是没有用处的, 本地的调用没有必要执行transaction。另外,由于本地桩要接收消息,因此Binder有个方法会被调用,也就是execTransac ...
daojin 评论(0) 有978人浏览 2017-08-13 23:47

Android ServiceManager注册自定义service

当我们要使用android的系统服务时,一般都是使用Context.getSystemService方法。例如我们要获取AudioManager,我们可以: AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);     获取的服务,其实是在ServiceManager中注册的Binder服务,然后进行封装 ...
quanminchaoren 评论(0) 有4146人浏览 2015-08-19 09:53

Android使用AIDL跨进程数据共享

  AIDL:Android Interface Definition Language,即Android接口定义语言。 什么是AIDL Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。 为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很多 ...
lexsain 评论(0) 有1717人浏览 2015-01-16 13:44

Android中aidl接口不可初始化handler

开发中发现,在aidl接口中初始化一个handler,会无法接收message,查询文档得知,android中的aidl接口调用是运行在系统随机分配的进程中的(我们不可控制),如果在其中初始化了handler,会导致消息机制无效。   解决方法是handler的初始化提前做,比如在service的onCreate方法中。
wangzt_2008 评论(1) 有1155人浏览 2014-09-02 12:17

aidl自定义类型

BtDevice.java package com.example.aidl_service; import android.os.Parcel; import android.os.Parcelable; public class BtDevice implements Parcelable{ private int id; private String devi ...
baoyao 评论(0) 有916人浏览 2014-07-27 22:03

ndroid进程间通信:使用AIDL

要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致)知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间,在此我不复制粘贴网上泛滥的博客或者翻译冗长的android文档。       关于AIDL的介绍在文档:docs/guide/developing/tools/aidl.html       关于IBinder的介绍在文档:docs/re ...
weicaijin8 评论(0) 有678人浏览 2014-07-24 00:17

Android AIDL——实现机制

Android AIDL——实现机制   1.android框架大量使用了进程通信机制,所以,在研究android framework前认真研究一下AIDL的实现机制十分有必要的   2.aidl是 Android Interface definition language的缩写,它是一种进程通信接口的描述,通过sdk解释器对器进行编译,会把它编译成java代码在gen目录下,类路径与aid ...
miaowei 评论(0) 有1887人浏览 2014-07-22 10:11

android aidl通信

Web端 定义接口MyAdil.aidl package com.service_aidl_web; interface MyAidl{ int count(int num1,int num2); String say(); } MyService.java package com.service_aidl_web.service; import c ...
baoyao 评论(0) 有871人浏览 2014-06-13 00:07

Aidl Parcelable in out inout 作用

在使用aidl传输数据时,对于非基本数据类型,也不是String和CharSequence类型的,(即Parcelable类型)需要有方向指示,包括in、out和inout。 下表为in,out在远程传输的作用   Stub.ontransact() Proxy.callback(Data data) in  接收远程传输的数据(Data) 输入本地数据(Dat ...
hold_on 评论(0) 有7250人浏览 2014-03-05 15:27

Android AIDL 简单实用

1 什么是AIDL,AIDL是干嘛用的呢?   AIDL 是一个内部进程间通信描述语言,于我来理解,它的定义形式是很固定,简单的 2 AIDL 在什么情况下使用?   举个例子,当你的Android APP想调用第三方应用或者你自己写的服务进程,可以使用, 3 怎么使用呢?     首先你要先定义好你的AIDL文件 XXX.aidl,很简单,看文件的内容     interface IA ...
fjzw2008 评论(0) 有1046人浏览 2013-10-16 10:36

Android Interface Definition Language (AIDL) android接口定义语言 开发文档翻译 - 2

由于本人英文能力实在有限,不足之初敬请谅解 本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接   Passing Objects over IPC 跨进程传递对象 If you have a class that you would like to send from one process to another through an IPC interface, you ...
su1216 评论(0) 有2251人浏览 2013-07-18 18:21

Android Interface Definition Language (AIDL) android接口定义语言 开发文档翻译 - 1

由于本人英文能力实在有限,不足之初敬请谅解 本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接   Android Interface Definition Language (AIDL)android接口定义语言AIDL (Android Interface Definition Language) is similar to other IDLs you might hav ...
su1216 评论(0) 有2308人浏览 2013-07-16 21:57

Android服务之Service(其二)关于AIDL进程间通信

上一节中我们讲解了本地Service,这一节主要是讲解远程Service,这里涉及到了AIDL。 好吧,老规矩,先来点基础知识: 一.基础知识 AIDL的作用     在Android平台,每个应用程序App都运行在自己的进程空间。通常一 个进程不能访问另一个进程的内存空间(一个应用不能访问另一个应用),如果想沟通,需要将对象分解成操作系统可以理解的基本单元,Android提供 ...
zhangyf1987hb 评论(0) 有1054人浏览 2013-05-30 17:10

android进程间通信:AIDL

  欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致)知道它 ...
hunankeda110 评论(0) 有2000人浏览 2013-05-04 09:57

AIDL跨进程调用学习笔记

      该学习笔记根据一个网友的例子整理而成。    (1)服务器端     1.创建一个AIDL文件,可以看提供的源码。创建完成后,eclipse插件自动在gen目录下生成同名字的java文件。里面包含一个Stub抽象类,这个类继承自android.os.Binder,这个类是实现整个远程调用的核心。   // 声明Java包头,该AIDL文件会生成对应的Java类,并置于gen ...
rhythm_of_rain 评论(0) 有1691人浏览 2013-04-11 10:08

android中的跨进程通信的实现——远程调用过程和aidl(转)

android在设计理念上强调组件化,组件之间的依赖性很小。我们往往发一个intent请求就可以启动另一个应用的activity,或者一个你不知道在哪个进程的service,或者可以注册一个广播,只要有这个事件发生你都可以收到,又或者你可以查询一个contentProvider获得你想要的数据,这其实都需要跨进程通信的支持。只是android将其封装的如此简单,应用开发者甚至完全不用关注它是不是和 ...
Tony_Lee-S 评论(0) 有1343人浏览 2013-02-07 19:35

Android AIDL调用

AIDL (Android Interface Definition Language)是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数。AIDL IPC机制是面向接口的,轻量级。它是使用代理类在客户端和实现端传递数据。 ...
wangleyiang 评论(0) 有1458人浏览 2013-01-15 17:05

ch029 Android service aidl

--------------------------------------------AndroidManifest.xml--------------------------------- <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package=" ...
fangyong2006 评论(0) 有976人浏览 2012-12-26 12:34

android - 为安全而设计 - 2 - 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解,希望大家落脚同时能指出不足。 本博客只要没有注明“转”,那么均为原创,转贴请注明链接   android 进程与线程 - 开发文档翻译 - 进程 android 进程与线程 - 开发文档翻译 - 线程   android activity开发文档翻译 - 1 - 基础篇 android activity开发文档翻译 - 2 - 生命周期篇 ...
su1216 评论(0) 有1907人浏览 2012-09-26 12:50

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics