博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android的Aidl安装方法
阅读量:5815 次
发布时间:2019-06-18

本文共 1216 字,大约阅读时间需要 4 分钟。

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,如需转载请自行联系原作者
你可能感兴趣的文章
进程题目锦集
查看>>
spring feign使用笔记
查看>>
Redis持久化
查看>>
商业市场和消费市场的基本区别
查看>>
c基础(打印出菱形图案)
查看>>
linux 终端乱码
查看>>
国内几大互联网公司提供的云主机云应用简单对比(工作笔记)
查看>>
The "data" URL scheme 二,三 事
查看>>
轻便提示插件tipTip
查看>>
【刷机方法】Moto Nexus 6线刷方法总结
查看>>
[HIVE] 源码解析SQL->MR [Simple-Select]
查看>>
cuda编程知识普及
查看>>
2、bootsrap fileinput 文件上传
查看>>
JavaScript Location对象
查看>>
memcached dead but subsys locked
查看>>
玩积木的时间
查看>>
php比较函数
查看>>
java对象--方法重写
查看>>
yun常用命令介绍
查看>>
Struts2文件上传
查看>>