中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第7章 后台服务

第7章后台服务 杨刚 中国人民大学
第7章 后台服务 杨刚 中国人民大学

7.1 Service简介 Service 口Android?系统的服务组件,适用于开发没有用户界面且 长时间在后台运行的应用功能 a b 因为手机硬件性能和屏幕尺寸的限制,通常Android系 统仅允许一个应用程序处于激活状态并显示在手机屏幕 上,而暂停其他处于未激活状态的程序
7.1 Service简介 n Service q Android系统的服务组件,适用于开发没有用户界面且 长时间在后台运行的应用功能 q 因为手机硬件性能和屏幕尺寸的限制,通常Android系 统仅允许一个应用程序处于激活状态并显示在手机屏幕 上,而暂停其他处于未激活状态的程序

7.1 Service简介 Service Android系统需要一种后台服务机制 ■没有用户界面 ■其它应用组件能够启动后台服务 ■当用户切换到另外的应用场景,service能够继续在后台运行 ■一个组件能够绑定到一个service并且与之交互,例如,一个 service可能会处理网络操作,播放音乐,操作文件/O或者与内 容提供者(content provider)交互,但是所有这些活动都是在 后台进行
7.1 Service简介 n Service q Android系统需要一种后台服务机制 n 没有用户界面 n 其它应用组件能够启动后台服务 n 当用户切换到另外的应用场景,service能够继续在后台运行 n 一个组件能够绑定到一个service并且与之交互,例如,一个 service可能会处理网络操作,播放音乐,操作文件I/O或者与内 容提供者(content provider)交互,但是所有这些活动都是在 后台进行

7.1 Service简介 ■Service的优势 口没有用户界面,更加有利于降低系统资源的消耗 Service比Activity具有更高的优先级,因此在系统资源 紧张时,Service不会被Android系统优先终止 口即使Service被系统终止,在系统资源恢复后Service也将 自动恢复运行状态,可以认为Service是在系统中永久运 行的组件 Service除了可以实现后台服务功能,还可以用于进程间 通信(Inter Process Communication,IPC),解决不同 Android应用程序进程之间的调用和通讯问题
7.1 Service简介 n Service的优势 q 没有用户界面,更加有利于降低系统资源的消耗 q Service比Activity具有更高的优先级,因此在系统资源 紧张时,Service不会被Android系统优先终止 q 即使Service被系统终止,在系统资源恢复后Service也将 自动恢复运行状态,可以认为Service是在系统中永久运 行的组件 q Service除了可以实现后台服务功能,还可以用于进程间 通信(Inter Process Communication,IPC),解决不同 Android应用程序进程之间的调用和通讯问题

7.1 Service简介 Servicel的分类 o本地服务(Local Service):用于应用程序内部; 远程服务(Remote Service):用于android系统内部 的应用程序之间。可以定义接口并把接口暴露出来,以 便其他应用进行操作。客户端建立到服务对象的连接, 并通过那个连接来调用服务
7.1 Service简介 n Service的分类 q 本地服务(Local Service ):用于应用程序内部; q 远程服务(Remote Service):用于android系统内部 的应用程序之间。可以定义接口并把接口暴露出来,以 便其他应用进行操作。客户端建立到服务对象的连接, 并通过那个连接来调用服务

7.1 Service简介 ·Service生命周期 ▣onCreate()函数 ■Servicel的生命周期开始,完成Service的初始化工作 口onStart()函数 ·后动线程 onDestroy()函数 ■Servicel的生命周期结束,释放Service所有占用的资源 调用 st art Ser vi ce() on eat e() Ser vi ce Ser vi ce onSt art() 正在运行 被停止 onDest roy() 关闭Ser vi ce 后动Ser vi ce
7.1 Service简介 n Service生命周期 q onCreate()函数 n Service的生命周期开始,完成Service的初始化工作 q onStart() 函数 n 启动线程 q onDestroy() 函数 n Service的生命周期结束,释放Service所有占用的资源 调用 st ar t Ser vi ce( ) 启动 Ser vi ce onCr eat e( ) onSt ar t ( ) Ser vi ce 正在运行 Ser vi ce 被停止 onDest r oy( ) 关闭 Ser vi ce

7.1 Service简介 Service生命周期 口Service生命周期包括 ·完整生命周期从onCreate()开始到onDestroy()结束,在 onCreate()中完成Servicel的初始化工作,在onDestroy()中释 放所有占用的资源 ■活动生命周期从onStart()开始,但没有与之对应的停止” 函数,因此可以粗略的认为活动生命周期是以onDestroy() 标志结束 Service的使用方式一般有两种 口后动方式 口绑定方式
7.1 Service简介 n Service生命周期 q Service生命周期包括 n 完整生命周期从onCreate()开始到onDestroy()结束,在 onCreate()中完成Service的初始化工作,在onDestroy()中释 放所有占用的资源 n 活动生命周期从onStart()开始,但没有与之对应的“停止” 函数,因此可以粗略的认为活动生命周期是以onDestroy() 标志结束 n Service的使用方式一般有两种 q 启动方式 q 绑定方式

