AIDL(AndRoid 接口描述语言)是一种借口描述语言; 编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的. 如果需要在一个Activity中, 访问另一个Service中的某个对象, 需要先将对象转化成AIDL可识别的参数(可能是多个参数), 然后使用AIDL来传递这些参数, 在消息的接收端, 使用这些参数组装成自己需要的对象.

AIDL的IPC的机制和COM或CORBA类似, 是基于接口的,但它是轻量级的。它使用代理类在客户端和实现层间传递值. 如果要使用AIDL, 需要完成2件事情: 1. 引入AIDL的相关类.; 2. 调用aidl产生的class.
我通过学习最基本方法写了一个小类。

package com.smart.aidl;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.os.RemoteException;public class SmartService extends Service {public class MyServiceImpl extends AidlService.Stub {@Overridepublic String getValue() throws RemoteException {// TODO Auto-generated method stubreturn "Smart like Android!";}}@Overridepublic IBinder onBind(Intent arg0) {return new MyServiceImpl();}}

package com.smart.aidl;import android.app.Activity;import android.os.Bundle;public class Main extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    }}
package com.smart.aidl;interface AidlService{    String getValue();}

更多相关文章

  1. AIDL --- Android中的远程接口(2)
  2. Android媒体播放---Media playback(二)
  3. Android中从源码分析关于AsyncTask的使用
  4. 安卓源码框架学习-framework层
  5. Toast用法
  6. understand and use android mvc(理解及使用android mvc)
  7. [新书]《Android和PHP开发最佳实践》
  8. [置顶] Android(安卓)View视图------Android如何创建一个view。
  9. Android开发注意点

随机推荐

  1. SSM实现mysql数据库账号密码密文登录功能
  2. mysql定时任务(event事件)实现详解
  3. 数据库查询哪个对像里面包含什么字段方法
  4. 图文介绍mysql中:=和=的区别
  5. MySQL中“:=”和“=”的区别浅析
  6. MySQL查看和修改时区的方法
  7. 解决mysql与navicat建立连接出现1251错误
  8. navicat 8 for mysql建库的方法
  9. 将MySQL去重操作优化到极致的操作方法
  10. 监听mysql表内容变化 mysql开启binlog