Android的Aidl安装方法
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 {
@Override
public String getValue() throws RemoteException {
// TODO Auto-generated method stub
return "Smart like Android!" ;
}
}
@Override
public 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();
}
|
本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/509421,如需转载请自行联系原作者