android编写aidl的步骤



1.编写aidl文件

2.编写自己的Service

3.在自己的Service的onBind方法中,将aidl文件生成的类中的Stud的子类返回(需要继承Stud重写接口方法)
 
4.在AndroidManifest.xml中配置你的Service类,示例
注意:service android:name="com.aidl.SerachService"中,android:name属性必须填写你的Service的名字,包括包名,不能写aidl生成的类的名字,因为那不是个Service

 

 

<service android:name="com.aidl.SerachService" android:enabled="true"> 
    <intent-filter> 
        <action android:name="com.aidl.ISerachService" /> 
    </intent-filter> 
</service> 





1.编写调用aidl服务的客户端

2.把之前编写的aidl文件(注意不是生成的java文件)和它的包目录拷贝到客户端的src目录中

 

 

 

 

3.在需要的地方用一下方法绑定,new Intent构造器中的action填写的就是之前<action android:name="com.aidl.ISerachService" />中的android:name的字符串

Intent serviceIntent = new Intent("com.aidl.ISerachService");
bindService(serviceIntent, conn, Context.BIND_AUTO_CREATE);

  

 

学习Android AIDL编写,可以参考以下步骤: 1. 定义AIDL接口文件:在Android Studio中创建一个新的AIDL文件,定义接口名称和方法,例如: ``` interface IMyAidlInterface { void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, String aString); } ``` 2. 实现AIDL接口:创建一个Service并实现定义的AIDL接口,例如: ``` public class MyAidlService extends Service { private final IMyAidlInterface.Stub mBinder = new IMyAidlInterface.Stub() { @Override public void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, String aString) { // 实现接口方法 } }; @Nullable @Override public IBinder onBind(Intent intent) { return mBinder; } } ``` 3. 绑定AIDL服务:在客户端中绑定AIDL服务,例如: ``` private ServiceConnection mConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { // 获取AIDL接口实例 IMyAidlInterface myAidlInterface = IMyAidlInterface.Stub.asInterface(service); try { // 调用AIDL接口方法 myAidlInterface.basicTypes(1, 2, true, 1.0f, 2.0, "test"); } catch (RemoteException e) { e.printStackTrace(); } } @Override public void onServiceDisconnected(ComponentName name) { } }; Intent intent = new Intent(); intent.setComponent(new ComponentName("com.example.myapp", "com.example.myapp.MyAidlService")); bindService(intent, mConnection, BIND_AUTO_CREATE); ``` 这些步骤可以帮助您开始学习Android AIDL编写。当然,还有更多高级的功能和用法,可以在进一步学习中探索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值