Android之IPC/Parcel/Binder/AIDL
文章平均质量分 81
Skypine_Lee
这个作者很懒,什么都没留下…
展开
-
Android系统的Binder机制之一——Service Manager
转自:http://my.unix-center.net/~Simon_fu/?p=875Android虽然构建在Linux上面,但是在IPC(进程间)机制方面,没有利用Linux提供IPC机制,而是自己实现了一套轻量级的IPC机制——binder机制。并且Android Binder机制之上,Android框架提供了一套封装,可以实现对象代理(在本地进程中代理远程进程的对象)。本文简转载 2012-02-27 14:35:24 · 569 阅读 · 0 评论 -
Android系统的Binder机制之四——系统Service
转自:http://my.unix-center.net/~Simon_fu/?p=988 前面我们已经介绍了Android Binder机制的Service Manager,Service对象代理1,Service对象代理2。 本文将介绍一下Android机制的另外一个重要部分——系统Service。1、系统Service实例——Media转载 2012-02-27 15:04:18 · 527 阅读 · 0 评论 -
Android系统的Binder机制之三——服务代理对象(2)
转自:http://my.unix-center.net/~Simon_fu/?p=942上文《Android系统的Binder机制之二——服务代理对象(1)》我们学习了进程的C/C++层面的服务代理对象BpBinder,和Binder底层处理方式。本文我们将深入分析一下在进程的Java层面服务代理对象的创建和使用。Android进程的C/C++层面和Java层 An转载 2012-02-27 14:56:22 · 410 阅读 · 0 评论 -
【09.03.30】Android中使用C++程序读写Parcel的简单例子
http://apps.hi.baidu.com/share/detail/31773728Android中的Parcel类困惑了我好一段时间(当然现在也没把Parcel完全弄明白),查了一些资料也不知道它里面是以一种什么格式存储数据的。因为它对外提供的读写函数都没有提到具体一个读写函数到底是读写Parcel中的哪一块地址里的数据。比如网上有这么两段代码: public void转载 2012-03-26 17:34:38 · 815 阅读 · 0 评论 -
android aidl 自定义类型 作参数
转自:http://my.oschina.net/zhangqingcai/blog/29080遇到的问题是使用数组作为参数和返回值。找了半天资料, 没有介绍。最后看了别人的一个程序代码, 原来如此。问题,实现玩parcelable之后, 还需要在AUDIO_TAG中添加一个类名称的定义才行。1. 代码结构:注意选中部分,和内容: 2. 主要的AID转载 2012-02-23 09:53:48 · 1253 阅读 · 0 评论 -
使用AIDL实现进程间的通信
转自:http://blog.csdn.net/liuhe688/article/details/6400385在Android中,如果我们需要在不同进程间实现通信,就需要用到AIDL技术去完成。AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无转载 2012-02-23 10:16:06 · 307 阅读 · 0 评论 -
AIDL简单入门--摘自《AndroidOPhone开发完全讲义源码》
转自:http://blog.csdn.net/geolo/article/details/6096313声明:本文摘自《AndroidOPhone开发完全讲义源码》,所有版权问题归该书籍作者所有,本文只为学习部为商用。 8.4 跨进程访问(AIDL服务)Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。第7转载 2012-03-02 09:44:17 · 316 阅读 · 0 评论 -
关于Android 跨进程通信的文章?
http://www.eoeandroid.com/qa/2011/1122/8.html导读:这篇文章主要是用一个工程来给大家讲述了一个跨进程通信的实例这是其中一篇(一) 一. 概述: 跨进程通信(AIDL),主要实现进程(应用)间数据共享功能。 二. 实现流程: 1. 服务器端实现: (1)目录结构,如下图:转载 2012-03-26 16:29:19 · 508 阅读 · 0 评论 -
[实例教程]使用android中的AIDL让Service与Activity通信(service回调activity)
http://www.javaxxz.com/read-htm-tid-4354.html这几天搞了搞AIDL,终于弄明白了在AIDL中让Service调用Activity的方法代码:首先建立一个ICallback.aidl文件,作为Activity中的回调方法 package com.zhang.test.service;interface ICallback {v转载 2012-04-10 18:05:01 · 656 阅读 · 0 评论 -
AIDL实例
http://hi.baidu.com/yubing1015/blog/item/2196dfeffc530b19fdfa3ccc.html 这篇文章给出一个小例子,实现一个应用程序调用另一个应用程序中的service。两个应用程序的进程通过AIDL(Android Interface Definition Language)通信。这个小例子主要分为两部分: 1转载 2012-05-16 17:50:11 · 593 阅读 · 0 评论 -
AIDL实现猜想
http://hi.baidu.com/yubing1015/blog/item/24a0fa02beb5e31e4bfb5118.html 这篇文章是我AIDL底层实现的猜想。还是拿AIDL实例做例子: 首先,在onServiceConnected中,入参service作为一个IBinder,通过myService = IMyService.Stub.转载 2012-05-16 17:51:29 · 559 阅读 · 1 评论 -
Android AIDL(Android Interface Definition Language)介绍
http://buaadallas.blog.51cto.com/399160/372090在网上看到一篇介绍AIDL的文章,自己把代码在2.2的sdk上跑了一下,稍微更改了一下原文中的代码(下文中的代码都是自己编译通过后使用的代码)并且添加了xml文件,大家可以按照这个代码自己实现一遍。以下部门来自网上其他朋友的文章(由于出处太多,无法找到原始的地址)================转载 2012-06-13 16:43:50 · 436 阅读 · 0 评论 -
Android开发:什么是IBinder
http://blog.csdn.net/nkmnkm/article/details/6453218上回书简单描述了进程间传递类对象的原理,这回在讲Parcel之前,先要讲一个东西:IBinder。IBinder是什么呢?首先要明白,Android的远程调用(就是跨进程调用)就是通过IBinder实现的,下面是对android开发文档的翻译。 IBinder是远程对象转载 2012-06-27 09:19:15 · 444 阅读 · 0 评论 -
Android中的Parcel是什么
http://blog.csdn.net/nkmnkm/article/details/6451699 Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。 如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C转载 2012-06-27 09:21:04 · 534 阅读 · 0 评论 -
Android学习笔记--Binder
转载 from http://ytydyd.blog.sohu.com/139026338.html (一) 概述 android的binder机制提供一种进程间通信的方法,使不同一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。binder机制在Java环境和C/C++环境都有提供。 android的代码中,与C/C++的转载 2012-10-13 17:43:13 · 664 阅读 · 0 评论 -
Android深入浅出之Binder机制
http://www.cnblogs.com/innost/archive/2011/01/09/1931456.htmlAndroid深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Bin转载 2012-10-13 17:35:59 · 1524 阅读 · 0 评论 -
android IBinder 解析
http://home.lupaworld.com/home-space-uid-42237-do-blog-id-232429.html远程对象的基础接口,是一个为了在执行进程中和进程间调用时的高性能,而设计的轻量级远程调用机制的核心部分。这个接口描述了和远程对象交互的抽象协议。不要直接实现这个接口,而是通过继承Binder来实现。IBinder的关键API是与 Binder.o转载 2012-03-26 17:24:01 · 1780 阅读 · 0 评论 -
Android Binder设计与实现 – 设计篇
转自:http://www.linuxidc.com/Linux/2011-07/39271.htm 摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们转载 2012-02-17 09:30:19 · 521 阅读 · 0 评论 -
探索Android中的Parcel机制(上)
http://blog.csdn.net/caowenbin/article/details/6532217一.先从Serialize说起 我们都知道JAVA中的Serialize机制,译成串行化、序列化……,其作用是能将数据对象存入字节流当中,在需要时重新生成对象。主要应用是利用外部存储设备保存对象状态,以及通过网络传输对象等。 二.Android中的新的序列转载 2012-03-26 17:43:21 · 778 阅读 · 0 评论 -
Android中Parcel的分析以及使用
http://www.eoeandroid.com/blog-129327-2029.html简单点来说:Parcel就是一个存放读取数据的容器, android系统中的binder进程间通信(IPC)就使用了Parcel类来进行客户端与服务端数据的交互,而且AIDL的数据也是通过Parcel来交互的。在Java空间和C++都实现了Parcel,由于它在C/C++中,直接使用了内存来读转载 2012-03-26 17:39:11 · 614 阅读 · 0 评论 -
Android 中Parcelable的作用
转自:http://blog.sina.com.cn/s/blog_78e3ae430100pxba.html非原创,摘自JAVA EYEandroid提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。 除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。 Parcelable实现转载 2012-02-24 09:51:31 · 471 阅读 · 0 评论 -
Android Parcelable的使用
转自:http://blog.csdn.net/zyc13701469860/article/details/6429934转载请注明出处,谢谢~ 在SDK中 Parcelable类的概述是这样的:Interface for classes whose instances can be written to and restored from a Parcel. Class转载 2012-02-24 09:50:04 · 407 阅读 · 0 评论 -
Android进程间通信--消息机制及IPC机制实现
转自:http://www.eoeandroid.com/thread-36249-1-1.html一、概念及说明Android为了屏蔽进程的概念,利用不同的组件[Activity、Service]来表示进程之间的通信!组件间通信的核心机制是Intent,通过Intent可以开启一个Activity或Service,不论这个Activity或Service是属于当前应用还是其它应用转载 2012-02-23 09:27:23 · 383 阅读 · 0 评论 -
Android - 使用AIDL设计远程接口
转自:http://www.oschina.net/question/195301_32171Android Interface Definition Language(AIDL)译者署名: 移动云_文斌译者链接:http://blog.csdn.net/caowenbin版本:Android 2.3 r1原文 http://de转载 2012-02-23 10:01:29 · 798 阅读 · 0 评论 -
使用AIDL实现进程间的通信之复杂类型传递
转自:http://blog.csdn.net/liuhe688/article/details/6409708上次讲到简单的AIDL进程间通信的操作,客户端向服务端发送一个String类型的参数,服务端也返回一个String类型的结果,看似已经可以完成基本的需要了。不过在有的时候,简单的数据类型并不能满足我们的需求,我们就需要考虑怎样向服务端传递复杂的数据类型。今天就来讲一下转载 2012-02-23 10:12:19 · 458 阅读 · 0 评论 -
Android AIDL 远程服务器使用示例
转自:http://www.oschina.net/question/195301_30046很多网友来函表示对Android AIDL不是很理解,这里Android123准备了一个简单的例子,帮助大家了解Android上比较强大的远程服务设计吧。一、为什么要使用AIDL,他的优势有哪些呢? AIDL服务更像是 一个Server,可以为多个应用提供服务。由于转载 2012-02-23 10:22:10 · 363 阅读 · 0 评论 -
Android开发:什么是IBinder
http://blog.csdn.net/nkmnkm/article/details/6453218上回书简单描述了进程间传递类对象的原理,这回在讲Parcel之前,先要讲一个东西:IBinder。IBinder是什么呢?首先要明白,Android的远程调用(就是跨进程调用)就是通过IBinder实现的,下面是对android开发文档的翻译。 IBinder是远程对象的基本接口,转载 2012-04-11 09:39:35 · 409 阅读 · 0 评论 -
Android系统的Binder机制之二——服务代理对象(1)
转自:http://my.unix-center.net/~Simon_fu/?p=894上文《Android系统的Binder机制之一——Service Manager》我们学习了Service Manager在Android Binder中的作用——服务(Service)注册,服务(Service)查询的功能。本文我们一起学习服务(Service)在客户端中的代理机制。重点介绍其核转载 2012-02-27 14:40:19 · 370 阅读 · 0 评论 -
探索Android中的Parcel机制(下)
http://blog.csdn.net/caowenbin/article/details/6532238 上一篇中我们透过源码看到了Parcel背后的机制,本质上把它当成一个Serialize就可以了,只是它是在内存中完成的序列化和反序列化,利用的是连续的内存空间,因此会更加高效。 我们接下来要说的是Parcel类如何应用。就应用程序而言,最常见使用Parce转载 2012-03-26 17:47:59 · 470 阅读 · 0 评论 -
深刻解析 Android 的 AIDL 界面(1)
http://hi.baidu.com/wangyu8702/blog/item/a124b1997f5c4c136e068c1d.html在Android應用框架裡,應用層級的軟體大多是Java類別,而系統層級的軟體大多是C或 C++類別。Android使用JNI介面來達成這個目標。例如,在Android裡有個MediaPlayer.cpp類別,當它搭配上JNI介面之後,在V转载 2012-03-15 10:30:12 · 495 阅读 · 0 评论 -
android IPC及原理简介
http://www.cnblogs.com/-OYK/archive/2011/07/31/2122981.htmlLinux系统中进程间通信的方式有:socket, named pipe,message queque, signal,share memory。Java系统中的进程间通信方式有socket, named pipe等。android应用程序理所当然可以应用JAVA的IP转载 2012-03-28 13:36:34 · 508 阅读 · 0 评论 -
Android中的Parcel是什么
http://blog.csdn.net/nkmnkm/article/details/6451699Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。 如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C转载 2012-04-11 09:37:55 · 1061 阅读 · 0 评论 -
Android Service学习之AIDL, Parcelable和远程服务
转自:http://hi.baidu.com/fountainblog/blog/item/4fd2a5a1c6d57590461064d5.htmlAIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需转载 2012-02-24 14:25:50 · 402 阅读 · 0 评论 -
android进程间通信:使用AIDL
转自:http://blog.csdn.net/saintswordsman/article/details/5130947欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致)知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间,在此我不复制粘贴网上泛滥的博客或者翻译冗长的android文档。转载 2012-02-23 09:23:22 · 423 阅读 · 0 评论 -
Android AIDL——实现机制浅析
转自:http://my.oschina.net/u/213924/blog/373101.基于前面写的aidl使用,这段时间准备研究ActivityManager框架,对aidl进行了更深入的研究,因为android框架大量使用了 进程通信机制,所以,在研究android framework前认真研究一下AIDL的实现机制十分有必要的 2.前面讲了aidl是 Android I转载 2012-02-23 10:04:27 · 418 阅读 · 0 评论 -
Android的IPC机制Binder的详解(转发)
http://blog.csdn.net/hellofeiya/article/details/8032286第一部分 Binder的组成 1.1 驱动程序部分驱动程序的部分在以下的文件夹中:Java代码 kernel/include/linux/binder.h kernel/drivers/android/binder.c转载 2012-10-13 17:44:28 · 742 阅读 · 0 评论