《安卓系统Android应用程序开发PPT教材_第7章后台服务(14).ppt》由会员分享,可在线阅读,更多相关《安卓系统Android应用程序开发PPT教材_第7章后台服务(14).ppt(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、7.3 远程服务n7.3.2 服务创建与调用q下面以RemoteMathServiceDemo示例为参考,说明如何创建跨进程服务q在这个示例中,仅定义了MathService服务,可以为远程调用者提供加法服务q使用AIDL语言定义跨进程服务的接口n首先使用AIDL语言定义的MathService的服务接口,文件名为IMathService.aidlnIMathService接口仅包含一个add()方法,传入的参数是两个长型整数,返回值也是长型整数1.package edu.hrbeu.RemoteMathServiceDemo;interface IMathService 1.long Add
2、(long a,long b);7.3 远程服务n7.3.2 服务创建与调用q使用AIDL语言定义跨进程服务的接口n如果使用Eclipse编辑IMathService.aidl文件,当用户保存文件后,ADT会自动在/gen目录下生成IMathService.java文件n右图是IMathService.java文件结构7.3 远程服务n7.3.2 服务创建与调用q使用AIDL语言定义跨进程服务的接口nIMathService.java文件根据IMathService.aidl的定义,生成了一个内部静态抽象类Stub,Stub继承了Binder类,并实现ImathService接口n在Stub类
3、中,还包含一个重要的静态类Proxy。如果认为Stub类实现进程内服务调用,那么Proxy类则是用来实现跨进程服务调用的,将Proxy作为Stub的内部类完全是出于使用方便的目的7.3 远程服务n7.3.2 服务创建与调用q使用AIDL语言定义跨进程服务的接口nStub类和Proxy类关系图http:/www.anzhuo.cc/forum-58-1.html 安卓HTC One X论坛 7.3 远程服务n7.3.2 服务创建与调用qIMathService.java的完整代码1.package edu.hrbeu.RemoteMathServiceDemo;import java.lang.
4、String;1.import android.os.RemoteException;import android.os.IBinder;import android.os.IInterface;1.import android.os.Binder;import android.os.Parcel;1.public interface IMathService extends android.os.IInterface2./*Local-side IPC implementation stub class.*/public static abstract class Stub extends
5、android.os.Binder implements edu.hrbeu.RemoteMathServiceDemo.IMathService1.private static final java.lang.String DESCRIPTOR=edu.hrbeu.RemoteMathServiceDemo.IMathService;/*Construct the stub at attach it to the interface.*/public Stub()1.this.attachInterface(this,DESCRIPTOR);7.3 远程服务n7.3.2 服务创建与调用16.
6、/*17.*Cast an IBinder object into an IMathService interface,18.*generating a proxy if needed.19.*/20.public static edu.hrbeu.RemoteMathServiceDemo.IMathService asInterface(android.os.IBinder obj)21.if(obj=null)22.return null;23.24.android.os.IInterface iin=(android.os.IInterface)obj.queryLocalInterf
7、ace(DESCRIPTOR);25.if(iin!=null)&(iin instanceof edu.hrbeu.RemoteMathServiceDemo.IMathService)26.return(edu.hrbeu.RemoteMathServiceDemo.IMathService)iin);27.28.return new edu.hrbeu.RemoteMathServiceDemo.IMathService.Stub.Proxy(obj);29.30.public android.os.IBinder asBinder()31.return this;32.1-7Andro
8、id游戏开发游戏的策划 接下来对本游戏的策划进行简单介绍,在真实的游戏开发中,该步骤还需要更细致、更具体、更全面,该游戏的策划如下所列。游戏类型运行的目标平台 操作方式1-8Android游戏开发开发前准备工作游戏的准备工作主要是在进行开发之前的非代码方面的准备工作,主要包括以下两个方面。图片资源的准备工作声音资源的准备工作1-9Android游戏开发游戏的架构在正式代码的开发之前,首先对该游戏的设计框架进行简要介绍,以帮助读者更好的理解后面的内容。1-10Android游戏开发游戏的类框架http:/www.anzhuo.cc/forum-49-1.html 安卓三星安卓三星I9300论坛论坛