私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第十章 后台默默的劳动者——探究服务

第十章 后台默默的劳动者一探究服务 主讲:王海
第十章 后台默默的劳动者--探究服务 主讲:王海

Service简介 Service组件表示一种服务,专门用于执行一些持续性的、耗时长的并且无需 与用户界面交互的操作 Service的运行是不可见的,通常用于执行一些无需用户交互,并需要持续运 行的任务 Service拥有独立的生命周期 Service没有界面(最多只能显示一个通知),当Service所对应的应用程序界 面不可见时,Service仍运行于应用程序主线程中 Android系统中提供了大量可以直接调用的系统Service,例如播放音乐、震 动、闹钟、通知栏消息等 Android软件开发 主讲:王海
Android软件开发 主讲:王海 Service简介 • Service组件表示一种服务,专门用于执行一些持续性的、耗时长的并且无需 与用户界面交互的操作 • Service的运行是不可见的,通常用于执行一些无需用户交互,并需要持续运 行的任务 • Service拥有独立的生命周期 • Service没有界面(最多只能显示一个通知),当Service所对应的应用程序界 面不可见时,Service仍运行于应用程序主线程中 • Android系统中提供了大量可以直接调用的系统Service,例如播放音乐、震 动、闹钟、通知栏消息等

Service分类 按照运行的进程不同,可以将Service分为: √本地(Local)Service √远程(Remote)Service 按照运行的形式分为: √前台Service √后台Service ·按照使用Servicel的方式可以分为: √启动(Start)方式Service √绑定(Bind)方式Service √混合方式Service Android软件开发 主讲:王海
Android软件开发 主讲:王海 Service分类 • 按照运行的进程不同,可以将Service分为: 本地(Local)Service 远程(Remote)Service • 按照运行的形式分为: 前台Service 后台Service • 按照使用Service的方式可以分为: 启动(Start)方式Service 绑定(Bind)方式Service 混合方式Service

创建Servicel的步骤 ①通过继承Service的方式来定义一个Servicel的子类 ②在应用程序的AndroidManifest.xml中配置Services组件 Android软件开发 主讲王海
Android软件开发 主讲:王海 创建Service的步骤 ①通过继承Service的方式来定义一个Service的子类 ②在应用程序的AndroidManifest.xml中配置Service组件

编写Service类 【语法】public abstract IBinder onBind(Intent intent); 【案例8-l】MyService1.java //一个空的Service.示例 public class MyServicel extends Service @Override public IBinder onBind(Intent intent){ return null; Android软件开发 主讲:王海
Android软件开发 主讲:王海 编写Service类 • 【语法】 • 【案例8- 1】MyService1.java public abstract IBinder onBind(Intent intent); // 一个空的Service示例 public class MyService1 extends Service { @Override public IBinder onBind(Intent intent) { return null; } }

配置Service 在AndroidManifest..xml中,每个Service组件都需要在元素的一个 子元素中进行配置 Android软件开发 主讲:王海
Android软件开发 主讲:王海 配置Service • 在AndroidManifest.xml中,每个Service组件都需要在元素的一个 子元素中进行配置

启动Service 启动Service7有Start和Bind两种方式 Intent intent new Intent(this,MyServicel.class); startService(intent); Android软件开发 主讲:王海
Android软件开发 主讲:王海 启动Service • 启动Service有Start和Bind两种方式 Intent intent = new Intent(this, MyService1.class); startService(intent);

Service生命周期回调方法 方法 功能描述 onCreate() 用于创建Service组件 onStartCommand(Intent intent,int flags,,int通过Start方式启动Service时调用 started) onBind(Intent intent) 通过Bind方式启动Service onUnbind(Intent intent) 通过Bind方式取消Service绑定 onRebind(Intent intent) 通过Bind方式重新绑定Service onDestroy() 用于销毁Service Android软件开发 主讲:王海
Android软件开发 主讲:王海 Service生命周期回调方法 方法 功能描述 onCreate() 用于创建Service组件 onStartCommand(Intent intent, int flags, int started) 通过Start方式启动Service时调用 onBind(Intent intent) 通过Bind方式启动Service onUnbind(Intent intent) 通过Bind方式取消Service绑定 onRebind(Intent intent) 通过Bind方式重新绑定Service onDestroy() 用于销毁Service