Component calls 7.1 Service简介 startService() ·后动方式 onCreate() 口通过调用Context..startService(0后动 Service,通过调用Context..stopService() 或Service.stopSelf)停止Service。因此 onStartCommand( Service一定是由其它的组件启动的 ,但停止过程可以通过其它组件或自 身完成 Service is running Active 口在后动方式中,启动Service的组件不 Lifetime 能够获取到Servicel的对象实例,因此 无法调用Service中的任何函数,也不 The service is stopped by itself or a client 能够获取到Service中的任何状态和数 据信息 口 能够以启动方式使用的Service,需要 具备自管理的能力,而且不需要从通 onDestroy() 过函数调用获取Service的功能和数据 Service is shut down Unbounded
7.1 Service简介 n 启动方式 q 通过调用Context.startService()启动 Service,通过调用Context.stopService() 或Service.stopSelf()停止Service。因此 ,Service一定是由其它的组件启动的 ,但停止过程可以通过其它组件或自 身完成 q 在启动方式中,启动Service的组件不 能够获取到Service的对象实例,因此 无法调用Service中的任何函数,也不 能够获取到Service中的任何状态和数 据信息 q 能够以启动方式使用的Service,需要 具备自管理的能力,而且不需要从通 过函数调用获取Service的功能和数据

Component calls 7.1 Service简介 bindService() 绑定方式 onCreate( Servicel的使用是通过服务链接( Connection)实现的,服务链接能够获取 Servicel的对象实例,因此绑定Servicel的 onBind() 组件可以调用Service中实现的函数,或 直接获取Service中的状态和数据信息 Service is running (clients are o使用Servicel的组件通过 Active bound to it) Context..bindService()建立服务链接,通过 Lifetime All clients unbind by calling Context..unbindService()停止服务链接 unbindService() 0 如果在绑定过程中Service没有后动, Context.bindService()会自动启动Service, onUnbind() 而且同一个Service可以绑定多个服务链 接,这样可以同时为多个不同的组件提 供服务 onDestroy() Service is shut down Bounded
7.1 Service简介 n 绑定方式 q Service的使用是通过服务链接( Connection)实现的,服务链接能够获取 Service的对象实例,因此绑定Service的 组件可以调用Service中实现的函数,或 直接获取Service中的状态和数据信息 q 使用Service的组件通过 Context.bindService()建立服务链接,通过 Context.unbindService()停止服务链接 q 如果在绑定过程中Service没有启动, Context.bindService()会自动启动Service, 而且同一个Service可以绑定多个服务链 接,这样可以同时为多个不同的组件提 供服务

Component calls Component calls startService() bindService() 的 onCreate() onCreate() onStartCommand( onBind() Service is running Service is running (clients are Active bound to it) Lifetime All clients unbind by calling unbindService( The service is stopped by itself or a client onUnbind() onDestroy() onDestroy() Service is Service is shut down shut down Unbounded Bounded
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第8章 数据存储与访问.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第9章 位置服务与地图应用.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第10章 Widget组件开发.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(教案讲义)智能移动平台应用开发教学大纲(主讲:杨刚).pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第8章 数据库技术基础.pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第7章 多媒体技术基础.pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第6章 计算机网络基础.pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第5章 演示文稿制作软件PowerPoint 2010.pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第4章 电子表格处理软件Excel 2010.pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第2章 操作系统基础.pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第3章 文字处理软件Word 2010.pdf
- 长沙理工大学:《大学计算机基础》课程教学资源(课件讲稿)第1章 计算机系统基础.pdf
- 《机器学习》课程教学资源(讲稿)主题模型与层次主题模型(Topic Model and Hierarchical Topic Model).pdf
- 《机器学习》课程教学资源(讲稿)对(文本)聚类中一些问题的讨论(Thinking in Clustering).pdf
- 《机器学习》课程教学资源(讲稿)基于上下文的服务推荐 Context-Aware Service Recommendation.pdf
- 《机器学习》课程教学资源(讲稿)自然语言理解、主题建模与基于NN的语言生成 Natural Language Processing, Topic Modeling and Neural Text Generation.pdf
- 《机器学习》课程教学资源(讲稿)推荐系统入门——任务、特征与方法概述(Recommender System).pdf
- 《机器学习》课程教学资源(讲稿)The Structure of an Academic Paper in CS(for Starters).pdf
- 《机器学习》课程教学资源(讲稿)Academic Paper Writing for Starters.pdf
- 西安电子科技大学:《信息检索》课程教学资源(讲义)文本挖掘中的概率图模型、矩阵方法与变量求解.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)组件通信——消息机制和广播.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第5章 Android组件通信.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第4章 Android用户界面.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)Android应用程序生命周期.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第3章 Android系统框架.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第0章 前言(主讲:杨刚).pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)第1章 Android简介.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)Android系统运行相关.pdf
- 中国人民大学:《移动平台应用开发》课程教学资源(课件讲义)XML简介.pdf
- 私立华联学院:《视频编辑与制作》课程教学资源(教案讲义)教学大纲与课程标准(主讲:崔英敏).pdf
- 《视频编辑与制作》课程教学资源(电子教案)中文版Premiere Pro CC 2018基础培训教程(共九章).pdf
- 江苏省高等学校计算机等级考试大纲(2015年修订,含考试样卷及参考答案).pdf
- 私立华联学院:《html5》课程教学资源(教案讲义)教学大纲.pdf
- 私立华联学院:《html5》课程教学资源(教案讲义)课程标准.pdf
- 私立华联学院:《html5》课程教学资源(教案讲义)电子教案.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第1章 初识HTML5_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第2章 HTML5页面元素及属性_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第3章 CSS3入门_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第4章 CSS3选择器_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第5章 盒子模型_习题.pdf