1)一个定义好的service必须在AndroidManifest.xml中通过<service>元素声明才能使用。 2)为了实现进程间的相互通信,Android采用了一种轻量级的实现方式RPC(Remote Procedure Call, 远程进程调用)来完成。并且Android通过接口定义语言(Android Interface Definition Language,AIDL)来生成两个进程间相互访问的代码。 3)在AIDL文件中可以声明任意多个方法,方法可以带参数也可以有返回值,参数和返回值可以是任意类 型。但注意除了java原始类型、String、List、Map和CharSequce不需要导入,其他任何类型即使在同一 个包中都需要导入。 4)AIDL文件的内容与java代码非常相似,但不能加修饰符(如private)、AIDL服务不支持的数据类型 (如InputStream、OutputStream)等内容。在所在包下直接创建AIDL文件。若该文件的内容正确,ADT (刷新一下)会自动生成一个同名的java文件。
定义一个MyService类时,是继承Service类。
开启服务/关闭服务步骤:
1.定义一个Intent。
2.设置这个Intent的Action。
3.调用startService()/stopService() 方法。
绑定/释放一个服务步骤:
1.定义一个 ServiceConnection类的conn,这个参数对后面有用。它必须实现onServiceConnected(ComponentName arg0, IBinder arg1) 和onServiceDisconnected(ComponentName arg0)这两个方法。
2.定义一个Intent。
3.设置这个Intent的Action。
4.调用bindService()/unbindService()方法。 (conn将作为一个参数传递给这两个方法) |
|