Start方式启动Service 调用 startService() onCreate() onStartCommand() 活动期 Service运行中 服务被自身或 客户端停止 onDestroy() Service停止 Android软件开发 主讲:王海
Android软件开发 主讲:王海 Start方式启动Service 调用 startService() onCreate() onStartCommand() Service运行中 服务被自身或 客户端停止 onDestroy() Service停止 活动期

Bind方式启动Service 调用 bindService() onBind() 客户蝴绑定至 Service 活动期 所有的客户增通过调用 unbindService()解除绑定 onUnBind( onDestroy() Service停止 Android软件开发 主讲:王海
Android软件开发 主讲:王海 Bind方式启动Service 调用 bindService() onCreate() onBind() 客户端绑定至 Service onDestroy() Service停止 活动期 onUnBind() 所有的客户端通过调用 unbindService()解除绑定
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第九章 看看精彩的世界——使用网络技术.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第八章 丰富你的程序——运用手机多媒体.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第七章 跨程序共享数据——探究内容提供器.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第六章 数据存储全方案——详解持久化技术.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第五章 全局大喇叭——详解广播机制.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第四章 手机平板要兼顾——探究碎片.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第三章 软件开发也要拼脸蛋——UI开发的点点滴滴.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第二章 先从看得到的入手——探究活动.pdf
- 私立华联学院:《Android软件开发》课程电子教案(课件讲稿)第一章 开始启程——你的第一行android代码(负责人:王海).pdf
- 《Oracle数据库》课程教学资源(PPT课件讲稿)视图.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)表空间应用.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)约束.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)用户管理.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)数据库一致性与事务管理.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)序列.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)创建数据库.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)SQL查询.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)SQL更新数据.ppt
- 《Oracle数据库》课程教学资源(PPT课件讲稿)Oralce数据库与数据表.ppt
- 《Oracle数据库》课程教学资源(试卷习题)练习和解答(Oracle Database 11g).pdf
- 中国人民大学:《人工智能》课程教学资源(作业摘选)人工智能课程总结.pdf
- 中国人民大学:《人工智能》课程教学资源(作业摘选)SCIgen生成文献的检测方案.pdf
- 《人工智能》课程教学资源(参考资料)基于Jupyter Notebook的Tensorflow深度学习教程.pdf
- 南京农业大学:《Web 应用系统开发》课程教学大纲.pdf
- 南京农业大学:《软件工程》课程教学大纲.pdf
- 南京农业大学:《面向对象程序设计实验》课程教学大纲.pdf
- 南京农业大学:《数据库系统原理实验》课程教学大纲.pdf
- 南京农业大学:《数据结构实验》课程教学大纲.pdf
- 南京农业大学:《数据库系统原理》课程教学大纲.pdf
- 上海海洋大学:信息学院各专业课程教学大纲(汇编).pdf
- 西安电子科技大学:计算机软件开发模式和工具与标准发展历程(主讲:徐悦甡).pdf
- 西安电子科技大学:《构件与中间件技术》课程教学资源(课件讲稿)第一部分 软件构件与中间件(主讲:徐悦甡).pdf
- 西安电子科技大学:《构件与中间件技术》课程教学资源(课件讲稿)第二部分 Java EE与EJB 2.2 Java Web工程.pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)文本聚类(Text Clustering).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)语义网(Semantic Web).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)课程回顾与复习(主讲:徐悦甡).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)文本分类(Text Classification).pdf
- 西安电子科技大学:《信息检索》课程教学资源(课件讲稿)推荐系统(Recommender System).pdf
- 西安电子科技大学:《并行计算》课程教学资源(课件讲稿)课程概述 Parallel Computing(主讲:徐悦甡).pdf
- 西安电子科技大学:《并行计算》课程教学资源(课件讲稿)并行计算机系统结构模型(第一部分,含第一次作业).pdf