001安卓AIDL学习记录

来源:互联网 发布:农业资源与环境知乎 编辑:程序博客网 时间:2024/06/01 23:43

安卓的学习记录1,Stub.asInterface的内容是binder
1、AIDL文件创建
第一步:创建aidl,创建完成后会自动生产IMyService这个接口,这个接口的实现是下面的格式,文件的后缀名为AIDL,文件的全名为:IMyService.aidl
package net.blogjava.mobile.aidl;
interface IMyService
{
String getValue();
}
改aidl实现最简单的获取一个字符串数据,处理函数为getValue函数;
IMyService.aidl这个文件只是完成一个接口的描述,接口中的函数具体的实现由MyService.java实现

2、service文件创建
MyService.java的源码如下图所示:
package net.blogjava.mobile.aidl;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;

public class MyService extends Service
{
public class MyServiceImpl extends IMyService.Stub
{
@Override
public String getValue() throws RemoteException
{
// TODO Auto-generated method stub
return “Android/OPhone开发讲义akui_kuikui_kui”;
}

}
@Override
public IBinder onBind(Intent intent)
{
return new MyServiceImpl();
}
}
MyService中的子类MyServiceImpl的实现是继承了IMyService.Stub类,该子类的就是需要实现aidl中的getstring函数的具体的实现函数;

3、aidl调用过程
使用bindService函数进行service的绑定,将service绑定到具体的connection上去

0 0
原创粉丝点击