Android 开发 Service讲解
学习要求:对ECLISPE中开发ANDROID有一定的认识。
Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService()和context.bindService()。需要在androidMainfest.xml中注册才能使用。调用流程如下:
context.startService()---->onCreate()- >onStartCommand()(旧版本为:onStart(),如果Service还没有运行,则android先调用onCreate()然后调用onStartCommand();如果Service已经运行,则只调用onStartCommand(),所以一个Service的onStartComand方法可能会重复调用多次)
context.stopService()---->onDestroy()
context. bindService ---->onCreate()->onBind()(onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其他操作。这个时候把调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Srevice就会调用onUnbind->onDestroy 相应退出。
onUnbind()---->onDestroy()
现在以startService()开始介绍其开发过程,bindService()差不多。
1.在layout文件夹中新建一个servicetest.xml(系统不能识别大写
字母),添加两个按钮代码,界面如下:
添加代码如下: