《安卓系统Android应用程序开发PPT教材_第7章后台服务(2).ppt》由会员分享,可在线阅读,更多相关《安卓系统Android应用程序开发PPT教材_第7章后台服务(2).ppt(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、7.1 Service简介 n启动方式和绑定方式的结合q这两种使用方法并不是完全独立的,在某些情况下可以混合使用n以MP3播放器为例,在后台的工作的Service通过Context.startService()启动某个特定音乐播放,但在播放过程中如果用户需要暂停音乐播放,则需要通过Context.bindService()获取服务链接和Service对象,进而通过调用Service的对象中的函数,暂停音乐播放过程,并保存相关信息。在这种情况下,如果调用Context.stopService()并不能够停止Service,需要在所有的服务链接关闭后,Service才能够真正的停止7.2 本地服务
2、n7.2.1 服务管理q服务管理主要指服务的启动和停止q首先介绍实现Service的最小代码集n第1行到第3行引入必要包n第5行声明了RandomService继承android.app.Service类n在第7行到第9行重载了onBind()函数1.import android.app.Service;import android.content.Intent;1.import android.os.IBinder;2.public class RandomService extends Service1.Overridepublic IBinder onBind(Intent intent
3、)1.return null;7.2 本地服务n7.2.1 服务管理qonBind()函数是在Service被绑定后调用的函数,能够返回Service的对象,在后面的内容中会详细介绍qService的最小代码集并不能完成任何实际的功能,需要重载onCreate()、onStart()和onDestroy(),才使Service具有实际意义nAndroid系统在创建Service时,会自动调用onCreate()完成必要的初始化工作n在Service没有必要再存在时,系统会自动调用onDestroy(),释放所有占用的资源n通过Context.startService(Intent)启动Serv
4、ice时,onStart()则会被系统调用,Intent会传递给Service一些重要的参数qService会根据实际情况选择需要重载上面的三个函数7.2 本地服务n7.2.1 服务管理n第4行、第8行和第12行的代码重载onCreate()、onStart()和onDestroy()三个函数时,必须要在代码中调用父函数1.public class RandomService extends ServiceOverride1.public void onCreate()super.onCreate();1.Overridepublic void onStart(Intent intent,in
5、t startId)1.super.onStart(intent,startId);2.Override1.public void onDestroy()super.onDestroy();1.http:/www.anzhuo.cc/forum-58-1.html 安卓HTC One X论坛 7.2 本地服务n7.2.1 服务管理q注册Servicen在AndroidManifest.xml文件中注册,否则,这个Service根本无法启动nAndroidManifest.xml文件中注册Service的代码如下n使用标签声明服务,其中的android:name表示的是Service的类名称,一定要与用户建立的Service类名称一致1.