Android AIDL 使用示例

介绍:

AIDL 即   Android Interface Definition Language

使用:

1.新建.aidl文件

Android AIDL 使用示例
1 //AIDL 文件所在的包
2 package com.houny.demo_aidl.aidl;
3 
4 //接口名必须和AIDL文件名一致
5 interface ISay{
6     boolean Say();
7     boolean SayInt(int i);
8     boolean SayString(String str);
9 }
Android AIDL 使用示例

2.新建Service,并在Mainfirst.xml里注册

Android AIDL 使用示例
 1 public class BackgroundService extends Service{
 2 
 3      /**
 4      * 通过这种方式实现AIDL里定义的接口
 5      */
 6      ISay.Stub say = new ISay.Stub() {
 7           
 8           //实现接口的方法
 9          // ...
10           
11      };
12      
13 
14      @Override
15      public IBinder onBind(Intent intent) {
16           //把那个接口对象返回出去
17           return say;
18      }
19 
20      //...
21 }
Android AIDL 使用示例
1  <service android:name=".service.BackgroundService"/>

3.在Activity或Fragment里绑定Service

Android AIDL 使用示例
 1     private void initAIDL() {
 2         //初始化ServiceConnection,并实现回调方法
 3         serviceConnection= new ServiceConnection() {
 4             
 5             @Override
 6             public void onServiceDisconnected(ComponentName name) {
 7                 say = null;
 8             }
 9             
10             @Override
11             public void onServiceConnected(ComponentName name, IBinder service) {
12                 //当Service绑定成功后会通过回调执行这个方法
13                 say = ISay.Stub.asInterface(service);
14             }
15         };
16     }
Android AIDL 使用示例
    private void startService() {
        Intent intent = new Intent(MainActivity.this, BackgroundService.class);
        this.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
        this.startService(intent);
    }

4.使用接口定义的方法

try {
    say.SayString("Hello");
} catch (Exception e) {
    e.printStackTrace();
}

5.高级使用请参考 这个博文  @Copyright liuhe688

 

我介绍的这个基本使用示例的代码等我知道怎么上传附件的时候再上传吧

-------------------------------------------------------------------------

Change 2014-5-5 15:55:34  上传附件   点击下载

Android AIDL 使用示例,布布扣,bubuko.com

Android AIDL 使用示例

上一篇:Android Xmpp协议讲解


下一篇:android Bitmap用法总结