后台服务

7.3 远程服务 7.3.2 服务创建与调用 当数据以Parcel对象的形式传递到远程服务的内部时,onTransact()方法(第27行)将从Parcel对象中逐一的读取每个参数,然后调用Service内部制定的方法,并再将结果写入另一个Parcel对象,准备将这个Parcel对象返回给远程的调用者 Parcel是Android系统中应用程序进程间数据传递的容器,能够在两个进程中完成数据的打包和拆包的工作,但Parcel不同于通用意义上的序列化,Parcel的设计目的是用于高性能IPC传输,因此不能够将Parcel对象保存在任何持久存储设备上 7.3 远程服务 7.3.2 服务创建与调用 通过继承Service类实现远程服务 IMathService.aidl是对远程服务接口的定义,自动生成的IMathService.java内部实现了远程服务数据传递的相关方法,下一步介绍如何实现远程服务 实现远程服务需要建立一个继承android.app.Service的类,并在该类中通过onBind()方法返回IBinder对象,调用者使用返回的IBinder对象访问远程服务 IBinder对象的建立通过使用IMathService.java内部的Stub类实现,并逐一实现在IMathService.aidl接口文件定义的函数。 在RemoteMathServiceDemo示例中,远程服务的

文档评论(0)

1亿VIP精品文档

相关文档